Ingeniero inverso y explotaciones investigando [cerrado]

-4

¿Puede alguien darme un punto de partida para encontrar exploits en software e ingeniería inversa?

  • Necesito algún tipo de libro o sitio ...
  • Tengo experiencia en programación con nivel alto y bajo, como ensamblaje ...
  • Quiero saber cómo los "piratas informáticos" encuentran todas las vulnerabilidades en el sistema operativo ... Por ejemplo, he escuchado que alguien encontró una vulnerabilidad en Apache que se ejecuta en Linux usando ingeniería inversa ... .
pregunta Asaf fisher 02.09.2015 - 06:34
fuente

3 respuestas

1

En primer lugar, para poder realizar ingeniería inversa, debe desarrollar algunas buenas habilidades de programación en C y ser capaz de entender algunos comandos de ensamblaje también.

El "problema" con la ingeniería de inversión es que se pierde mucha información de código en función de los desensambladores o descompiladores utilizados (por ejemplo, comentarios de código, nombre de variable, tipos de datos, etc.). Eso hace que tu vida como investigadora de vulnerabilidad sea complicada.

Sugiero como punto de partida para echar un vistazo a los programas de C. Busque los comandos de datos proporcionados por el usuario, tales como: argv , gentenv() , read() , getc() , scanf() y recv() para verificar si el programador ha protegido el manejo de las entradas contra los desbordamientos de búfer.

Hay buenas herramientas de software gratuito en el mercado que hacen que tu vida sea un poco más fácil. Eche un vistazo a este libro: ISBN 978-0-07-183238-0 . Han enumerado algunos de ellos.

    
respondido por el user69377 02.09.2015 - 07:09
fuente
0

En general, hay tres cosas que puedes hacer cuando buscas desbordamientos de búfer:

Revisión del código fuente

Si el código fuente está disponible, puede encontrarlo revisando el código.

Descompilar el código y revisar la fuente

Si el código fuente no está disponible, la ingeniería inversa podría ser una de las opciones. Una vez descubierto, es posible hacerlo, el código fuente puede ser revisado.

Fuzzing y depuración

Si las dos primeras opciones no son posibles debido a la ofuscación de código o cualquier otro método de protección de binarios, la eliminación de errores y la depuración son una opción.

Esto básicamente significa que al enviar un búfer grande a un campo de entrada específico y ver cómo la aplicación lo maneja.

Un buen recurso para comenzar con la aplicación de Windows de 32 bits es: resources.infosecinstitute.com/stack-based-buffer-overflow-in-win-32-platform-part-1/

Tenga en cuenta que las protecciones de memoria como DEP y ASLR podría causar problemas al explotar un programa o servicio.

    
respondido por el Jeroen - IT Nerdbox 02.09.2015 - 07:10
fuente
0

Los mejores recursos que hay hoy en día son 2 libros:

El arte de la evaluación de software, Dowd, McDonald y Schuh. Un trabajo de arte. Este libro le enseñará todo lo que necesita saber sobre la metodología, el análisis de amenazas y cómo funcionan los ataques y qué buscar.

La Web enredada, Michal Zalweski. El mejor libro que hay ahora mismo para proteger aplicaciones web. Escrito por un maestro.

    
respondido por el Danny Lieberman 02.09.2015 - 09:15
fuente

Lea otras preguntas en las etiquetas