Test Foro de elhacker.net SMF 2.1

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 (asm) [Seleccionar]
  push $30     ;v
  pop  ebx     ;>EBX = 0x30
  mov  cl, 4   ;>CL  = 4

@@:mov  al, cl  ;>AL  = CL        <<<
  db   $64     ;v                  ^
  xlatb        ;>AL  = FS:[EBX+AL] ^
  shl  eax, 8  ;>EAX <<= 8         ^
  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 (asm) [Seleccionar]
       push $30
       pop  esi
       db $64
       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 (asm) [Seleccionar]
xor eax, eax
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
Cita de: Karcrack en 11 Mayo 2012, 00:21 AM
Añado este code que es un byte más ligero que el método habitual:
Código (asm) [Seleccionar]
       push $30
       pop  esi
       db $64
       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.