Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
credential-attacks-toolkit — Suite completa de ataque de credenciales para pruebas de seguridad autorizadas — SSH, FTP, Inicio de sesión web, Fuerza bruta, Ataques de diccionario | Kitploit
Herramientas/GitHubGitHub/amibhai/credential-attacks-toolkit
ReconocimientoAtaques de ContraseñasPruebas de PenetraciónRed Teaming
GitHubamibhai/credential-attacks-toolkit

credential-attacks-toolkit

Suite completa de ataque de credenciales para pruebas de seguridad autorizadas — SSH, FTP, Inicio de sesión web, Fuerza bruta, Ataques de diccionario

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
19hace 24 díasAún no revisado

CredAttack — Kit de Ataques de Credenciales

Release Python Protocols Tests License

⚠️ AVISO LEGAL — Solo pruebas de seguridad autorizadas.
Usar esta herramienta contra sistemas que no posees o para los que no tienes permiso escrito explícito es ilegal según la Computer Fraud and Abuse Act (EE. UU.), la Computer Misuse Act (Reino Unido) y leyes equivalentes en todo el mundo. Consulta SECURITY.md.


Tabla de Contenidos

  • ¿Qué es CredAttack?
  • Modos de Ataque
  • Protocolos Soportados
  • Arquitectura
  • Inicio Rápido
  • Instalación
  • Referencia CLI
  • Motor de Mutación de Contraseñas
  • Base de Datos de Credenciales por Defecto
  • Rotación de Proxies
  • Informes HTML
  • Configuración y Variables de Entorno
  • Docker
  • Pruebas
  • Estructura del Proyecto
  • Contribuciones

¿Qué es CredAttack?

CredAttack es un conjunto de pruebas de credenciales modular y de nivel de producción para compromisos de pruebas de penetración autorizados. Cubre el ciclo de vida completo del ataque de credenciales:

FaseCapacidad de CredAttack

Modos de Ataque


Protocolos Soportados


Arquitectura

root@kitploit:~
credattack.py          ← shim delgado: `python credattack.py ...` desde un checkout
│
├── credattack/cli.py   ← CLI (Typer) — 8 subcomandos de modo de ataque; también el
│                          script de consola `credattack` cuando se instala con pip
├── credattack/core/
│   ├── config.py      ← Configuraciones Pydantic v2, anulaciones de variables de entorno CREDATTACK_*
│   ├── engine.py      ← AttackEngine (ThreadPoolExecutor + interfaz de progreso Rich)
│   ├── lockout.py     ← LockoutDetector (ventana deslizante, seguro para subprocesos)
│   ├── proxy.py       ← ProxyRotator (round-robin, verificación de salud, degradación)
│   ├── mutator.py     ← PasswordMutator (leet, estacional, sufijo, recorrido de teclado…)
│   ├── result.py      ← Clases de datos AttemptResult + SessionReport
│   ├── report.py      ← Generador de informes HTML Jinja2
│   └── logger.py      ← Registro Rich + escritor de auditoría JSONL
│
├── credattack/protocols/
│   └── *.py           ← 18 implementaciones de ProtocolAttacker
│
├── credattack/data/
│   ├── default_creds.json    ← Más de 200 pares reales de credenciales por defecto
│   ├── smart_patterns.json   ← Más de 140 plantillas de contraseñas empresariales
│   └── wordlists/            ← Listas de contraseñas por defecto por servicio
│
└── tests/             ← Más de 50 pruebas pytest (unitarias + mocks de protocolo)

Inicio Rápido

root@kitploit:~
# Clonar y configurar
git clone https://github.com/amibhai/credential-attacks-toolkit.git
cd credential-attacks-toolkit
python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -r requirements.txt

# Comprobar versión
python credattack.py --version

# Ejecución de prueba (sin conexiones — verifica tus listas de palabras)
python credattack.py ssh -t 192.168.1.100 -u admin -P wordlists/common_passwords.txt --dry-run

# Ataque de diccionario SSH real
python credattack.py ssh -t 192.168.1.100 -u admin -P /path/to/rockyou.txt

# Spray de contraseñas (con limitación de velocidad, seguro contra bloqueos)
python credattack.py spray -t 192.168.1.100 --protocol ssh -U users.txt -p "Summer2024!" --delay 30

# Modo inteligente — generar patrones a partir del nombre de usuario + empresa
python credattack.py smart -t 192.168.1.100 --protocol ssh -u john.doe --company ACME

# Probar valores por defecto del servicio
python credattack.py defaults -t 192.168.1.100 --protocol mysql

# Campaña multi-objetivo
python credattack.py multi --targets hosts.txt --protocol ssh -U users.txt -P passes.txt

Instalación

Opción A — pip + virtualenv (recomendada)

