Pitón violento

¿Busca expandir su experiencia en Python o simplemente aprender más sobre el increíble potencial del lenguaje de programación? Una de las lecturas más recomendadas para usted sería 'Python violento'. Como sugiere su lema, Python violento es un libro de cocina para hackers, probadores de penetración, analistas forenses e ingenieros de seguridad.

Como bien puede esperar, el libro tiene un alcance muy amplio dada su base de lectores específicos. Demostró cómo se puede usar el lenguaje para ayudar y automatizar tareas en varias disciplinas de seguridad de la información. El libro tampoco sacrifica la profundidad por el bien de la amplitud. Aunque involucra una amplia gama de temas, también es bastante profundo con ejercicios de nivel avanzado para cada tema.

Libro violento de Python

Los autores

El libro ha sido escrito principalmente por TJ O'Connor, con Mark Baggett como editor técnico y Rob Frost, autor de un capítulo sobre Web Reconnaissance. Aquí hay un vistazo a los antecedentes que aporta cada colaborador / autor:

  • TJ O'Connor

Ex paracaidista del ejército de los EE. UU. Y experto en seguridad de la información del Departamento de Defensa. Enseñó cursos de pregrado sobre explotación, análisis forense y aseguramiento de la información mientras era profesor asistente en la Academia Militar de los Estados Unidos. También entrenó al equipo ganador dos veces en el ejercicio anual de defensa cibernética de la Agencia de Seguridad Nacional. Se graduó con una Maestría en Ciencias en Computación de la Universidad Estatal de Carolina del Norte y una Maestría en Ciencias en Ingeniería de Seguridad de la Información del Instituto Técnico SANS.

  • Rob Frost

Robert Frost fue comisionado en el Cuerpo de Señales del Ejército después de graduarse de la Academia Militar de los Estados Unidos en 2011. Tiene una licenciatura en Ciencias de la Computación con honores, y su tesis se centró en la recopilación de información de código abierto. En el Ejercicio de Defensa Cibernética de 2011, fue un miembro individualmente reconocido del equipo del campeonato nacional por su habilidad para eludir las reglas.

  • Mark Baggett

Instructor certificado de SANS, Mark Baggett enseña varios cursos en el plan de estudios de pruebas de penetración. Es consultor principal y fundador de In Depth Defense, que ofrece servicios de prueba de penetración y respuesta a incidentes. También es el asesor técnico de SANS para el Departamento de Defensa, centrándose en la aplicación práctica de los recursos de SANS para el desarrollo de la capacidad militar.

Pitón violento - El fondo

Python es un lenguaje de alto nivel, y para los autores y para muchos programadores, también es un lenguaje de hackers. Ofrece mayor eficiencia, menor complejidad, ilimitadas bibliotecas de terceros y una barra de entrada baja. Esto lo convierte en una gran plataforma de desarrollo para construir herramientas ofensivas. Si ejecuta Linux o Mac OS X, es probable que ya lo tenga instalado en su sistema. Aprender Python a través de este libro puede ayudarlo a alcanzar el éxito cuando otras herramientas ofensivas fallan.

El libro violento de Python está dirigido a programadores de todas las edades y niveles de competencia, e incluso a no programadores que buscan comenzar a escribir Python. Python violento puede incluso aplicar a programadores avanzados que quieran aprender a aplicar para aplicar sus habilidades en las pruebas de penetración. Como sugiere el título Violent Python, el libro se centra en cómo aprovechar los aspectos ofensivos de Python para mejorar la defensa. Cubre 'recetas' para pruebas de penetración, análisis de redes, análisis web y explotación de dispositivos inalámbricos.

Para aquellos de ustedes que no están familiarizados con los recursos de tipo libro de cocina, el contenido de este libro de cocina para piratas informáticos Violent Python está compuesto por varios guiones cortos de ritmo propio centrados en tareas específicas. En última instancia, muestra cuán poderosas pueden ser algunas líneas de Python. En serio, las recetas más largas en este libro Violent Python apenas superan las 100 líneas.

Tenga en cuenta que el libro está muy centrado en las "artes oscuras" de Python y no encontrará material directo para la programación general con el lenguaje. Sin embargo, definitivamente puedes aprender algunos trucos y consejos trabajando los ejercicios. Las recetas se han realizado en un diseño modular para la reutilización del código, y los códigos se pueden utilizar para proyectos más grandes.

Una mirada más cercana al libro Violent Python

Antes de mirar más de cerca a Violent Python, debe tenerse en cuenta que los archivos de código fuente para las recetas se encuentran en su página de inicio de Syngress. Sin embargo, se recomienda que escriba el código desde arriba para un mejor aprendizaje y retención. En cualquier caso, si desea el código de forma rápida y sencilla, ya sabe dónde encontrarlo.

Cursos recomendados

  • Programa en AJAX
  • Curso profesional en línea de prueba rápida
  • Programa ExtJS
  • Programa CISSP

