¿Saltarse heuristicas y sandbox modeando?

Iniciado por Tr0Y4N0, 9 Diciembre 2012, 01:29 AM

0 Miembros y 1 Visitante están viendo este tema.

Tr0Y4N0

Hola, estoy iniciándome en el tema de indetectar malware, mi pregunta es si modeando se puede evitar que te pille la heurística y el sandbox. ¿que tecnicas son necesarias? :huh:

He puesto en practica los métodos de avfucker y dsplit para quitar las firmas, pero ahora tengo problemas con la heurística y con la emulación del malware.

Me pilla el AVG al iniciar el RAT al arranque.

Si me podéis echar una mano os lo agradezco ya que estoy perdido en esto.




Karcrack

Cita de: Tr0Y4N0 en  9 Diciembre 2012, 01:29 AM
Me pilla el AVG al iniciar el RAT al arranque.
Suponiendo que te refieres a que el AV salta al ejecutar el malware:
Creo que estás confundiendo términos... Según lo que cuentas parece ser una detección por comportamiento. Ésto es un tipo de detección heurística pero nada tiene que ver con la emulación.

Saltarse esas detecciones puede ser muy complicado. Depende sobretodo en que es lo que el AV detecta. Para saberlo necesitas buen nivel de ensamblador, técnicas de debugging y paciencia. Se trata de ir nopeando bloques de código y ejecutar. Con algo de experiencia serás capaz de ver APIs o bloques sospechosos y avanzarás más rápido.

Si puedes dar más información sobre el ejecutable será más fácil ayudarte. Un dump del PE sería un buen inicio.

Tr0Y4N0

Si, pero me refiero a que una vez agregado al registro, al reiniciar el sistema lo detecta al arranque.
Pero me interesan saber saltar ambas cosas y saber que necesitaría aprender para hacerlo.

No tenia ni idea de lo que era el formato PE, he estado leyendo el tutorial de swash y bueno he entendido lo que he podido ya que tampoco se nada de ASM.

¿Como puedo realizar un dump del PE?

y ¿por donde me recomiendas empezar? o ¿que conocimientos básicos necesito para hacerlo?

Muchas gracias  ;D

Karcrack

Lo mejor para sacar un extracto del PE es usando DUMPBIN con /ALL. Dumpbin es una herramienta que viene con el VisualStudio, aunque imagino que la podrías obtener por separado.

¿Qué clase de alerta te salta? ¿Si ejecutas el fichero sin que esté instalado en el registro no salta? De ser así, ¿En qué clave del registro te instalas?

Para empezar a indetectar malware solo necesitarás paciencia y ganas de aprender. No pienses que en media hora podrás hacer algo indetectable y poco a poco serás más rápido :)

Buster_BSA

No puedes saltarte la detección por comportamiento. Lo único que puedes hacer es no ejecutarte si detectas una sandbox.

Karcrack

Buster_BSA, sí es posible hacerlo. Muy pocas cosas son imposibles. Solamente hay que valorar si el esfuerzo que requiere encontrar la forma es justificado.

Buster_BSA

No, no es posible. Cualquier acción maliciosa que realices será interceptada y analizada y contra eso no puedes hacer nada salvo detectar que tu programa está siendo analizado y abortar la ejecución.

Si me quieres llevar la contraria y desmentir lo que digo, pues programas un malware que haga lo que tú dices que es posible.

Yo no sé qué habrás programado tú, pero yo he programado un "malware behavior analyzer" y sé de lo que hablo.

Karcrack

Cita de: Buster_BSA en 10 Enero 2013, 23:37 PM
Cualquier acción maliciosa que realices será interceptada y analizada y contra eso no puedes hacer nada salvo detectar que tu programa está siendo analizado y abortar la ejecución.
*Cualquier* es un término muy amplio. Todo software es susceptible de tener algún bug o error de diseño. Sobre todo un software complejo como es un sandbox. Como ejemplo te pongo un par de bugs que han habido en "Sandboxie".

Insisto en que es una cuestión de tiempo y esfuerzo encontrar un workaround en cualquier protección. La perfección no abunda.

PD: Conozco tu trabajo, lo publicitas bastante... Además, no se trata de ver quién tiene la p***a más grande. :rolleyes:

Buster_BSA

El movimiento se demuestra andando, Karcrack.  ;)

Para empezar tienes un error de concepto porque confundes la sandbox con el software de análisis de comportamiento. Son dos cosas diferentes. Solo en el caso del Norman Sandbox Analyzer eso sería correcto, pero es la excepción que confirma la regla. El resto son dos cosas separadas: por un lado estaría la sandbox, que en la inmensa mayoría de los casos es una máquina virtual (Buster Sandbox Analyzer es el único además del Norman que no usa una máquina virtual como framework para el análisis) y por otro el software de análisis de comportamiento.

Por ejemplo: Sandbox -> máquina virtual (VMWare, VirtualBox, ...).  Software de análisis de comportamiento: Cuckoo (programado en Python)

Ya me dirás qué fallos de diseño tiene el VMWare o el VirtualBox que puedan ser aprovechados para que las aplicaciones que hacen análisis de comportamiento sobre ellas no sean capaces de analizar correctamente. Sí, claro, en teoría todo software puede tener fallos, pero a mí solo me vale la práctica.

Dices: "como ejemplo te pongo un par de bugs que han habido en "Sandboxie".  Pues ya me dirás dónde los has puesto porque yo no los veo.  :P

Y no, no se trata de ver quien la tiene más grande. Se trata de no confundir a las personas que vienen al foro a por información. Las cosas son como son hasta que alguien demuestra lo contrario, y de momento nadie en el mundo ha demostrado que se pueda burlar el análisis por comportamiento si no es haciendo lo que ya he dicho: detectar que se está ejecutando bajo un entorno de análisis y abortar la ejecución.



Buster_BSA

Por cierto, que Tr0Y4N0 ha dicho "estoy iniciándome en el tema de indetectar malware, mi pregunta es si modeando se puede evitar que te pille la heurística y el sandbox" y a saber qué quiere decir con eso de que no le pille el sandbox. A saber qué se imagina él qué es la sandbox y cómo lo puede pillar.

Yo he supuesto que se refiere al análisis por comportamiento, pero a lo mejor él tiene otro concepto de lo que es una sandbox que puede pillar malwares.