Integración continua para el desarrollo de exploits

6

He estado pensando mucho en este tema. Exploit Development es casi lo mismo que el desarrollo normal, necesita probar muchas plataformas (por ejemplo, Windows XP, Windows Vista, x64, x86, chino, versiones en inglés). Este problema requiere pruebas unitarias e integración continua.

Hasta ahora he estado hackeando algunos scripts de Python para que las metasploit de lanzamiento automático carguen mi exploit personalizado, lo lance. Y como carga útil para configurar, ejecute mi conector posterior para decirme que todo va bien. Ahora puedo tener un sistema en la actualización automática y obtener una alarma cuando el día 0 ha sido reparado (sin informarlo) o probar rápidamente una gama de sistemas virtuales.

Me pregunto si hay sistemas o documentos sobre este tema. Cosas a considerar, etc., etc.

Editar

También he actualizado mi método construyendo el entorno. Ahora construyo scripts de implementación para mis exploits, el script:

  • clona una máquina virtual
  • transfiere la versión vulnerable del software desde mi biblioteca de software (leer NAS)
  • instala el software con el método más básico (Siguiente, Siguiente, Estoy de acuerdo con el método bot para Windows, apt-get install para Linux)
  • Comprueba si el software se está ejecutando
  • Obtiene el puerto en el que se está ejecutando (netstat / grep hackish (muy rompible)
  • Launch Exploit
  • Conectar de nuevo
  • Escriba el resultado

Todavía está bien con la esperanza de obtener al menos una respuesta para mi Bounty (+100 ..)

    
pregunta Stolas 18.09.2013 - 11:04
fuente

2 respuestas

1

Para verificar si una vulnerabilidad ha sido parcheada o no, ¿por qué no tener un valor fijo para EIP? Diga como DEADDAED y asegúrese de que coincida obteniendo el resultado a través de algún módulo de depuración. Si coincide con la vulnerabilidad sigue ahí. Si no coincide, pero la aplicación falla, lo más probable es que tenga la vulnerabilidad allí, pero necesita modificar el código de explotación para que funcione correctamente.

Para probarlo en nuevas versiones, el exploit no debería funcionar. Por ejemplo, tengo un exploit de IE y el ASLR se pasa por alto usando mshtml. Si mshtml se actualiza en la próxima actualización de IE, mi vulnerabilidad no funcionará debido a los cambios de desplazamiento que se han producido en el mshtml parcheado. A menos que sea posible, está utilizando algún otro dll en el que no se han producido cambios.

Por lo que puedo ver, necesita probarlo en una versión del software en cuestión para determinar si está parcheado o no.

Las otras partes de la clonación de una máquina virtual, la actualización del software, etc. deben ser las indicadas. Lo único con un instalador de MSI es que puedes intentar hacer una instalación silenciosa, para evitar los cuadros de diálogo.

    
respondido por el Omair . 01.10.2013 - 14:14
fuente
-1

Algunos tipos de explotaciones necesitan pruebas en muchos entornos. Un buen artículo sobre este tema es "Descubriendo los Días Cero y el engaño avanzado" por Nikolaos Rangos diapositivas: enlace script: enlace

    
respondido por el banana 18.09.2013 - 15:51
fuente

Lea otras preguntas en las etiquetas