Aquí hay un vistazo a cada capítulo del libro Violent Python:

  1. Introducción

El primer capítulo le ofrece una introducción a Python en general, comenzando con información de fondo sobre el lenguaje en sí. Salta rápidamente a la carne, introduciéndote a variables, tipos de datos, iteración, selección, funciones y más. También le muestra cómo trabajar con módulos y lo lleva a través de algunos programas simples.

Si ya está familiarizado con los conceptos básicos de Python y es un programador intermedio o experimentado, puede omitir prácticamente todo el capítulo. Una de las mejores cosas del libro Violent Python es que la mayoría de los capítulos son bastante independientes entre sí. Por lo tanto, simplemente puede elegir el capítulo que desee y aprenderlo solo en lugar de pasar por todos los capítulos anteriores.

  1. Pruebas de penetración con Python

Este capítulo le presenta la idea de usar Python para ataques de secuencias de comandos para pruebas de penetración. Los ejemplos incluyen la construcción de una botnet SSH, la construcción de un escáner de puertos, la escritura de un exploit, la replicación de Conficker y el compromiso masivo a través de FTP.

  1. Investigaciones forenses con Python

Este capítulo se enfoca en usar Python para investigaciones forenses digitales. Da ejemplos para recuperar elementos eliminados, ubicar geográficamente a individuos, extraer artefactos del registro de Windows, examinar metadatos de documentos e investigar artefactos de dispositivos móviles y aplicaciones.

  1. Análisis de tráfico de red con Python

Este capítulo le enseña a usar Python para analizar el tráfico de red. Las secuencias de comandos que se proporcionan aquí se centran en la ubicación geográfica de direcciones IP a partir de capturas de paquetes, el análisis del tráfico de botnets, la investigación de kits de herramientas DDoS populares, el descubrimiento de escaneos de señuelo y frustrar los sistemas de detección de intrusos.

  1. Caos inalámbrico con Python

Este capítulo se enfoca en Bluetooth y dispositivos inalámbricos. Proporciona ejemplos sobre cómo analizar y detectar el tráfico inalámbrico, identifica redes inalámbricas ocultas, construye un keylogger inalámbrico, controla de forma remota vehículos aéreos no tripulados, identifica kits de herramientas inalámbricas maliciosas que se utilizan, explota las vulnerabilidades de Bluetooth y acecha las radios Bluetooth.

  1. Reconocimiento web con Python

Este capítulo examina el uso de Python para desechar Internet para obtener información, con ejemplos que incluyen cómo navegar anónimamente por la web a través de Python, eliminar sitios web de redes sociales populares, trabajar con API de desarrolladores y crear un correo electrónico de phishing.

  1. Evasión de antivirus con Python

Este capítulo final le muestra cómo crear un malware que evada los programas antivirus. También le muestra cómo crear un script para cargar el malware contra un escáner antivirus en línea. Utiliza código malicioso del marco Metasploit para generar un código de shell de estilo C. Se utiliza una simple banda de Windows para vincular el proceso cmd.exe a un puerto TCP que elija, lo que le permite conectarse de forma remota a una máquina y emitir comandos que interactúan con el proceso cmd.exe.

Más sobre el libro Violent Python

Como puede ver, Violent Python cubre algunos temas bastante interesantes para los piratas informáticos y aquellos interesados ​​en la seguridad de la información. Tiene docenas de recetas en sus 288 páginas, y probablemente te sorprenderá el tipo de resultados que se logran fácilmente con Python.

Desafortunadamente, las recetas se enumeran en detalle, por lo que debe investigar un poco por su cuenta para descubrir cómo y por qué funcionan algunas de las codificaciones. Sin embargo, este es un excelente punto de partida para aprender más sobre las capacidades de seguridad de la información de Python y sorprenderse por la gran profundidad del lenguaje. Aquí hay un vistazo a algunas de las recetas más interesantes que cubre el libro Violent Python:

  1. Desarrollando crackers de contraseñas fuera de línea y en línea
  2. Recreating Conficker
  3. Interactuando con Metasploit y Nmap
  4. Entregando un exploit para un desbordamiento de búfer basado en pila
  5. Explotación de bases de datos SQLite, el registro de Windows y copias de seguridad de iTunes
  6. Correlacionar el tráfico de red con ubicaciones físicas y desarrollar mapas basados ​​en Google Earth
  7. Construyendo una botnet SSH
  8. Evasión de sistemas antivirus e IDS
  9. Análisis de sitios web, Tweets y metadatos
  10. Crear campañas de correo electrónico de ingeniería social
  11. Secuestrando un dron
  12. Realizar ataques basados ​​en Bluetooth
  13. Análisis y registro de tráfico inalámbrico

