Colección de Herramientas de Hacking (Python)

ninja-ideSi estas involucrado en el análisis de vulnerabilidades, ingeniería inversa, o pentesting, les sugiero probar con el lenguaje Python. Cuenta con un gran conjunto de bibliotecas y programas útiles. En este post se enumeran algunos de ellos.

La mayor parte de las herramientas enumeradas están desarrolladas en Python, otras son enlaces Python a librerías C existentes. es decir, que hacen que esas bibliotecas se puedan utilizar fácilmente a partir de programas escritos en Python.

.

.

Network

  • Scapy: envía, rastrea y analiza y crea paquetes de red. Se puede usar de forma interactiva o como una librería
  • pypcap, Pcapy y pylibpcap: varios enlaces Python para libpcap
  • libdnet: rutinas de red de bajo nivel, incluyendo la interfaz de búsqueda y transmisión de tramas Ethernet
  • dpkt: rápida y simple creación de paquetes y análisis, con las definiciones básicas de los protocolos TCP/IP
  • Impacket: modifica y decodifica paquetes de red. Incluye soporte para los protocolos de más alto nivel, tales como NMB y SMB
  • pynids: wrapper de libnids que incluye sniffing, IP defragmentation, reensamblado de streams TCP y detección de escaneos de puertos
  • Dirtbags py-pcap: lee ficheros pcap sin libpcap
  • flowgrep: grep a través de payloads de paquetes utilizando expresiones regulares
  • Knock Subdomain Scan: enumera los subdominios de un dominio de destino a través de una lista de palabras
  • SubBrute: Herramienta de enumeración rápida de subdominios
  • Mallory: proxy man-in-the-middle extensible TCP/UDP, soporta la modificación de protocolos no estándar al vuelo
  • Pytbull: framework de pruebas de IDS/IPS muy flexible (incluye más de 300 tests)

Debugging and Reverse Engineering

  • Paimei: framework de ingeniería inversa, incluye PyDBG, PIDA, pGRAPH
  • Immunity Debugger: GUI programable y debugger en linea de comandos
  • mona.py: PyCommand para Immunity Debugger que reemplaza y mejora pvefindaddr
  • IDAPython: plugin de IDA Pro que integra Python, permitiendo ejecutar scripts en IDA Pro
  • PyEMU: emulador IA-32 completamente programable, útil para análisis de malware
  • pefile: permite leer y trabajar con archivos Portable Executable (PE)
  • pydasm: interfaz en Python para la librería libdasm de desensamblado x86
  • PyDbgEng: wrapper en Python para el motor de depuración de Microsoft Windows
  • uhooker: intercepta llamadas a llamadas a la API dentro de DLLs , así como las direcciones arbitrarias en el archivo ejecutable en la memoria
  • diStorm: biblioteca de desensamblador para AMD64, bajo licencia BSD
  • python-ptrace: depurador usando ptrace (Linux, BSD y Darwin system call para trazar procesos) escrito en Python
  • vdb / vtrace: API de depuración de procesos multi-plataforma implementado en python, y vdb es un depurador que lo utiliza
  • Androguard: ingeniería inversa y análisis de aplicaciones de Android
  • Capstone: Framework desensamblador ligero multi-plataforma, multi-arquitectura con enlaces Python
  • PyBFD: Interfase Python para la libreria GNU Binary File Descriptor (BFD)

Fuzzing

  • Sulley: framework de desarrollo fuzzer y pruebas que consiste en varios componentes extensibles
  • Peach Fuzzing Platform: framework de fuzzing extensible para la generación y la mutación basada en fuzzing (la v2 fue escrita en Python)
  • antiparser: fuzz testing y API de inyección de fallos
  • TAOF: (el Arte del Fuzzing) incluye ProxyFuzz, un fuzzer man-in -the-middle de red no determinista
  • untidy: fuzzer XML de propósito general
  • Powerfuzzer: fuzzer web altamente automatizado y totalmente personalizable (protocolo HTTP basado en fuzzer de aplicación)
  • SMUDGE
  • Mistress: genera formatos de archivos al vuelo y protocolos con datos malformados, basados en patrones predefinidos
  • Fuzzbox: multi-codec media fuzzer
  • Forensic Fuzzing Tools: genera ficheros fuzzeados, sistemas de ficheros, y sistemas de ficheros con ficheros fuzzeados para probar la robustez de herramientas forenses y sistemas de análisis
  • Windows IPC Fuzzing Tools: herramientas para fuzzear aplicaciones que usan mecanismos Windows Interprocess Communication
  • WSBang: ejecuta pruebas automáticas contra servicios web SOAP
  • Construct: librería para parsear y construir estructuras de datos (binario o texto).
  • fuzzer.py (feliam): fuzzer sencillo de Felipe Andres Manzano
  • Fusil: librería en Python usada para escribir programas de fuzzing

