Overview
scan4all supports password cracking across 23 protocols, enabling comprehensive authentication testing during security assessments. Each protocol implementation includes timeout handling, error detection, and integration with the tool’s concurrent execution engine.Password cracking is enabled by default when
priorityNmap=true. The feature automatically activates when authentication-protected services are detected.Supported Protocols
Frompkg/hydra/hydra.go:25:
Database Protocols
MySQL
MySQL / MariaDB Authentication
Tests authentication against MySQL and MariaDB database servers.
pkg/hydra/mysql/mysql.go
Connection Details:
- Default Port:
3306 - Timeout: 5 seconds
- Authentication Method: Native password authentication
- Automatic connection handling
- Error detection and logging
- SSL/TLS support (when available)
Microsoft SQL Server
MsSQL Authentication
Tests authentication against Microsoft SQL Server instances.
pkg/hydra/mssql/mssql.go
Connection Details:
- Default Port:
1433 - Timeout: Connection-dependent
- Authentication Method: SQL Server authentication
Oracle Database
Oracle Database Authentication
Tests Oracle Database authentication with automatic SID enumeration.
pkg/hydra/oracle/oracle.go
Connection Details:
- Default Port:
1521 - Timeout: 3-5 seconds
- Authentication Method: Oracle native authentication
- SID Detection: Automatic enumeration from 400+ known SIDs
Automatic SID Enumeration
Automatic SID Enumeration
scan4all includes an extensive list of 400+ common Oracle SIDs including:
- Standard SIDs:
orcl,XE,ORACLE,ORACLE10,ORACLE11 - Version-specific:
ORA10101,ORA10102,ORA920,ORA910 - Environment-based:
DEV,TEST,PROD,TST,UAT - Application-specific:
SAP,HR,ERP,DWH,ASDB - Platform-specific:
LINUX817,WIN817,UNIX817,WINDOWS817
Protocol Detection
Protocol Detection
Verifies Oracle protocol availability before password testing:
Error Handling
Error Handling
Intelligent handling of Oracle error codes:
ORA-28009: Treats as successful authentication (connection reused)ORA-12505: Invalid SIDORA-12504: TNS listener errorORA-12514: SID not found
PostgreSQL
PostgreSQL Authentication
Tests authentication against PostgreSQL database servers.
pkg/hydra/postgresql/postgresql.go
Connection Details:
- Default Port:
5432 - Timeout: 5 seconds
- Database:
postgres(default) - SSL Mode:
disable
MongoDB
MongoDB Authentication
Tests authentication against MongoDB instances.
pkg/hydra/mongodb/mongodb.go
Connection Details:
- Default Port:
27017 - Timeout: 5 seconds
- Authentication Mechanism:
SCRAM-SHA-1 - Database:
ichunt
- Context-based timeout handling
- Ping verification after connection
- Automatic connection cleanup
Redis
Redis Authentication
Tests Redis AUTH command authentication.
pkg/hydra/redis/redis.go
Connection Details:
- Default Port:
6379 - Timeout: 5 seconds
- Authentication: AUTH command
Password-Only Authentication: Redis uses only password authentication (no username). The tool automatically handles this by omitting username requirements.
Elasticsearch
Elasticsearch Authentication (wap-wsp)
Tests authentication against Elasticsearch clusters.
pkg/hydra/elastic/elastic.go
Connection Details:
- Default Port:
9200,9300 - Protocol Name:
wap-wsp - Authentication: HTTP Basic Auth
Remote Access Protocols
RDP (Remote Desktop Protocol)
RDP Authentication
Tests Windows Remote Desktop Protocol authentication with automatic protocol detection.
pkg/hydra/rdp/grdp.go
Connection Details:
- Default Port:
3389 - Protocols: RDP-SSL and RDP
- Domain Support: Optional domain parameter
Automatic Protocol Detection
Automatic Protocol Detection
scan4all automatically detects whether the target supports:
- PROTOCOL_SSL: RDP over SSL/TLS
- PROTOCOL_RDP: Standard RDP
Domain Authentication
Domain Authentication
Supports both local and domain authentication:
SSH (Secure Shell)
SSH Authentication
Tests SSH authentication with password and key support.
pkg/hydra/ssh/ssh.go
Connection Details:
- Default Port:
22 - Timeout: 3 seconds
- Authentication Methods: Password (key support available)
- Standard SSH
rsh-spx: Remote Shell variant (uses same SSH implementation)ldap: LDAP over SSH (uses same SSH implementation)
- Host key verification bypass for testing
- Automatic session management
- Connection reuse detection
Telnet
Telnet Authentication
Tests Telnet authentication with multiple server type detection.
pkg/hydra/telnet/telnet.go
Connection Details:
- Default Port:
23 - Server Types: Multiple (auto-detected)
Server Type Detection
Server Type Detection
Automatically detects Telnet server type before authentication:
- Standard Telnet servers
- Cisco devices
- Network equipment
- Embedded devices
- Unauthorized Access Detection: Automatically identifies open Telnet without authentication
Unauthorized Access Handling
Unauthorized Access Handling
VNC (Virtual Network Computing)
VNC Authentication
Tests VNC password authentication.
pkg/hydra/vnc/checkvnc.go
Connection Details:
- Default Port:
5900,5901, etc. - Authentication: VNC password
WinRM (Windows Remote Management)
WinRM Authentication
Tests Windows Remote Management authentication.
pkg/hydra/winrm/winrm.go
Connection Details:
- Default Port:
5985(HTTP),5986(HTTPS) - Protocol: WS-Management
- Authentication Methods: Basic, NTLM
rsh-spx
Remote Shell Protocol
Tests remote shell authentication (variant).
pkg/hydra/ssh/ssh.go)
Connection Details:
- Protocol mapping to SSH
- Standard SSH ports and authentication
File Transfer & Network Protocols
FTP (File Transfer Protocol)
FTP Authentication
Tests FTP server authentication.
pkg/hydra/ftp/ftp.go
Connection Details:
- Default Port:
21 - Timeout: 5 seconds
- Protocols: FTP (FTPS detection available)
- Automatic login/logout sequence
- Connection pooling
- Anonymous FTP detection
SMB (Server Message Block)
SMB Authentication with Vulnerability Detection
Tests SMB authentication and detects critical vulnerabilities.
pkg/hydra/smb/smb.go
Connection Details:
- Default Port:
445,139 - Timeout: 5 seconds
- Domain Support: Optional
- Context-based timeout handling
- Domain authentication support
- Session authentication verification
- Workstation name support
SOCKS5
SOCKS5 Proxy Authentication
Tests SOCKS5 proxy authentication.
pkg/hydra/socks5/client.go
Connection Details:
- Default Port:
1080 - Authentication Methods: Username/Password
SNMP
SNMP Community String Testing
Tests SNMP community strings.
pkg/hydra/snmp/snmp.go
Connection Details:
- Default Port:
161(UDP) - Versions: SNMPv1, SNMPv2c, SNMPv3
- Community Strings: Tested as passwords
Web & Application Protocols
HTTP Basic Authentication
HTTP BasicAuth Testing
Tests HTTP Basic Authentication including WebDAV and SVN.
- Generic HTTP Basic Auth
- WebDAV: Web Distributed Authoring and Versioning
- SVN: Apache Subversion repositories
pkg/hydra/svn/checksvn.go
Smart Activation: HTTP password brute-forcing automatically activates when authentication is required, without manual intervention.
Weblogic
Oracle Weblogic Server
Tests Weblogic authentication with T3 and IIOP protocol support.
- Default Port:
7001 - Protocols: T3, IIOP
Tomcat
Apache Tomcat Manager
Tests Tomcat manager application authentication.
- Default Port:
8080 - Path:
/manager/html - Authentication: HTTP Basic Auth
JBoss
Red Hat JBoss Application Server
Tests JBoss application server authentication.
- Default Port:
8080,9990 - Management Interface: Admin console
RouterOS
MikroTik RouterOS
Tests MikroTik RouterOS authentication.
pkg/hydra/router/router.go
Connection Details:
- Default Port:
8728 - Protocol: RouterOS API
POP3 / POP3S
Post Office Protocol v3
Tests POP3 email server authentication.
pkg/hydra/pop3/pop3.go
Connection Details:
- POP3 Port:
110 - POP3S Port:
995(SSL/TLS) - Authentication: USER/PASS commands
- pop3: Plain text authentication
- pop3s: SSL/TLS encrypted authentication
Configuration
Dictionary Management
Default Dictionaries
Default Dictionaries
Each protocol has default username/password lists:
Custom Dictionaries
Custom Dictionaries
Override defaults with custom wordlists:
Password-Only Protocols
Password-Only Protocols
Redis and other password-only protocols automatically ignore username lists:
Concurrency Control
Frompkg/hydra/hydra.go:54:
Timeout Configuration
Most protocols use 3-5 second timeouts. Adjust inconfig/config.json:
Usage Examples
Single Host Testing
Bulk Testing
Advanced Configuration
Output Format
Successful Authentication
With Elasticsearch
Results are automatically indexed to Elasticsearch when enabled:Security Considerations
Account Lockout: Many systems implement account lockout policies. Use appropriate delays and limits to avoid:
- Account lockouts
- IP bans
- Service disruption
- Detection by security systems
Best Practices
- Rate Limiting: Configure appropriate thread counts and delays
- Targeted Testing: Test specific protocols rather than all protocols
- Custom Dictionaries: Use targeted wordlists based on reconnaissance
- Monitoring: Watch for account lockouts and adjust strategy
- Documentation: Maintain logs of all testing activities
Integration
With Nuclei
With Nmap Results
Custom POCs
Extend with custom authentication POCs inconfig/config.json.
Troubleshooting
No Results Found
No Results Found
- Verify target is reachable
- Check firewall rules
- Confirm service is running on expected port
- Review dictionary quality
Timeout Errors
Timeout Errors
- Increase timeout in configuration
- Check network latency
- Reduce concurrent threads
- Verify target stability
Account Lockouts
Account Lockouts
- Reduce thread count
- Increase delay between attempts
- Use smaller dictionaries
- Implement progressive delays
Oracle SID Not Found
Oracle SID Not Found
- Tool tests 400+ common SIDs automatically
- Add custom SIDs to configuration
- Verify Oracle TNS listener is responding
- Check Oracle service status
Related Documentation
Protocol Overview
Complete protocol support overview
Network Services
Port scanning protocols
Configuration
Advanced configuration options