Quiero comenzar a aprender a utilizar fuzzing windows windows, ¿dónde debería comenzar?

4

Tengo mi B.Sc. En informática y estoy familiarizado con el lenguaje ensamblador básico. Quiero comenzar a aprender sobre cómo encontrar vulnerabilidades en las aplicaciones de Windows, por ejemplo. desbordamientos de búferes, uso después de la liberación, etc. Busco un camino, es decir, materiales para aprender lo básico y luego fuentes más avanzadas para aprender. Cualquier ayuda es apreciada.

    
pregunta Moe 11.04.2016 - 00:19
fuente

3 respuestas

2

Los enfoques y las técnicas en el libro Explotación de la pila de Windows: la protección por omisión son sencillas y están bien fundamentadas.

Si bien los ejemplos del libro utilizan Sulley , le recomiendo que también vea FuzzLabs como un paquete introductorio de prueba de aplicaciones de Windows. El conjunto de pruebas fuzz más avanzado es Driller , que creo que se lanzará en el DARPA Cyber Grand Challenge en Ago de 2016, pero hay muchas otras técnicas válidas .

El uso del marco qemu-user con pwndbg puede permitir la creación rápida de prototipos y la ejecución de ejecutables de Windows bajo un entorno clásico de Linux. El marco binary.ninja es una solución comercial de la que muchos están hablando como la próxima generación de desarrollo de explotación. Sin embargo, binja está orientado a explotar a los desarrolladores mediante el uso de técnicas de análisis binario, todavía muy válidas, y recomiendo algunos libros más antiguos como Identificar código malicioso mediante ingeniería inversa o incluso la Guía de vulnerabilidad del software.

    
respondido por el atdre 10.07.2016 - 06:44
fuente
0

No estoy seguro si se me permite listar / promover libros o cursos específicos aquí en este foro. Pero estoy seguro de que si busca en Internet las vulnerabilidades de la aplicación de Windows y el fuzzing, podrá encontrar muchos tutoriales. En cuanto a la sugerencia sobre en qué enfocarse, ¿comprende?

  • ¿cómo se asignan la pila y el montón en el espacio de direcciones de su programa?
  • ¿Cuál es la función de su puntero de instrucción (EIP), puntero de pila? (ESP) etc.
  • ¿Cuáles son las convenciones de llamada?
  • ¿Cómo se realizan los archivos DLL vinculados en tiempo de ejecución?
  • ¿Qué son las comunicaciones entre procesos (IPC) en Windows? ¿Qué son las tuberías con nombre?
  • A qué API de Win32 se llama en una aplicación típica de Windows proceso de entrada, tanto del usuario como de la red?
  • Cómo usar un depurador para inspeccionar el contexto de una ejecución programa / proceso? Cómo funciona el depurador.
  • Conceptos de fuzzer basado en mutación y fuzzer basado en generación.

    Todos estos son útiles para comenzar. Una vez que entienda los conceptos básicos, no le será muy difícil seguir los materiales que puede encontrar en línea. En general, los mismos conceptos se aplican a otros sistemas operativos también. Pero como pediste Windows específicamente, solo mencioné Windows. Al menos esos conceptos me ayudan a entender el exploit de Windows, espero que también puedan serle útiles.

respondido por el wei 11.04.2016 - 03:09
fuente
0

Peach es un fuzzer de facto que brinda la capacidad de eliminar cualquier aplicación y / o protocolo. Sugiero comenzar con enlace

    
respondido por el C.J. Steele 11.04.2016 - 04:36
fuente

Lea otras preguntas en las etiquetas