Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: Karcrack en 11 Mayo 2012, 00:21 am



Título: [ASM-HACK] Leyendo el PEB sin molestar AVs {2 métodos}
Publicado por: Karcrack en 11 Mayo 2012, 00:21 am
La forma de leer el PEB habitual junto con otros factores hacía que los AVs detectasen mi binario... así pues busqué formas diferentes de leer el PEB, y esta me ha gustado especialmente. Muy ofuscada.

[FASM]
Código
  1.   push $30     ;v
  2.   pop  ebx     ;>EBX = 0x30
  3.   mov  cl, 4   ;>CL  = 4
  4.  
  5. @@:mov  al, cl  ;>AL  = CL        <<<
  6.   db   $64     ;v                  ^
  7.   xlatb        ;>AL  = FS:[EBX+AL] ^
  8.   shl  eax, 8  ;>EAX <<= 8         ^
  9.   loop @B      ;>>>>>>>>>>>>>>>>>>>^ (--ECX>0)?

Está comentado para que haya la mínima duda posible. Cualquier cosa preguntad.




Añado este code que es un byte más ligero que el método habitual:
Código
  1.        push $30
  2.        pop  esi
  3.        db $64
  4.        lodsd
Saludos.


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs
Publicado por: SEL1 en 15 Mayo 2012, 17:11 pm
Interesante uso de XLAT... aunque los procesadores siguen soportando la instruction, y es rara vez utilizada (por lo menos ahora los compiladores ya no la generan). :)


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs
Publicado por: hacker83 en 21 Mayo 2012, 11:42 am
busque y trata de leer el PEB desde C++ solo para obtener ni APPNAME.
y no lo logre, no tengo los conocimientos suficientes de asm como para entender como lo haces en asm y asi pasarlo a C.
serias tan amable de dar un ejemplo ? asi lo estudio ya que estoy interesado en aprender ASM. pero quiero dar por hecho eso de leer el process block environment de mi APP en C-


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs
Publicado por: Karcrack en 23 Mayo 2012, 01:04 am
Código
  1. xor eax, eax
  2. mov eax, [FS:EAX+$30]

Esta sería la forma normal de leer el puntero al PEB en ASM, ahora tendrías que sacar RTL_USER_PROCESS_PARAMETERS desde el PEB y luego a ImagePathName y ahí ya parsear el nombre de tu ejecutable...


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs
Publicado por: karmany en 23 Mayo 2012, 01:42 am
Solo me conecté hoy para darte las gracias por ese código. ¡Qué interesante!


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs
Publicado por: Karcrack en 23 Mayo 2012, 02:01 am
Un honor Karmany, me alegro que te haya gustado :)


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs
Publicado por: MCKSys Argentina en 24 Mayo 2012, 19:50 pm
Muy bueno!

Ahora, pregunto: el byte 64h... para que es? para el loop?


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs
Publicado por: Karcrack en 24 Mayo 2012, 20:50 pm
Es el identificador del registro FS. Si lo pones delante de algunas instrucciones éstas en lugar de acceder a DS como lo harían de forma habitual acceden a FS  :)

Edit:Añado otra alternativa.


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs {2 métodos}
Publicado por: [Zero] en 25 Mayo 2012, 12:25 pm
Añado este code que es un byte más ligero que el método habitual:
Código
  1.        push $30
  2.        pop  esi
  3.        db $64
  4.        lodsd
Saludos.


Crack :P .


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs {2 métodos}
Publicado por: tena en 25 Mayo 2012, 13:08 pm
Muy Bueno. Si señor!
Gracias por compartir.

slds


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs {2 métodos}
Publicado por: jackgris en 25 Mayo 2012, 14:18 pm
Gracias por compartir esto Karcrack


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs {2 métodos}
Publicado por: Maurice_Lupin en 29 Mayo 2012, 21:41 pm
Si realmente funciona sin ser detectado por los AVs  ;-) ahora me toca implementarlo en C#  :-(.

Lo has probado en virusTotal?

Saludos.


Título: Re: [ASM-HACK] Leyendo el PEB sin molestar AVs {2 métodos}
Publicado por: Иōҳ en 29 Mayo 2012, 22:41 pm
Si lo ponen en virustotal, será mandado a todos los AVs como muestra, igual al hacerlo público también está el riesgo, pero bue...

Nox.