elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Mostrar librerias cargadas en programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 4 5 Ir Abajo Respuesta Imprimir
Autor Tema: Mostrar librerias cargadas en programa  (Leído 23,463 veces)
Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #10 en: 24 Abril 2014, 19:35 pm »

Citar
Si, eso esta mas enfocado para las shellcode´s, ya que asi se "juega" mas con otros opcodes y no salta a la vista tan rapido, de poder puedes usar hasta la FPU.

Pero simplemente comente, porque no tiene ningun sentido hacer todo lo que te indique antes, es hasta estupido, sin ofender.

Un saludo.

P.D: Segun estoy viendo, estas enserio con el malware.

No hay ofensa ninguna,, tranqui.. lo que estoy intentando hacer es detectar si el programa esta en la sandbox,, y que AV lo esta analizando.. hay otras formas si, pero por ahora son solo pruebas,, y de paso practico un poco ASM  ;)

Con respecto al malware,, si, casi todo lo que hago esta orientado a eso.. aunque después no lo use para nada.. es la guerra constante que tengo con los AV jeje
Tengo la ilusion de algun dia hacer un malware que se destaque..  :-X

Saludosss!!


En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #11 en: 24 Abril 2014, 20:09 pm »

No hay ofensa ninguna,, tranqui.. lo que estoy intentando hacer es detectar si el programa esta en la sandbox,, y que AV lo esta analizando.. hay otras formas si, pero por ahora son solo pruebas,, y de paso practico un poco ASM  ;)

Con respecto al malware,, si, casi todo lo que hago esta orientado a eso.. aunque después no lo use para nada.. es la guerra constante que tengo con los AV jeje
Tengo la ilusion de algun dia hacer un malware que se destaque..  :-X

Saludosss!!
Tendras que depurar el nucleo del Antivirus que por lo general en un driver para kernel.
Los Antivirus no funcionan de igual manera como Sandboxie por ejemplo, que simplemente se puede detectar si se esta dentro de la
'sandbox'  con la detección de un posible modulo cargado. En los Antivirus que implementan una sandbox o más bien una VM el código
es emulado y si llegasen a cargan algún modulo dentro de el espacio de memoria del proceso este no seria visible en la lista ya que seria
sólo cargado en la emulación, nota la diferencia entre los modulos que se podrian cargan en la emulacion y otros posibles modulos para
otros propositos, se tendria que depurar como dije. Otros simplemente emulan el código y el entorno emulado es bien limitado y son bien
faciles de saltarse.

En Kaspersky se implementa una VM y emula el código dentro antes de ejecutarlo en el verdadero entorno, esta en klif.sys. Claro que
esta tecnologia se sus ventajas y desventajas.


En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #12 en: 24 Abril 2014, 20:39 pm »

Citar
En los Antivirus que implementan una sandbox o más bien una VM el código
es emulado y si llegasen a cargan algún modulo dentro de el espacio de memoria del proceso este no seria visible en la lista ya que seria
sólo cargado en la emulación

Pero que sea cargado solo en la emulación dice bastante! Dice todo lo que necesito saber para ser mas exacto,, si ese modulo esta cargado,, esta en sandbox y cierro la app.. no?
De echo, noto la carga de un modulo cuando lo emula el sandbox, tendría que estar seguro para confirmar que sea por el sandbox, no he tenido tiempo aun.. pero si llega a ser eso pongo el modulo..

Citar
Tendras que depurar el nucleo del Antivirus que por lo general en un driver para kernel.

No lo dudo.. técnicas avanzadas requieren métodos complejos  :D, tendría que aprender a usar windbg..

Citar
Otros simplemente emulan el código y el entorno emulado es bien limitado y son bien
faciles de saltarse.

De saltarse en que sentido? Creo que hay una discusión importante por ahi en el foro sobre "saltarse" el sandbox,, creo que hasta donde se puede llegar es, detectar el sandbox y cerrarse.. o hay algo que me estoy perdiendo?

Saludos!!
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #13 en: 24 Abril 2014, 21:00 pm »

