sábado, 9 de noviembre de 2013

Recopilación de herramientas en Python para pentesters


Si estás involucrado en la investigación de vulnerabilidades, ingeniería inversa o pruebas de intrusión, seguro que ya habrás utilizado Python porque cuenta con un rico conjunto de librerías y herramientas útiles para estos menesteres.

En la página de Dirk Loss podemos encontrar un gran recopilatorio de herramientas escritas en Python para penetration testers, algunas de ellas sólo enlaces a librerías C existentes, es decir, herramientas que hacen las librerías fácilmente utilizables desde programas de Python.

Sin embargo, por la difusa situación jurídica en Alemania no se incluyen algunas de las herramientas más agresivas (frameworks PenTest, smashers bluetooth, escáneres de vulnerabilidades de aplicaciones Web, war-dialers, etc.). Por ello y para tener una lista aún más completa, vamos a ir añadiendo todas las herramientas que vayamos encontrando. No dudes en comentar esta entrada si conoces alguna más y quieres que la añadamos a esta lista:
  

Red

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

Depuración e ingeniería inversa

 
  • Androguard: ingeniería inversa y análisis de aplicaciones de Android
  • apk-jet: un wrap de apktool en python para automatizar y hacer más fácil la ingeniería inversa de apks 
  • AsmJit: sencillo wrapper en Python para AsmJit usando SWIG. AsmJit posee clases de generación de código de alto nivel que pueden utilizarse para crear código JIT
  • BeaEnginePython: bindings de BeaEngine en Python de Mario Vilas. 
  • Binwalkes una herramienta de análisis firmware diseñada para ayudar en el análisis, la extracción y la ingeniería inversa de imágenes del firmware y otros blobsbinarios. Es fácil de utilizar, completamente programable y se puede extender fácilmente a través de firmas personalizadas, reglas de extracción y módulos deplugin.
  • bochs-python-instrumentation: Este parche para Bochs proporciona un intérprete de Python en lugar del propio depurador Bochs, proporcionando la funcionalidad del depurador. También permite interactuar con la interfaz de instrumentación bajo demanda, al asociar dinámicamente métodos de Python para manejar eventos de instrumentación.
  • Buggery: wrapper python para DbgEng. 
  • ctypes: módulo de Python que permite crear y manipular tipos de datos de C en Python. Estos luego pueden pasar a funciones C cargadas desde librerías de vínculos dinámicos.
  • Cuckoo: sistema sandbox de análisis de malware automatizado. Tiene un API para personalizar tanto el procesamiento como las etapas de presentación de informes. 
  • diStorm:  biblioteca de desensamblador para AMD64, bajo licencia BSD
  • IDAPython: plugin de IDA Pro que integra Python, permitiendo ejecutar scripts en IDA Pro
  • Immunity Debugger: GUI programable y debugger en linea de comandos
  • Paimei: framework de ingeniería inversa, incluye PyDBG, PIDA, pGRAPH
  • 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 
  • PyEMU: emulador IA-32 completamente programable, útil para análisis de malware
  • python-ptrace:depurador usando ptrace (Linux, BSD y Darwin system call para trazar procesos) escrito en Python
  • mona.py: PyCommand para Immunity Debugger que reemplaza y mejora pvefindaddr
  • uhooker: intercepta llamadas a llamadas a la API dentro de DLLs , así como las direcciones arbitrarias en el archivo ejecutable en la memoria
  • vdb / vtrace: API de depuración de procesos multi-plataforma implementado en python, y vdb es un depurador que lo utiliza
 

Fuzzing

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

Web

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

Forense

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

Análisis de 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.
  • phoneyc: implementacion de honeyclient totalmente escrito en python
  • pyew: editor hexadecimal y desensamblador en línea de comandos, principalmente usado para analizar malware
  • 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
 

PDF

 
  • Didier Stevens' PDF tools: analiza, identifica y crea ficheros PDF (incluye PDFiD,pdf-parsermake-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
  • PDFMiner: extrae texto de ficheros PDF 
  • pyPDF: Python PDF toolkit: extrae info, corta, une, cifra, descifra...
  • python-poppler-qt4: une Python con la librería Poppler PDF, incluyendo soporte Qt4
 

Misc

 
  • 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
  • Hachoir: permite ver y editar un stream binario campo por campo
  • InlineEgg: toolbox de clases para escribir pequeños programas en Python
  • 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
  • RevHosts: enumera los virtual hosts de una dirección IP dada
  • simplejson: JSON encoder/decoder, para por ej. usar Google's AJAX API
 

Otras herramientas y librerías útiles

 
  • IPython: shell Python interactivo y mejorado con algunas características para la introspección de objetos, acceso a una consola del sistema y su propio sistemaespecial de comandos
  • Beautiful Soup: HTML parser optimizado para screen-scraping
  • matplotlib: construye gráficos 2D de matrices
  • Mayavi: : 3D de visualización de datos científicos y plotting
  • RTGraph3D: crea gráficos dinámicos en 3D
  • Twisted: motor de creación de redes basada en eventos
  • Suds:  cliente SOAP ligero para servicios Web
  • M2Crypto: wrapper OpenSSL más completo
  • NetworkX: librería gráfica (bordes, nodos)
  • Pandas: librería que proporciona mayor rendimiento y mayor facilidad de uso para analizar estructuras de datos de alto rendimiento y herramientas de análisis de datos
  • pyparsing: módulo de parsing general
  • lxml: librería más rica en características y fácil de usar para trabajar con XML y HTML
  • Whoosh: rápido, con muchas características de indexación de texto completo y búsqueda de librería implementado en Python
  • Pexpect: controla y automatiza otros programas, similar al sistema Don Libes `Expect
  • Sikuli, tecnología visual para buscar y automatizar interfaces gráficas de usuario con capturas de pantalla. Programable en Jython
  • PyQt y PySide: Python bindings para el framework Qt y librería GUI

No hay comentarios:

Publicar un comentario