domingo, 26 de abril de 2015

4n4lDetector v1.0

Me ha cambiado la vida, sí. Mejor dicho, he vuelto a cambiar mi vida. Estamos acostumbrados a esperar que el tiempo decida por nosotros, cuando realmente somos nosotros los que nos damos cuenta antes que nada ni nadie, de cuáles son nuestros problemas y necesidades. Llegados a este punto, solemos pensar en lo que pasaría si nuestra vida tomase otro rumbo, que consecuencias negativas o positivas tendrán nuestras decisiones, y de forma generalizada, tendemos a arrepentirnos por el miedo a terminar acumulando consecuencias negativas. Arriesgarse a veces puede llegar a ser incluso divertido, siempre nos quedará tiempo para partir de cero, pero y si de lo contrario… ¿vuelves al 10 que te hacía sentir bien?

Gracias a tanto cambio, y que se ha juntado con este domingo tan gris que me tiene retenido enelpc, hoy tendréis un regalo de algo que he estado preparando desde hace un mes hasta este momento. Sí, lleva impreso el sello de mis “Saludos 4n4les!” en su nombre, porque sé que los habíais echado de menos… eeehh guarrones, y guarronas jajajaj

¿Qué cojones es 4n4lDetector?

Sencillamente se trata de una nueva herramienta para hacer análisis sobre archivos ejecutables de Windows, con el objetivo de identificar de forma rápida, si este se trata o no de un malware. La mayoría de análisis se basan en la extracción de strings “ANSI” y “UNICODE” de los ejecutables en disco, aunque también trabaja con “Memory Dumps” de los binarios que analicemos. Como es lógico, esta última opción podría comprometer la seguridad de su equipo al ejecutar las muestras, con lo que se recomienda hacerlo en sistemas de laboratorio. Desde la ayuda de esta aplicación, se puede ver todo lo que es capaz de analizar, algo que seguirá creciendo y puliéndose en base a nuevas versiones.

Para no ser demasiado chapas, prefiero demostrar con imágenes su utilidad. Si recuerdan el método DAF Evolution, el cual se me ocurrió para hacer malware indetectable a los antivirus, la siguiente imagen muestra un análisis sobre un binario modificado con este método.

En un recuadro rojo se marcan las detecciones de “Binder/Joiner”, al haber encontrado dos binarios unidos en un mismo ejecutable. Además, se detectaron ejecuciones por “cmd.exe” para hacer un copiado de binarios.

Si recuerdan una de las entradas con la que más me he divertido llamada Injerto de una ShellCode en el Stub de un Crypter, en esta utilicé el Stub de un Crypter compilado en Delphi 7 para incluir una ShellCode con el STAGE1 de conexión reverse_tcp. Pues bien, la siguiente imagen muestra una pista que dejé, al haber creado un hueco tan grande de NOPs sobre el ejecutable junto a la detección por parte de 4n4lDetector del STAGE1.

También realiza análisis sobre las primeras instrucciones que se encuentran detrás del Entry Point del posible malware, buscando cosas tan típicas como la redirección del EP mediante la inserción de rutinas con saltos que también fue publicada en este blog.

Algunos malware son tan sencillos de detectar, que apenas hay que explicar nada. Apis para la captura de teclas, entradas de registro en el RUN con nombres conocidos y rutas de instalación.

El conocido troyano SpyNet con todos sus métodos Anti-VM, Anti-Sandbox y Anti-Debug.

La parte baja de la aplicación tiene un Check de seguridad, para hacer visible el botón que permite ejecutar la muestra en memoria.

Tras finalizar la ejecución seleccionando con antelación el tiempo en segundos que deseamos dejar la muestra corriendo antes de generar el Memory Dump, se muestra información sobre los procesos creados y sus PID. En caso de haberse efectuado sin problemas la copia, se mostrará la ruta y un acceso rápido a la carpeta donde se almacenarán los DMP.

Todo lo que permanecía cifrado en disco, aparece descifrado en memoria tras ejecutarse. Con lo que podremos leer las strtings al desnudo.

Inclusive, tiene la capacidad de extraer la configuración de algunos troyanos conocidos como DarkComet en sus Memory Dump. El siguiente es un servidor comprimido con UPX, que de poco sirve en memoria.

Por último, al tratarse de malware, este suele ir de la mano con pequeños tamaños de archivos ejecutables, con lo que en la modalidad de ejecución en memoria, es posible que se generen algunos que excedan los límites de análisis de la herramienta. Para llevar a cabo la extracción de la máxima información posible, 4n4lDetector trae consigo una herramienta de cortado de binarios, con la que podremos seleccionar el número de trozos para analizar.


Saludos 4n4les! ;)

9 comentarios:

  1. ¡Gran trabajo! Por cierto, ¿cuál es el origen de "Saludos 4n4les!"? xD

    ResponderEliminar
  2. Muchas gracias!! jajajaj

    El origen viene del foro indetectables.net, al publicar crypters la gente me llamaba de forma acortada 4n0, bueno de ahí te puedes imaginar la cantidad de chorradas que salieron jajajaja

    Un saludo! ;)

    ResponderEliminar
  3. ¿Vas a publicar el source? ¿Tienes idea de portarlo a python? ¿Estudias o trabajas? ;)

    ResponderEliminar
    Respuestas
    1. ¿Qué llevas puesto? Pues lo regalo todo menos el código jejej cuando me encuentre en mi lecho de muerte, diré algunas cosas que sé y regalaré los códigos =P

      Eliminar
    2. El código de Germán es digno de estudio. Al menos parece que ya no es vb6 :P
      Gran trabajo, voy a probarlo.

      Eliminar
  4. jajaja lo hice evolucionar, gracias ya me contarás :)

    ResponderEliminar
  5. ¿Programabas en vb6?

    Yo también, pero no es que sepa mucho de programación.

    ResponderEliminar
  6. Gracias hermano, se ve muy útil, pero sin lugar a dudas lo que la hace una herramienta única es el nombre..., jajaja.
    Saludos,
    Hacking_ph.

    ResponderEliminar