Mostrar librerias cargadas en programa

Páginas: << < (4/10) > >>

x64core:

Cita de: Vaagish en 24 Abril 2014, 21:23 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.


Vaagish:

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:

Karcrack:

@Vaagish: Mira este código para detectar los sandbox maluchos que inyectan DLL: (FASM)
Código
--
include 'win32ax.inc'
--
 
--
; MACROS
--
 
--
macro hash name,[string]{
--
  local ..hash, ..len, ..chr
--
  virtual at 0
--
     db string
--
     ..len  = $
--
     ..hash = 0
--
     repeat ..len
--
        load ..chr byte from % - 1
--
        ..hash = ..hash + ..chr
--
        ..hash = ..hash xor (((..chr shl 7) and $FFFFFFFF) or (..chr shr (25)))
--
     end repeat
--
  end virtual
--
  name#.h = ..hash
--
}
--
struc dw [arr]{
--
  common
--
     . dw arr
--
     .c = ($ - .) / 2
--
}
--
 
--
; GLOBAL
--
 
--
hash sandboxie, 'sbiedll.dll'
--
hash avast32,   'snxhk.dll'
--
hash avast64,   'snxhk64.dll'
--
hash comodo32,  'guard32.dll'
--
hash comodo64,  'guard64.dll'
--
 
--
; CODE
--
 
--
blacklist_loaded:
--
  call push_hashArr
--
  hashArr dw sandboxie.h, avast32.h, avast64.h, comodo32.h, comodo64.h
--
 
--
push_hashArr:
--
  push $30
--
  pop  esi
--
  lods dword[fs:esi]
--
  mov  edx, [eax+$0C]
--
  mov  edx, [edx+$1C]
--
  xor  eax, eax
--
nm:xor  ebx, ebx
--
  mov  esi, dword[edx+$20]
--
  test esi, esi
--
  mov  edx, [edx]
--
jz     en
--
re:lodsw
--
  test eax, eax
--
jz     fn
--
  or   eax, 0x20
--
  add  ebx, eax
--
  rol  eax, 7
--
  xor  ebx, eax
--
jmp    re
--
fn:push hashArr.c
--
  pop  ecx
--
  mov  esi, [esp]
--
nx:lodsw
--
  cmp  eax, ebx
--
loopne nx
--
jecxz  nm
--
en:mov  eax, ecx
--
  pop  edi
--
  ret
--
 
--
main:
--
  call blacklist_loaded
--
.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...

Vaagish:

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
--
hash sandboxie, 'sbiedll.dll'
--
hash avast32,   'snxhk.dll'
--
hash avast64,   'snxhk64.dll'
--
hash comodo32,  'guard32.dll'
--
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

Karcrack:

Cita de: Vaagish en 25 Abril 2014, 00:02 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

Cita de: Vaagish en 25 Abril 2014, 00:02 am
--
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.

Cita de: Vaagish en 25 Abril 2014, 00:02 am
--
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.

Cita de: Vaagish en 25 Abril 2014, 00:02 am
--
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!

Páginas: << < (4/10) > >>