root@kitploit:~
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install --upgrade pip
pip install -r requirements.txt

Opción B — Atajos de Makefile

root@kitploit:~
make install      # dependencias principales
make install-dev  # + pytest-cov, ruff, mypy

Opción C — Instalación con pip (editable o desde una rueda)

root@kitploit:~
pip install -e .          # solo dependencias principales
pip install -e .[full]    # + SMB/RDP/MySQL/MSSQL/Redis/MongoDB/WinRM/LDAP
pip install -e .[dev]     # + pytest/ruff/mypy

credattack --version      # script de consola, equivalente a `python credattack.py`

Opción D — Docker

root@kitploit:~
docker build -t credattack -f docker/Dockerfile .
docker run --rm credattack --help

# Monta tus listas de palabras y recoge la salida
docker run --rm \
  -v $(pwd)/wordlists:/app/wordlists:ro \
  -v $(pwd)/output:/app/output \
  credattack ssh -t 192.168.1.100 -u admin -P wordlists/common_passwords.txt

Referencia CLI

Opciones globales

root@kitploit:~
python credattack.py [OPTIONS] COMMAND [ARGS]...

Options:
  -V, --version    Muestra la versión y sale.
  --help           Muestra la ayuda.

Banderas comunes (disponibles en todos los comandos de protocolo)

Subcomandos

root@kitploit:~
# Específicos de protocolo (cada uno se asigna a un atacante dedicado)
python credattack.py ssh|ftp|smb|rdp|smtp|pop3|imap|mysql|mssql|redis|mongodb|winrm|ldap|telnet|vnc \
  -t HOST -u USER -P passes.txt

# HTTP (formulario / basic / digest)
python credattack.py http -t http://target/login --mode form \
  --form-user-field username --form-pass-field password --success-string "Dashboard"

# Spray — una contraseña, muchos usuarios, retraso largo
python credattack.py spray -t HOST --protocol ssh -U users.txt -p "Password1" --delay 30

# Combo — producto cartesiano usuarios × contraseñas
python credattack.py combo -t HOST --protocol smb -U users.txt -P passes.txt

# Inteligente — generación derivada de OSINT
python credattack.py smart -t HOST --protocol ssh -u firstname.lastname --company TargetCorp

# Por defecto — probar credenciales por defecto del proveedor
python credattack.py defaults -t HOST --protocol mysql

# Multi — mismo ataque contra múltiples hosts
python credattack.py multi --targets hosts.txt --protocol ssh -U users.txt -P passes.txt

# Full — todos los protocolos en secuencia
python credattack.py full -t HOST -U users.txt -P passes.txt

Motor de Mutación de Contraseñas

PasswordMutator en credattack/core/mutator.py admite estrategias componibles:

root@kitploit:~
from credattack.core.mutator import PasswordMutator

m = PasswordMutator(max_mutations=5000)

# Todas las estrategias combinadas
for pw in m.smart_generate("john.doe", company="ACME"):
    print(pw)

# Solo patrones estacionales
for pw in m.seasonal_patterns(company="Contoso"):
    print(pw)

Base de Datos de Credenciales por Defecto

credattack/data/default_creds.json contiene más de 200 pares reales de credenciales por defecto en:

Cisco · F5 · Juniper · Palo Alto · VMware · Jenkins · GitLab · Tomcat · WordPress · MySQL · MSSQL · Redis · MongoDB · PostgreSQL · Elasticsearch · RabbitMQ · Splunk · Nagios · Zabbix · pfSense · MikroTik · Huawei · HP iLO · Dell iDRAC · IPMI

root@kitploit:~
# Ver todos los valores por defecto de un servicio
python credattack.py defaults -t HOST --protocol mysql --dry-run

# Ejecutar contra el objetivo
python credattack.py defaults -t 10.0.0.1 --protocol ssh

Rotación de Proxies

Pasa un archivo de proxies (un proxy por línea, formato host:port):

root@kitploit:~
# proxies.txt
192.168.1.10:1080
192.168.1.11:1080
socks5://10.0.0.5:9050
root@kitploit:~
python credattack.py ssh -t TARGET -u admin -P passes.txt --proxy-file proxies.txt

El ProxyRotator realiza verificaciones de salud al inicio y degrada los proxies que superan un umbral de tasa de fallos. Los proxies muertos se excluyen automáticamente.


Informes HTML

Tras cada ataque que no sea de prueba se genera automáticamente un informe HTML en ./output/:

  • Tarjetas de estadísticas: intentos totales, tasa de éxito, duración, intentos/segundo
  • Tabla de credenciales encontradas: host · protocolo · nombre de usuario · contraseña (copiar al portapapeles)
  • Plantilla Jinja2 de tema oscuro