WEB

  • Requests: librería HTTP sencilla y elegante, hecha para seres humanos
  • HTTPie: cliente http similar a cURL pero más intuitivo.
  • ProxMon: procesa logs de proxy y crea informes con los resultados
  • WSMap: encuentra servicios web y descubre ficheros
  • Twill: navega por Internet mediante un interface en línea de comandos. Soporta web testing automatizado
  • Ghost.py: cliente webkit escrito en Python
  • Windmill: herramienta de pruebas creada para automatizar y depurar aplicaciones web
  • FunkLoad: medidor de carga web funcional
  • spynner: módulo de navegación web programable para Python con soporte Javascript/AJAX
  • python-spidermonkey: binding para el motor JavaScript de Mozilla SpiderMonkey; permite llamar y evaluar scripts y funciones Javascript
  • mitmproxy: proxy HTTP de interceptación con soporte SSL. Permite inspeccionar y editar tráfico al vuelo.
  • pathod / pathoc: demonio/cliente para saturar clientes y servidores HTTP

Forensics

  • Volatility: extrae y analiza artefactos digitales de la memoria volátil (RAM)
  • Rekall: Framework de análisis de memoria desarrollado por Google
  • LibForensics: librería para desarrollar aplicaciones forenses digitales
  • TrIDLib: identifica los tipos de archivo de sus firmas binarias. Ahora incluye Python binding
  • aft: Android forensic toolkit

Malware Analysis

  • pyew: editor hexadecimal y desensamblador en línea de comandos, principalmente usado para analizar malware
  • Exefilter: filtra formatos de archivo en mensajes de correo electrónico, páginas web o archivos. Detecta muchos formatos de archivo comunes y puede eliminar contenido.
  • pyClamAV: añade capacidades de detección de virus para tu software Python
  • jsunpack-n: unpacker de JavaScript genérico: emula la funcionalidad del navegador para detectar exploits dirigidos a explotar vulnerabilidades en navegadores y plugins
  • yara-python: identifica y clasifica muestras de malware
  • phoneyc: implementación de honeyclient totalmente escrito en python
  • CapTipper: analiza, explora y reactiva trafico HTTP malicioso desde un archivo PCAP

PDF

  • peepdf: Herramienta de Python para analizar y explorar los archivos PDF para saber si pueden ser dañinos
  • Didier Stevens’ PDF tools: analiza, identifica y crea ficheros PDF (incluye PDFiD, pdf-parser, make-pdf y mPDF)
  • Opaf: Open Framework Analysis PDF . Convierte PDF a un árbol XML que puede ser analizado y modificado.
  • Origapy: wrapper de Python para el módulo de Ruby Origami que desinfecta archivos PDF
  • pyPDF2: Python PDF toolkit, extrae info, corta, une, cifra, descifra…
  • PDFMiner: extrae texto de ficheros PDF
  • python-poppler-qt4: une Python con la librería Poppler PDF, incluyendo soporte Qt4

MISC

  • InlineEgg: toolbox de clases para escribir pequeños programas en Python
  • Exomind: para la creación de gráficos y el desarrollo de módulos de inteligencia de código abierto, centrada en servicios de redes sociales, motores de búsqueda y mensajería instantánea
  • RevHosts: enumera los virtual hosts de una dirección IP dada
  • simplejson: JSON encoder/decoder, para por ej. usar Google’s AJAX API
  • PyMangle: herramienta de línea de comandos y una biblioteca de Python utilizada para crear listas de palabras para su uso con otras herramientas de pruebas de intrusión
  • Hachoir: permite ver y editar un stream binario campo por campo
  • py-mangle: Herramienta de linea de comandos y biblioteca de Python que se utiliza para crear listas de palabras para su uso con otras herramientas de pentesting

En el link también van a encontrar otras herramientas y scripts desarrolladas en Python como así también mucha documentación acorde.

Python tools for penetration testers

.