Comandos de Brutus
Comandos completos de la herramienta de prueba de credenciales multiprotocolo Brutus para pruebas de penetración y evaluaciones de seguridad.
Instalación
Sección titulada «Instalación»| Comando | Descripción |
|---|---|
go install github.com/praetorian-inc/brutus@latest | Instalar vía Go |
| Download from GitHub Releases | Binario único precompilado |
brutus --version | Mostrar versión de Brutus |
brutus --help | Mostrar ayuda y comandos disponibles |
chmod +x brutus | Hacer binario descargado ejecutable |
Uso Básico
Sección titulada «Uso Básico»| Comando | Descripción |
|---|---|
brutus ssh --host 192.168.1.1 | Probar credenciales SSH |
brutus ssh --host 192.168.1.1 -u admin -p passwords.txt | SSH con usuario y lista de palabras |
brutus mysql --host 192.168.1.1 -u root | Probar credenciales MySQL |
brutus rdp --host 192.168.1.1 -u administrator | Probar credenciales RDP |
brutus smb --host 192.168.1.1 -u admin | Probar credenciales SMB |
brutus ftp --host 192.168.1.1 -u anonymous | Probar credenciales FTP |
Protocolos Compatibles
Sección titulada «Protocolos Compatibles»| Protocolo | Descripción |
|---|---|
ssh | Autenticación Secure Shell |
mysql | Autenticación de base de datos MySQL |
postgresql | Autenticación de base de datos PostgreSQL |
redis | Autenticación Redis |
mongodb | Autenticación MongoDB |
smb | Server Message Block |
rdp | Protocolo de Escritorio Remoto |
ftp | Protocolo de Transferencia de Archivos |
telnet | Autenticación Telnet |
vnc | Autenticación VNC |
snmp | Prueba de cadena de comunidad SNMP |
ldap | Autenticación LDAP |
mssql | Microsoft SQL Server |
http-basic | Autenticación HTTP Basic |
http-form | Autenticación basada en formulario HTTP |
smtp | Autenticación SMTP |
pop3 | Autenticación de correo POP3 |
imap | Autenticación de correo IMAP |
cassandra | Autenticación de base de datos Cassandra |
oracle | Autenticación de base de datos Oracle |
Opciones de Credenciales
Sección titulada «Opciones de Credenciales»| Bandera | Descripción |
|---|---|
-u <user> | Nombre de usuario único |
-U <file> | Archivo de lista de palabras de nombre de usuario |
-p <pass> | Contraseña única |
-P <file> | Archivo de lista de palabras de contraseña |
-C <file> | Archivo combo (usuario:contraseña por línea) |
--default-creds | Probar credenciales predeterminadas comunes |
--empty-password | Probar contraseñas vacías |
--user-as-pass | Probar nombre de usuario como contraseña |
--reverse-user | Probar nombre de usuario invertido como contraseña |
Opciones de Conexión
Sección titulada «Opciones de Conexión»| Bandera | Descripción |
|---|---|
--host <ip> | IP de host de destino o nombre de host |
--port <port> | Puerto personalizado (anula predeterminado) |
--hosts-file <file> | Archivo con lista de hosts de destino |
-t <threads> | Número de hilos concurrentes |
--timeout <seconds> | Tiempo de espera de conexión por intento |
--delay <ms> | Retraso entre intentos |
--retry <count> | Número de reintentos en caso de fallo |
--proxy <url> | Enrutar a través del proxy |
Opciones de Salida
Sección titulada «Opciones de Salida»| Bandera | Descripción |
|---|---|
-o <file> | Resultados de salida a archivo |
--json | Salida en formato JSON |
--json-pretty | Salida JSON con formato bonito |
--quiet | Suprimir salida detallada |
--verbose | Aumentar verbosidad de salida |
--no-color | Deshabilitar salida coloreada |
--found-only | Mostrar solo inicios de sesión exitosos |
Opciones Específicas de SSH
Sección titulada «Opciones Específicas de SSH»| Bandera | Descripción |
|---|---|
--ssh-key <file> | Probar con clave privada SSH |
--ssh-badkeys | Probar claves SSH conocidas/malas |
--ssh-agent | Usar agente SSH para claves |
--ssh-vagrant | Probar clave insegura de Vagrant |
--ssh-key-passphrase <pass> | Frase de paso para clave encriptada |
Integración de Canalización
Sección titulada «Integración de Canalización»| Comando | Descripción |
|---|---|
naabu -host 192.168.1.0/24 -p 22 -json | brutus ssh | Canalizar resultados de escaneo de puerto naabu |
fingerprintx -json | brutus auto | Auto-detectar protocolo desde huella digital |
brutus ssh --json | jq '.[] | select(.success)' | Filtrar inicios de sesión exitosos con jq |
echo '{"host":"192.168.1.1","port":22}' | brutus ssh | Canalizar destino único como JSON |
brutus ssh --json -o results.json | Guardar resultados JSON en archivo |
Uso Avanzado
Sección titulada «Uso Avanzado»| Comando | Descripción |
|---|---|
brutus ssh -t 50 --delay 100 | Prueba de velocidad limitada (50 hilos, 100ms de retraso) |
brutus auto --hosts-file targets.txt | Auto-detectar y probar múltiples destinos |
brutus http-form --url <url> --form-data "user=^USER^&pass=^PASS^" | Fuerza bruta de formulario HTTP |
brutus http-basic --url <url> | Prueba de autenticación HTTP Basic |
brutus ssh --default-creds --hosts-file iot-devices.txt | Escaneo de credenciales predeterminadas de IoT |
Prueba de Credenciales Predeterminadas
Sección titulada «Prueba de Credenciales Predeterminadas»| Comando | Descripción |
|---|---|
brutus ssh --default-creds | Probar credenciales predeterminadas de SSH |
brutus mysql --default-creds | Probar valores predeterminados de MySQL (root/blank, etc.) |
brutus postgresql --default-creds | Probar valores predeterminados de PostgreSQL |
brutus redis --default-creds | Probar valores predeterminados de Redis |
brutus snmp --default-creds | Probar cadenas de comunidad SNMP |
Prueba de Claves Malas (SSH)
Sección titulada «Prueba de Claves Malas (SSH)»| Comando | Descripción |
|---|---|
brutus ssh --ssh-badkeys | Probar todas las claves SSH malas conocidas |
| Includes Rapid7 ssh-badkeys | Claves privadas filtradas conocidas |
| Includes HashiCorp Vagrant key | Clave insegura de Vagrant predeterminada |
| Keys compiled into binary | No se necesitan archivos de clave externos |
brutus ssh --ssh-badkeys --hosts-file servers.txt | Prueba de claves malas por lotes |
Seguridad y Limitación de Velocidad
Sección titulada «Seguridad y Limitación de Velocidad»| Bandera | Descripción |
|---|---|
-t 1 | Hilo único (más suave) |
--delay 1000 | 1 segundo entre intentos |
--max-attempts 3 | Detener después de 3 fallos por host |
--lockout-threshold 5 | Detener después de 5 detecciones de bloqueo |
--timeout 10 | Tiempo de espera de conexión de 10 segundos |
Consejos y Mejores Prácticas
Sección titulada «Consejos y Mejores Prácticas»| Consejo | Descripción |
|---|---|
| Always have authorization | Probar solo sistemas autorizados |
| Start with default creds | Más efectivo para acceso inicial |
| Use rate limiting | Evitar activar bloqueos de cuenta |
| Pipe from reconnaissance | Encadenar con naabu y fingerprintx |
| Use JSON output | Datos estructurados para informes |
| Test bad SSH keys | Ganancias rápidas en servidores mal configurados |
| Check before brute forcing | Probar primero credenciales predeterminadas y claves malas |
| Monitor for lockouts | Vigilar respuestas de bloqueo de cuenta |