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! ;)

lunes, 14 de julio de 2014

ParameterFuzz v1.9

Tras el pasado perigeo lunar todos presentíamos que algo grande sucedería. Cuestión de tiempo, tras la larga espera pensaba que nada me sorprendería. Pues un agnóstico vino a este mundo a nublar vuestro cielo de fantasía. Mientras tanto, un avinagrado despertador mi oído recorrería. Lunes con hedor a alcohol, lo más cercano a despertarse en una pescadería. Tras la luna llena algo ciertamente se escondía, mi nueva herramienta hoy les traigo con alegría.

Exactamente, eso quería decirles. Les traigo la nueva versión de mi software para que la disfruten. Quería darle las gracias a Chema Alonso pues muchas de las ideas que he utilizado en Simple Vulnerability Scanner vienen directamente de la cosecha de FOCA.


Configuraciones necesarias Internet Explorer

  • Es necesario desactivar los mensajes de error HTTP descriptivos. Haga clic en el menú Herramientas y, después, en Opciones de Internet. Haga clic en la ficha Opciones avanzadas y desplácese hasta la sección Examinar.
  • Desactive la casilla Mostrar mensajes de error HTTP descriptivos y haga clic en Aceptar. 
  • Ante un "Basic Access Authentication", utiliza la siguiente manera para generar la cabecera de acceso: https://usuario:contraseña@www.enelpc.com/  
  • En aquellas páginas donde encuentres un certificado no emitido por una entidad certificadora, añade el certificado a "Almacén de Entidades de certificación raíz de confianza".
  
¿Cambios respecto a la versión anterior?

  • Se realizó una versión especial para el evento Warfare de RootedCon 2014, donde se arregló un bug en formulario POST. Se rediseñó y añadieron nuevas opciones a la herramienta secundaria "Add HTTP Header"
  •  Se han realizado cambios en el formulario de entrada, para aumentar la comodidad y solucionar problemas con el cerrado de la aplicación.
  • Ha sido sustituida la API "Sleep" de todo el proyecto, ya que esta podía acarrear bloqueos momentaneos en los formularios GET y POST.
  • El botón "Menu" se ha eliminado de los formularios POST y GET, dejando paso a poder volver al formulario principal desde el botón de cerrado de estos formularios.
  • Se ha eliminado la caja check que permitía almacenar en memoria la longitud del código HTML, incluyendo un nuevo uso para habilitar la nueva herramienta "Mini Vulnerability Scanner".
  • "Mini Vulnerability Scanner" cuenta actualmente con varias pruebas las cuales yo realizo manualmente en mis auditorías personales. Esta genera un número mínimo de peticiones con un intervalo de tiempo personalizable entre ellas, para evitar baneos o el colapso del servidor auditado.

Saludos 4n4les! ;)