Pero que sea cargado solo en la emulación dice bastante! Dice todo lo que necesito saber para ser mas exacto,, si ese modulo esta cargado,, esta en sandbox y cierro la app.. no?
Correcto.

De saltarse en que sentido? Creo que hay una discusión importante por ahi en el foro sobre "saltarse" el sandbox,, creo que hasta donde se puede llegar es, detectar el sandbox y cerrarse.. o hay algo que me estoy perdiendo?

Saludos!!
Cuando me refiero a saltarse la emulación es evitar que se continue analizando el código en busca de malware y me refiero
a 'saltarse' porque algunos antivirus simplemente tiene un emulador de código como su super protección.
Qué discusión?
En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #14 en: 24 Abril 2014, 21:23 pm »

Citar
Qué discusión?

Acá mira.. se armo un relajo bárbaro haha

Citar

Saludos!
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #15 en: 24 Abril 2014, 21:45 pm »

Acá mira.. se armo un relajo bárbaro haha

Saludos!

Voto por Buster_BSA el es un usuario con un gran conocimiento conocido en varios foros también.
Pero sí, es posible 'salirse' de la sandbox si se encuentra una vulnerabilidad.
En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #16 en: 24 Abril 2014, 21:58 pm »

Citar
Voto por Buster_BSA el es un usuario con un gran conocimiento conocido en varios foros también.
Pero sí, es posible 'salirse' de la sandbox si se encuentra una vulnerabilidad.

Jajaja si,, no hay un punto definitivo.. yo también creo que se podría encontrar un bug,, pero hay que romperse el c.. raneo, y encontrarlo.. uff.. se podría aprovechar muy bien..  :silbar:
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #17 en: 24 Abril 2014, 23:18 pm »

@Vaagish: Mira este código para detectar los sandbox maluchos que inyectan DLL: (FASM)
Código
  1. include 'win32ax.inc'
  2.  
  3. ; MACROS
  4.  
  5. macro hash name,[string]{
  6.   local ..hash, ..len, ..chr
  7.   virtual at 0
  8.      db string
  9.      ..len  = $
  10.      ..hash = 0
  11.      repeat ..len
  12.         load ..chr byte from % - 1
  13.         ..hash = ..hash + ..chr
  14.         ..hash = ..hash xor (((..chr shl 7) and $FFFFFFFF) or (..chr shr (25)))
  15.      end repeat
  16.   end virtual
  17.   name#.h = ..hash
  18. }
  19. struc dw [arr]{
  20.   common
  21.      . dw arr
  22.      .c = ($ - .) / 2
  23. }
  24.  
  25. ; GLOBAL
  26.  
  27. hash sandboxie, 'sbiedll.dll'
  28. hash avast32,   'snxhk.dll'
  29. hash avast64,   'snxhk64.dll'
  30. hash comodo32,  'guard32.dll'
  31. hash comodo64,  'guard64.dll'
  32.  
  33. ; CODE
  34.  
  35. blacklist_loaded:
  36.   call push_hashArr
  37.   hashArr dw sandboxie.h, avast32.h, avast64.h, comodo32.h, comodo64.h
  38.  
  39. push_hashArr:
  40.   push $30
  41.   pop  esi
  42.   lods dword[fs:esi]
  43.   mov  edx, [eax+$0C]
  44.   mov  edx, [edx+$1C]
  45.   xor  eax, eax
  46. nm:xor  ebx, ebx
  47.   mov  esi, dword[edx+$20]
  48.   test esi, esi
  49.   mov  edx, [edx]
  50. jz     en
  51. re:lodsw
  52.   test eax, eax
  53. jz     fn
  54.   or   eax, 0x20
  55.   add  ebx, eax
  56.   rol  eax, 7
  57.   xor  ebx, eax
  58. jmp    re
  59. fn:push hashArr.c
  60.   pop  ecx
  61.   mov  esi, [esp]
  62. nx:lodsw
  63.   cmp  eax, ebx
  64. loopne nx
  65. jecxz  nm
  66. en:mov  eax, ecx
  67.   pop  edi
  68.   ret
  69.  
  70. main:
  71.   call blacklist_loaded
  72. .end main