root@kitploit:~
# Abrir después de una ejecución
start output/report_*.html      # Windows
open  output/report_*.html      # macOS

Configuración y Variables de Entorno

Todas las configuraciones en credattack/core/config.py se pueden anular mediante variables de entorno CREDATTACK_*:

root@kitploit:~
export CREDATTACK_THREADS=20
export CREDATTACK_TIMEOUT=3.0
export CREDATTACK_DELAY=1.0
export CREDATTACK_JITTER=0.5
export CREDATTACK_LOCKOUT_THRESHOLD=3
export CREDATTACK_VERBOSITY=2

O a nivel de CLI con las banderas estándar (--threads, --timeout, etc.).


Docker

root@kitploit:~
# Construir imagen
docker build -t credattack -f docker/Dockerfile .

# Ejecutar con Docker Compose
cd docker
docker compose run credattack ssh -t 192.168.1.100 -u admin -P /app/wordlists/common_passwords.txt

# Configurar mediante variables de entorno
docker run --rm \
  -e CREDATTACK_THREADS=20 \
  -e CREDATTACK_TIMEOUT=3 \
  -v $(pwd)/output:/app/output \
  credattack defaults -t 10.0.0.1 --protocol mysql

Pruebas

root@kitploit:~
# Ejecutar todas las pruebas
pytest -q

# Con cobertura
pytest --cov=credattack --cov-report=term-missing -q

# Atajo de Makefile
make test-cov

Conjunto actual: más de 50 pruebas que cubren:


Listas de Palabras

⚠️ Los archivos wordlists/ incluidos son stubs mínimos de prueba de humo. Proporciona los tuyos para evaluaciones reales.

Fuentes recomendadas

root@kitploit:~
# Usar cualquier lista de palabras externa
python credattack.py ssh -t TARGET -u admin -P /opt/wordlists/rockyou.txt

Estructura del Proyecto

root@kitploit:~
credential-attacks-toolkit/
├── credattack.py               # Shim delgado -> credattack.cli:app (uso desde checkout de fuente)
├── pyproject.toml              # Configuración de compilación y herramientas PEP 517/518
├── requirements.txt            # Dependencias de ejecución
├── Makefile                    # Atajos para desarrolladores
├── VERSION                     # Fuente única de verdad de versión
├── CHANGELOG.md
├── SECURITY.md
├── .github/
│   └── workflows/ci.yml        # GitHub Actions: lint + matriz de pruebas + mypy
├── docker/
│   ├── Dockerfile
│   └── docker-compose.yml
├── credattack/
│   ├── cli.py                  # CLI (Typer) — empaquetado, respalda el script de consola
│   ├── core/
│   │   ├── config.py           # Configuraciones Pydantic v2
│   │   ├── engine.py           # AttackEngine (ThreadPoolExecutor)
│   │   ├── lockout.py          # LockoutDetector (ventana deslizante)
│   │   ├── proxy.py            # ProxyRotator
│   │   ├── mutator.py          # PasswordMutator
│   │   ├── result.py           # AttemptResult, SessionReport
│   │   ├── report.py           # Generador de informes HTML
│   │   └── logger.py           # Registro Rich + escritor JSONL
│   ├── protocols/              # 18 implementaciones de ProtocolAttacker
│   │   └── base.py             # ProtocolAttacker abstracto
│   └── data/
│       ├── default_creds.json  # Más de 200 valores por defecto de proveedores
│       ├── smart_patterns.json # Más de 140 plantillas empresariales
│       └── wordlists/          # Listas iniciales por servicio
├── attacks/                    # Herramientas independientes de un solo archivo (anteriores a credattack/;
│   └── *.py                    # conservadas para scripts aún no migrados: cracking JWT,
│                                # detección de WAF, enumeración de usuarios por tiempo)
├── utils/
│   └── credential_utils.py     # Ayudantes compartidos para los scripts de attacks/
├── tests/
│   ├── conftest.py             # Fixtures compartidos
│   ├── test_lockout.py
│   ├── test_mutator.py
│   ├── test_mutator_extended.py
│   ├── test_proxy.py
│   ├── test_result.py
│   ├── test_protocols_ssh.py
│   ├── test_protocols_ftp.py
│   └── test_protocols_http.py
├── wordlists/                  # Stubs mínimos de prueba de humo
└── output/                     # Registros e informes generados (ignorados por git)

Tasas de Éxito de Ataques (Indicativas)


Contribuciones

Consulta CONTRIBUTING.md.
Abre una incidencia antes de enviar PRs grandes.
Todas las contribuciones deben cumplir con la política de uso ético en SECURITY.md.


Úsalo de forma responsable. Prueba éticamente. Mantente dentro de la ley.

