Skip to content

Latest commit

 

History

History
99 lines (71 loc) · 5.96 KB

File metadata and controls

99 lines (71 loc) · 5.96 KB

CommixProject

Builds Tests Python 3.7+ GPLv3 License X

Commix (abreviatura de [comm]and [i]njection e[x]ploiter) es una herramienta de pruebas de penetración de código abierto, escrita por Anastasios Stasinopoulos (@ancst), que automatiza la detección y explotación de vulnerabilidades de tipo command (y code) injection.

Screenshot

Puede visitar la colección de capturas de pantalla que muestra algunas de las funcionalidades disponibles en el wiki.

Important

Este proyecto está en desarrollo activo. Es posible que se produzcan cambios incompatibles entre revisiones. Consulte el registro de cambios antes de actualizar.

Commix está pensado principalmente para usarse como herramienta autónoma de línea de comandos, y ejecuta comandos del sistema operativo en los objetivos que analiza. Ejecutar commix como un servicio puede suponer riesgos de seguridad. Se recomienda usarlo con precaución, y únicamente contra sistemas de su propiedad o para los que cuente con autorización explícita.

Características

  • Cinco técnicas de inyección - classic, dynamic code evaluation, time-based, file-based (con una variante tempfile-based para objetivos con escritura restringida) y out-of-band (OAST) sobre HTTP/S y DNS.
  • Amplia superficie de inyección - parámetros GET/POST, cabeceras HTTP, cookies y cuerpos de petición JSON/XML, además del módulo shellshock para objetivos CGI.
  • Shells interactivas - una os_shell en el objetivo, los modos integrados reverse_tcp y bind_tcp, y transferencia de archivos (download/upload) a través de la shell establecida.
  • Enumeración y acceso a archivos - usuario actual, nombre del host, privilegios, información del sistema, usuarios y hashes de contraseñas; lectura y escritura de archivos en el objetivo.
  • Evasión de filtros y WAF - Múltiples scripts de manipulación (tamper) combinables, aplicados en un orden determinista.
  • Objetivos flexibles - una única URL, un rastreo del sitio, formularios HTML, un sitemap, un registro de proxy, un archivo con varios objetivos, un archivo con una petición HTTP en bruto o entrada por stdin.
  • Análisis reanudables - los resultados se almacenan por objetivo en un archivo de sesión y pueden exportarse a JSON.
  • Amplio soporte de back-end - PHP, Python, Perl, Ruby y CGI, con soporte experimental para ASP.NET y JSP.

Instalación

Puede descargar commix en cualquier plataforma clonando el repositorio Git oficial:

$ git clone https://github.com/commixproject/commix.git commix

Alternativamente, puede descargar la última versión tarball o versión zipball.

Note

Se necesita Python (versión 3.7 o posterior) para ejecutar commix. El resto de dependencias se incluyen con el programa, por lo que no hace falta ningún paso de instalación adicional.

Uso

Para obtener una lista de todas las opciones y parámetros disponibles:

$ python3 commix.py -h

Probar un único parámetro inyectable y abrir una shell en el objetivo:

$ python3 commix.py --url="http://www.target.com/vuln.php?addr=127.0.0.1" --os-shell

Demostrar la ejecución fuera de banda, cuando la respuesta no devuelve nada:

$ python3 commix.py --url="http://www.target.com/vuln.php" --data="addr=127.0.0.1" --oob

Note

La detección fuera de banda (OAST) con --oob utiliza de forma predeterminada el servidor interactsh público oast.fun, por lo que los metadatos de las interacciones con su objetivo salen de su red. Apunte --oob-server a una instancia propia para mantenerlos internos. Para una guía detallada, consulte la página techniques del wiki.

Analizar una lista de objetivos de forma desatendida y guardar los resultados en un archivo:

$ python3 commix.py -m targets.txt --batch --report-json=results.json

Para obtener una visión general de las opciones, parámetros y conceptos básicos de uso de commix, consulte las páginas del wiki Uso, Ejemplos de uso y Evasión de filtros.

Enlaces