La introducción en sí misma muestra cómo puede configurar un entorno de desarrollo de Python y actúa como un excelente curso intensivo para el lenguaje. Le ayuda a poner en marcha su entorno de desarrollo e incluso podría servirle de actualización si ya aprendió el idioma pero ha perdido el contacto recientemente. Sin embargo, para aquellos de ustedes que son completamente nuevos en Python y nunca antes han tocado el lenguaje, esto puede pasar por alto. Por supuesto, sería difícil para cualquier libro cubrir Python desde lo básico y luego entrar en algo como piratear drones y explotar redes inalámbricas usando el lenguaje, todo en menos de 300 páginas.

Además, varias explotaciones dadas en el libro discuten las posibles acciones que bloquea un código en particular, en lugar de dar una explicación línea por línea del código. Para aquellos que pueden leer declaraciones comunes en Python, será más fácil comprender e implementar más rápidamente el material principal. Sin embargo, si tiene poca o ninguna experiencia con el lenguaje, puede encontrar el libro Violent Python un poco abrumador. Si desea tener una mejor experiencia, es mejor optar por el curso gratuito de dos días de Google u optar por otros cursos prácticos cortos (que generalmente son gratuitos) sobre los fundamentos de Python.

Ahora, puede pensar por lo que se ha dado hasta ahora que Violent Python es para programadores de nivel superior, pero es importante tener en cuenta que no necesita habilidades lingüísticas de nivel experto para apreciar el material del libro. Si te gusta saltar y aprender a través de prueba y error y ensuciarte las manos, entonces definitivamente vale la pena intentarlo. De hecho, puede aprender los usos generales de Python y también el material de seguridad de la información que se proporciona en este libro al mismo tiempo. En cuanto al código, es lo más simple y limpio posible. El código está bien escrito y bien estructurado, y la narrativa de lo contrario se mantiene informal para facilitar las cosas, con un uso mínimo de jerga.

La mayor parte del contenido debe ser accesible incluso para los novatos que tienen un conocimiento débil de la jerga y carecen de experiencia. Al mismo tiempo, el tipo de material presente en este libro es demasiado único e interesante para ignorarlo, incluso para desarrolladores experimentados de Python.

Los autores también han pensado y cuidado las recetas para que tengan sentido, en lugar de hacerlo demasiado llamativo. Además, si bien los guiones se han estructurado en módulos, este libro no es solo una colección de guiones copiados y pegados. En cambio, la mayoría de las recetas están precedidas por información de fondo interesante y a menudo entretenida, lo que hace que el libro sea aún más divertido.

El libro Violent Python también se ha escrito para establecer escenarios y objetivos claros, que van desde resolver problemas de investigación hasta recrear ataques maliciosos e incluso ejecutar ataques solo por el simple hecho de hacerlo. Las curiosidades históricas presentadas también pueden rivalizar con el valor de las recetas mismas.

Si bien todas las recetas son muy interesantes, hay algunas que pueden parecer poco prácticas en cuanto al valor de la superficie. Por ejemplo, la mayoría de los profesionales de seguridad de la información probablemente no necesiten derribar un dron o ejecutar una botnet SSN. Aún así, estas recetas tienen, en la raíz, conceptos centrales que pueden ser muy útiles, como ser capaces de interactuar con varios hosts a través de SSH e inyectar paquetes en el tráfico inalámbrico. Estos conceptos podrían aplicarse a actividades de seguridad de la información, como las pruebas de penetración.

El enfoque exclusivo en Python también puede ser una desventaja para el lector, dado que algunas recetas requieren conocimiento externo para saber realmente lo que sucede detrás de escena. Veamos la receta de explotación, que muestra cómo entregar un exploit a través de Python. En sí misma, esta receta puede ser una gran plantilla para desarrollar exploits de prueba de concepto basados ​​en la red. El capítulo también comienza con una breve mirada a los desbordamientos de búfer basados ​​en pila. Sin embargo, no discute la identificación de la vulnerabilidad, la creación del shellcode, la gestión de memoria x86 o el lenguaje ensamblador, todo lo cual está fuera del alcance del libro pero es relevante para la explotación misma.

Una conclusión de Violent Python Book

Como puede comprender, el libro hace mucho, pero también omite mucho, y es comprensible. Puede ser difícil satisfacer las necesidades de cada lector y cada nivel de conocimiento y habilidad. Las barras laterales tienen errores y trucos comunes, consejos y otra información para ayudar a abordar algunas de las lagunas en el conocimiento. Cada capítulo también tiene varias referencias para estudios posteriores, lo cual es muy recomendable si lees este libro Violent Python.

Artículos recomendados

Aquí hay algunos artículos que lo ayudarán a obtener más detalles sobre la Violent Python Book Review, así que solo vaya al enlace.

  1. ¿Cuáles son los beneficios y las limitaciones de las preguntas de la entrevista AJAX?
  2. 25 preguntas y respuestas de la entrevista TOP de Python
  3. Comience con Python y Django para el desarrollo web
  4. ¿Cuáles son los beneficios y las limitaciones de usar Python?
  5. Python vs Ruby Performance ¿Qué tecnología es la mejor?