scan4all includes a powerful password cracking engine (hydra) that supports brute force attacks against 23 different protocols. The cracker features intelligent dictionary management, concurrent execution, and automatic protocol detection.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/GhostTroops/scan4all/llms.txt
Use this file to discover all available pages before exploring further.
Supported Protocols
scan4all can perform password brute force attacks against the following protocols:RDP (Remote Desktop)
VNC (Virtual Network Computing)
SSH (Secure Shell)
SOCKS5 Proxy
rsh-spx
MySQL Database
MSSQL Database
Oracle Database
PostgreSQL Database
Redis Cache
FTP File Transfer
MongoDB Database
SMB/CIFS
Telnet
SNMP
Elasticsearch
RouterOS
HTTP BasicAuth
Weblogic
Tomcat
JBoss
WinRM
POP3/POP3S
Enabling Password Cracking
By default, password brute forcing is disabled. Enable it with thepriorityNmap configuration:
Password cracking is performed on services detected during port scanning. Ensure port scanning is enabled and services are correctly identified.
How It Works
Architecture
The password cracking engine uses a concurrent goroutine pool architecture:Service Detection
After port scanning, services are identified and categorized by protocol (SSH on 22, MySQL on 3306, etc.)
Dictionary Loading
Protocol-specific username and password dictionaries are loaded:
- Default dictionaries embedded in the binary
- Custom dictionaries from
config/directory - User-provided dictionaries
Credential Generation
Username and password combinations are generated based on dictionary merge strategy:
- Replace mode: Use only custom dictionaries
- Merge mode: Combine custom with default dictionaries
Dictionary Management
Default Dictionaries
scan4all includes built-in dictionaries for all supported protocols:Custom Dictionaries
Override default dictionaries with custom wordlists:Dictionary Merge Strategies
Replace Mode (default):Protocol-Specific Features
SSH / rsh-spx / LDAP
Redis (Password-Only)
Redis uses password-only authentication:- (empty password)
redispassword- Custom passwords from dictionary
Oracle Database
Oracle requires SID detection before brute forcing:- Automatic TNS listener enumeration
- Common SID wordlist:
ORCL,XE,PROD,DEV
Telnet
Telnet includes unauthorized access detection:SMB Protocol
SMB cracking includes vulnerability detection:- CVE-2017-0143
- CVE-2017-0144
- CVE-2017-0145
- CVE-2017-0146
- CVE-2017-0147
- CVE-2017-0148
- CVE-2020-0796 (SmbGhost)
HTTP Authentication
HTTP brute forcing includes multiple authentication types:Basic Auth
- Standard HTTP Authorization header
- Base64 credential encoding
WebDAV
- WebDAV-specific authentication
- PROPFIND/OPTIONS method support
SVN (Subversion)
- Apache Subversion authentication
- Repository enumeration
Application-Specific
- Weblogic console
- Tomcat manager
- JBoss admin
HTTP brute forcing is enabled by default and activates automatically when authentication is required, without manual intervention.
Cracker Engine Implementation
Worker Pool Architecture
Execution Flow
Success Detection
The cracker implements an “early exit” strategy:Performance Tuning
Thread Configuration
Rate Limiting
Built-in rate limiting prevents DoS:-rate flag:
Timeout Configuration
Security Considerations
Account Lockout
Be aware of account lockout policies:- Use small, targeted dictionaries
- Test with known credentials first
- Monitor for lockout indicators
- Implement delays between attempts
Network Detection
Brute force attacks are easily detected:- IDS/IPS systems will trigger alerts
- SIEM systems log authentication failures
- Firewalls may block after multiple failures
- Application logs record all attempts
Output and Reporting
Success Format
Successful credentials are reported immediately:Elasticsearch Storage
Results can be stored in Elasticsearch:Advanced Features
Protocol Detection
Automatic protocol verification:Custom Wordlist Format
Username file (usernames.txt):Weblogic-Specific Dictionaries
scan4all includes specialized Weblogic dictionaries from real-world penetration tests:Example Workflows
Troubleshooting
No Credentials Found
Check Dictionary Quality
Use comprehensive dictionaries:
- SecLists (https://github.com/danielmiessler/SecLists)
- Default credentials databases
- Target-specific wordlists
Protocol Not Supported
If you see “protocol not supported” errors:Connection Errors
Best Practices
Test Known Credentials
Verify the cracker works with known valid credentials before using large dictionaries
Document Findings
Record:
- Successful credentials
- Account lockout occurrences
- Service response times
- Network behavior