(POST ORIGINAL)
Un poco caótico, lo hice en el metro de camino a casa :laugh: Si necesitas algún comentario dímelo :)

@x64Core: Yo voto por mí ;D ¿No has visto los últimos enlaces del tema? El último argumento de Buster_BSA es que si existiesen vulnerabilidades de ese tipo valdrían millones; las hay. Y seguro que con suficientes contactos podrías encontrar un 0day por ahí que te permitiese elevación de privilegios local en la máquina invitado en VirtualBox y Windows XP :silbar:

@cpu2: Si lo hacía con lodsd doy por hecho que es para ahorra unos cuantos bytes...
« Última modificación: 24 Abril 2014, 23:21 pm por Karcrack » En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #18 en: 25 Abril 2014, 00:02 am »

Me había matado escribiendo para que se cerrara la session..  >:(

Citar
@Vaagish: Mira este código para detectar los sandbox maluchos que inyectan DLL: (FASM)

Excelente! Eso es lo que quiero implementar,, lo voy a intentar en masm, que es en el que yo aprendo,, así practico ;)

Citar
Un poco caótico, lo hice en el metro de camino a casa :laugh: Si necesitas algún comentario dímelo :)

La idea la capto, el codigo no tanto, porque hay cosas de fasm que me marean, pero lo voy a intentar, si preciso algo puntual te aviso ;)

Citar
Código
  1. hash sandboxie, 'sbiedll.dll'
  2. hash avast32,   'snxhk.dll'
  3. hash avast64,   'snxhk64.dll'
  4. hash comodo32,  'guard32.dll'
  5. hash comodo64,  'guard64.dll'

Estas lineas me van a facilitar bastante jeje, me imagino que dio trabajo pasar por todos los av para saber cuales módulos carga cada uno.. Lo flojo de este metodo es que el dia de mañana podrian cambiar los nombres de las dll's, o dejar de inyectarlas.. que de echo:

Para que cargaran esas dll's? Si el proceso ya se encuentra en un lugar controlado..



Citar
Yo voto por mí ;D ¿No has visto los últimos enlaces del tema? El último argumento de Buster_BSA es que si existiesen vulnerabilidades de ese tipo valdrían millones; las hay. Y seguro que con suficientes contactos podrías encontrar un 0day por ahí que te permitiese elevación de privilegios local en la máquina invitado en VirtualBox y Windows XP :silbar:

Si hay millones en juego, mejor hacemos un grupo de investigación??? jeje
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: Mostrar librerias cargadas en programa
« Respuesta #19 en: 25 Abril 2014, 00:16 am »

Si hay millones en juego, mejor hacemos un grupo de investigación??? jeje
Realmente no valen millones :P. Buster_BSA se inventó la cifra :xD

La idea la capto, el codigo no tanto, porque hay cosas de fasm que me marean, pero lo voy a intentar, si preciso algo puntual te aviso ;)
Hay mucho macro para generar constantes en tiempo de ensamblado. Si lo ensamblas verás que no hay cadenas de texto. Se generan los hashes y luego se comparan de la lista de librerías cargadas.

Para que cargaran esas dll's? Si el proceso ya se encuentra en un lugar controlado..
Cuanto menos tiempo de kernel gaste el antivirus más fluido irá el sistema. Se intentan delegar las tareas menos cruciales a usermode por cuestiones de optimización. También un crasheo de la DLL (p.e intencionado para saltarse la protección :silbar:) estaría localizado en el proceso y no reventaría todo el motor del antivirus o el SO.

Estas lineas me van a facilitar bastante jeje, me imagino que dio trabajo pasar por todos los av para saber cuales módulos carga cada uno.. Lo flojo de este metodo es que el dia de mañana podrian cambiar los nombres de las dll's, o dejar de inyectarlas..
Si quisieses hacer una detección genérica entrarían en juego muchos otros factores. Hay diferentes técnicas para detectar entornos virtualizados sin tener que hacer blacklisting. Por ejemplo utilizar instrucciones/llamadas que sepas que no siguen la ruta habitual y hacer comparaciones de tiempo. (Artículo al respecto)

Saludos!
En línea

Páginas: 1 [2] 3 4 5 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines