Skip to content

Latest commit

 

History

History
104 lines (76 loc) · 7.86 KB

README-es-ES.md

File metadata and controls

104 lines (76 loc) · 7.86 KB

CommixProject

Builds Tests Python 3.7+ GPLv3 License Follow @commixproject

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

  • Cuatro técnicas de inyección - results-based, boolean-based, time-based y file-based, elegidas con --technique o según el tipo con el que se informan con --type - consulte techniques para ver qué exige cada una de un objetivo.
  • Out-of-band, cuando no vuelve nada - --oob demuestra la ejecución y trae de vuelta la salida del comando sobre HTTP/S o DNS, llegando al servidor mediante el cliente que el objetivo tenga - consulte out-of-band client para ver cuáles prueba y cómo fijar uno.
  • Inyección de código - --eval prueba lo que el objetivo evalúa como código, en PHP, Python, Ruby, JavaScript, PowerShell, Perl o Lua, con esas mismas técnicas.
  • Dondequiera que llegue la entrada - parámetros GET/POST, cabeceras HTTP y cookies, cuerpos JSON/XML/GraphQL, además del módulo shellshock para objetivos CGI.
  • De la prueba a la shell - --os-shell, los modos integrados reverse_tcp y bind_tcp ampliables a una PTY completa, transferencia de archivos, lectura y escritura del registro de Windows, y enumeración hasta los hashes de contraseñas, con un ataque de diccionario ofrecido contra ellos.
  • Evasión de filtros y WAF - scripts de manipulación (tamper) combinables, aplicados en un orden determinista - consulte filters bypass examples.
  • Objetivos de cualquier forma - una URL, un rastreo del sitio, formularios HTML, un sitemap, una descripción OpenAPI (Swagger), un registro de proxy, un archivo con varios objetivos, una petición HTTP en bruto o entrada por stdin - consulte target options.
  • Reanudable y automatizable - archivos de sesión por objetivo, salida JSON/CSV/HAR, perfiles de opciones reutilizables, --proof, que vuelve a demostrar cualquier hallazgo con un experimento propio, y una API REST para lanzar análisis desde otro sitio.
  • Tipo Unix y Windows - back-ends PHP, Python, Perl, Ruby, ASP.NET, JSP y CGI - consulte Windows and Unix-like targets at a glance para ver en qué se diferencian las cargas útiles.

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://commix-testbed/scenarios/regular/GET/classic.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://commix-testbed/scenarios/regular/POST/blind.php" --data="addr=127.0.0.1" --oob

Note

El cliente se elige según lo que tenga el objetivo, de modo que una máquina sin los clientes HTTP habituales sigue estando al alcance - fije uno con --oob-transport cuando su salida a red ya se conozca. 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 out-of-band-oob-channel 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