Red de conocimiento informático - Problemas con los teléfonos móviles - Python Gray Hat: una introducción a la programación Python para hackers e ingenieros inversos

Python Gray Hat: una introducción a la programación Python para hackers e ingenieros inversos

Aprendí el lenguaje Python específicamente con el propósito de realizar investigaciones sobre hacking, y estoy seguro de que muchos otros colegas en este campo hicieron lo mismo. He pasado mucho tiempo buscando un lenguaje de programación que pueda usarse tanto en piratería como en ingeniería inversa. Hace apenas unos años, Python se convirtió en el claro rey de la programación de piratería. Un hecho insatisfactorio es que hasta el momento no existe un manual de referencia real que lo guíe en la aplicación de Python a diferentes escenarios de tecnología de piratería. A menudo es necesario leer publicaciones de debates técnicos en foros importantes o varios manuales de herramientas. A veces es común dedicar mucho tiempo a leer y depurar el código fuente para que la herramienta funcione correctamente. Este libro está dedicado a llenar este vacío y lo llevará a un viaje "torbellino": verá cómo se utiliza el lenguaje Python en diversas técnicas de piratería y escenarios de ingeniería inversa.

Este libro le revelará los principios y mecanismos ocultos detrás de varias herramientas de piratería, que incluyen: depurador, tecnología de puerta trasera, Fuzzer, emulador y tecnología de inyección de código. Este libro le demostrará uno por uno. navegar por estas herramientas tecnológicas. Además de aprender a utilizar las herramientas existentes basadas en Python, también aprenderá a crear sus propias herramientas utilizando Python. Una cosa que hay que decir desde el principio es que este no es un manual de referencia completo. Hay una gran cantidad de herramientas de seguridad de la información escritas en Python que no se tratan en este libro. El credo de este libro es enseñarle a un hombre a pescar, ¡no enseñarle a pescar! Debe aplicar de manera flexible las habilidades adquiridas en este libro a otros escenarios, depurar, ampliar y personalizar otras herramientas de Python de su elección según sus propias necesidades.

No existe una sola forma de leer este libro. Si es nuevo en Python o en la creación de herramientas de piratería, leer de principio a fin es la mejor opción para usted. Comenzará desde Empezar con. la teoría más básica y escriba una buena cantidad de código Python mientras lee este libro. Cuando termine de leer este libro, debería poder resolver una variedad de tareas de piratería o ingeniería inversa por su cuenta. Si ya tiene un cierto nivel de comprensión de Python y está familiarizado con el uso de la biblioteca Ctype, es posible que desee omitir el Capítulo 1 directamente. Para aquellos veteranos que han estado inmersos en la industria durante mucho tiempo, creo que pueden avanzar y retroceder en este libro libremente. Pueden obtener fragmentos de código o capítulos relevantes de este libro en cualquier momento de su trabajo diario.

Este libro dedica una cantidad considerable de espacio al contenido relacionado con los depuradores, comenzando desde el Capítulo 2, que describe los principios básicos de los depuradores, hasta el Capítulo 5, donde se presenta Immunity Debugger. Los depuradores son herramientas vitales para cualquier verdadero hacker, por lo que no he escatimado esfuerzos para cubrirlos de manera amplia y exhaustiva. En los siguientes capítulos 6 y 7, aprenderá algunas técnicas de enganche e inyección de código, que también pueden ser utilizadas por las herramientas de depuración como medio para controlar el flujo del programa y manipular la memoria.

El siguiente enfoque de este libro es el uso de las herramientas Fuzzer para romper los sistemas de aplicaciones. En el Capítulo 8, comenzará a aprender la teoría básica de las técnicas de fuzzing y crearemos nuestra propia herramienta de fuzzing de archivos. El Capítulo 9 le mostrará cómo utilizar el poderoso marco Fuzzing Sulley para romper un programa demonio FTP del mundo real. En el Capítulo 10, aprenderá cómo crear una herramienta fuzzer para atacar los controladores de Windows.

En el Capítulo 11, verá cómo automatizar tareas de análisis estático en IDA Pro, una popular herramienta de análisis estático binario. En el Capítulo 12, presentaremos un emulador basado en Python, PyEmu, para finalizar este libro.

He intentado mantener el código que aparece en este libro lo más conciso posible y he incluido comentarios detallados en ciertos lugares para ayudarle a comprender la naturaleza del código. El proceso de aprender un nuevo lenguaje de programación o dominar una biblioteca de funciones desconocida requiere práctica personal y autocorrección continua.