Descargar herramienta
ReconocimientoBase de datos de credenciales por defecto (200+ pares), generación inteligente de patrones derivados del nombre de usuario
Ataque17 atacantes de protocolo, 6 modos de ataque, campañas multi-objetivo
EvasiónDetección de bloqueo, limitación de velocidad configurable, jitter, rotación de proxies
InformesRegistro de auditoría JSONL, informe HTML Jinja2, banner de credenciales encontradas + volcado de archivos
ModoComandoDescripción
Diccionariossh, ftp, smb, …Lista de palabras contra un usuario
SpraysprayUna contraseña contra una lista de usuarios (seguro contra bloqueos)
CombocomboCada usuario × cada contraseña
InteligentesmartGeneración de patrones derivados del nombre de usuario/empresa
Por defectodefaultsProbar más de 200 valores por defecto conocidos de servicios
Multi-objetivomultiMismo ataque contra una lista de hosts
Pipeline completofullTodos los protocolos, un informe
#ProtocoloMóduloPuerto por DefectoNotas
1SSHssh.py22paramiko, autenticación por clave/contraseña
2FTPftp.py21Modo activo y pasivo
3Formulario HTTPhttp_form.py80/443Detección automática de token CSRF
4HTTP Basichttp_basic.py80RFC 7617
5HTTP Digesthttp_digest.py80RFC 7616
6SMBsmb.py445impacket, NTLM
7RDPrdp.py3389impacket NLA
8SMTPsmtp.py587STARTTLS
9POP3pop3.py110Soporte APOP
10IMAPimap.py143STARTTLS
11MySQLmysql.py3306mysql-connector-python
12MSSQLmssql.py1433pymssql
13Redisredis_proto.py6379Comando AUTH
14MongoDBmongodb.py27017pymongo
15WinRMwinrm.py5985NTLM, pywinrm
16LDAPldap_proto.py389ldap3, auto-detección rootDSE
17Telnettelnet.py23TCP sin procesar
18VNCvnc.py5900Desafío-respuesta DES sin procesar
BanderaCortaPor defectoDescripción
--target-t—Host / IP objetivo
--port0 (por defecto del protocolo)Anular puerto TCP
--username-u—Nombre de usuario único
--user-file-U—Archivo de nombres de usuario separados por nueva línea
--pass-file-P—Archivo de contraseñas separadas por nueva línea
--password-p2—Contraseña única
--threads-n10Trabajadores concurrentes
--timeout-T5.0Tiempo de espera por intento (s)
--delay-d0.0Retraso fijo entre intentos (s)
--jitter0.0Jitter aleatorio máximo (s)
--stop-on-firstTrueDetener por usuario tras el primer acierto
--proxy-fileNoneLista de proxies HTTP/SOCKS5
--output-dir-o./outputDirectorio de resultados
--verbosity-v1Nivel de registro (0-3)
--dry-runFalseContar pares sin conectar
EstrategiaMétodoEjemplo de salida
Leet-speakleet_speak(word)p@ssw0rd, p455w0rd
Capitalizacióncapitalise_variants(word)PASSWORD, Password, pAsSwOrD
Sufijosuffix_append(word)password123, password@2025
Prefijoprefix_append(word)!password, mypassword
Recorrido de tecladokeyboard_walk(word)qassword (a→q)
Patrones de nombre de usuariousername_patterns(user, company)john123, Doe1!, ACME2024!
Estacional (v1.1)seasonal_patterns(company)Summer2024!, Winter25
Envoltura de caracteres especiales (v1.1)special_char_wrap(word)!@Password, Password!@
Combinarcombine(word, strategies)encadena cualquiera de las anteriores
Inteligente (todo en uno)smart_generate(user, company)flujo deduplicado y limitado
ÁreaPruebas
Detector de bloqueo (ventana deslizante, seguridad de subprocesos)test_lockout.py
Estrategias del mutador de contraseñastest_mutator.py
Nuevas estrategias del mutador (estacional, caracteres especiales)test_mutator_extended.py
Rotador de proxies (verificación de salud, degradación)test_proxy.py
Clases de datos Result y SessionReporttest_result.py
Mock del protocolo SSHtest_protocols_ssh.py
Mock del protocolo FTPtest_protocols_ftp.py
Mocks de HTTP Basic y Digesttest_protocols_http.py
Lista de palabrasTamañoMejor para
rockyou.txt~14 MDiccionario general
SecLists/Passwords/VariosEspecífico de protocolo
kaonashi.txt~64 MCobertura avanzada
Derivadas de OSINTVariableAtaques dirigidos
Tipo de ContraseñaDiccionarioModo InteligenteSpray (común)
4 caracteres~90%~95%~60%
6 caracteres~65%~75%~25%
8 caracteres mixtos~15%~25%~5%
10+ caracteres complejos<5%<5%<1%