先进网络渗透测试工具包,支持 SSH 漏洞评估、CVE-2018-15473 漏洞利用、隐蔽式暴力破解能力及 fail2ban 规避技术。专为授权渗透测试项目设计的专业级安全测试框架。
███╗ ██╗███████╗████████╗██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗ ██████╗ ██████╗ ███████╗██████╗
████╗ ██║██╔════╝╚══██╔══╝██║ ██║██╔═══██╗██╔══██╗██║ ██╔╝ ██╔══██╗██╔══██╗██╔════╝██╔══██╗
██╔██╗ ██║█████╗ ██║ ██║ █╗ ██║██║ ██║██████╔╝█████╔╝ ██████╔╝██████╔╝█████╗ ██║ ██║
██║╚██╗██║██╔══╝ ██║ ██║███╗██║██║ ██║██╔══██╗██╔═██╗ ██╔═══╝ ██╔══██╗██╔══╝ ██║ ██║
██║ ╚████║███████╗ ██║ ╚███╔███╔╝╚██████╔╝██║ ██║██║ ██╗ ██║ ██║ ██║███████╗██████╔╝
╚═╝ ╚═══╝╚══════╝ ╚═╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═════╝
专业级网络侦察与 SSH 渗透测试框架,具备高级规避能力
🔴 仅限授权测试
本工具仅用于教育目的和授权渗透测试。未经授权访问计算机系统属违法行为,可能招致刑事指控。
✅ 授权使用:
❌ 未经授权的使用:
使用本工具即表示您同意对自己的行为承担全部责任,并遵守所有适用法律。
config.yaml 实现灵活的参数管理# Ensure Python 3.6+ is installed
python3 --version
# Install required dependencies
pip3 install paramiko pyyaml colorama
# Clone the repository
git clone https://github.com/floriankostov/network_scanner.git
cd network_scanner
# Make executable (Unix/Linux/macOS)
chmod +x scanner.py
# Run the scanner
python3 scanner.py
# Build Docker image
docker build -t network-scanner .
# Run in container
docker run -it --network host network-scanner
python3 scanner.py
扫描器提供直观的菜单系统:
╔══════════════════════════════════════════════════════════════════╗
║ NETWORK SCANNER TOOLKIT ║
║ Professional Penetration Testing ║
╠══════════════════════════════════════════════════════════════════╣
║ 1. 📡 Extended Port Scan - Comprehensive port discovery ║
║ 2. ⚡ Basic Port Scan - Quick essential port check ║
║ 3. 🔐 SSH Security Testing - Advanced SSH vulnerability scan ║
║ 4. 🎯 Custom Target Scan - Manual IP/range specification ║
║ 5. ❌ Exit - Quit the application ║
╚══════════════════════════════════════════════════════════════════╝
# Automatic network detection
[+] Network: 192.168.1.0/24 (254 hosts)
[+] Gateway: 192.168.1.1
[+] Local IP: 192.168.1.100
# Custom network specification
python3 scanner.py --network 10.0.0.0/16
# Standard enumeration
[EXPLOIT] CVE-2018-15473 Username Enumeration
[+] Target: 192.168.1.50:22 (OpenSSH 7.4)
[+] Testing 100 common usernames...
[✓] Valid users found: admin, user, test
# Stealth enumeration with evasion
[STEALTH] Enabling anti-detection measures
[+] Random delays: 0.5-2.0 seconds
[+] Connection variation: randomized
[✓] Valid users found: admin (confirmed)
# Smart brute force
[EXPLOIT] Smart SSH Brute Force
[+] Target: 192.168.1.50:22
[+] Valid users: admin, user
[+] Wordlist: 500 common passwords
[✓] Credentials found: admin:password123
# Stealth brute force with fail2ban evasion
[STEALTH] Advanced evasion enabled
[+] Adaptive delays: 3-8 seconds
[+] Connection resets: every 5 attempts
[+] IP rotation: enabled
[!] Intrusion detection bypass: active
config.yaml)# Network scanning settings
network:
ping_timeout: 1.0
port_timeout: 3.0
thread_count: 50
max_hosts: 254
# SSH exploitation settings
ssh:
timeout: 10.0
retry_count: 3
stealth_mode: true
delay_min: 0.5
delay_max: 2.0
# Exploitation parameters
exploits:
user_enumeration:
max_users: 100
timing_threshold: 0.05
brute_force:
max_attempts: 50
wordlist_size: 500
fail2ban_detection: true
port_lists:
basic: [22, 80, 443, 8080]
extended: [21, 22, 23, 25, 53, 80, 110, 143, 443, 993, 995, 8080]
comprehensive: [1-1000, 3389, 5432, 5900, 8080-8090]
# Disable root login
echo "PermitRootLogin no" >> /etc/ssh/sshd_config
# Require key-based authentication
echo "PasswordAuthentication no" >> /etc/ssh/sshd_config
echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config
# Change default port
echo "Port 2222" >> /etc/ssh/sshd_config
# Restart SSH service
systemctl restart sshd
# Username enumeration attempts
grep "Invalid user" /var/log/auth.log
# Brute force detection
grep "Failed password" /var/log/auth.log | head -10
# Connection frequency analysis
awk '{print $1, $2, $3, $11}' /var/log/auth.log | grep "sshd" | sort | uniq -c
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 3600
findtime = 600
# Simplified timing attack pseudocode
def enumerate_users(target, usernames):
timings = {}
for user in usernames:
start = time.time()
try_authentication(target, user, "invalid_password")
end = time.time()
timings[user] = end - start
# Analyze timing patterns
return analyze_timing_anomalies(timings)
╔══════════════════════════════════════════════════════════════════╗
║ NETWORK SCAN RESULTS ║
╠══════════════════════════════════════════════════════════════════╣
║ Network: 192.168.1.0/24 ║
║ Active Hosts: 12/254 ║
║ Scan Duration: 45.3 seconds ║
╚══════════════════════════════════════════════════════════════════╝
📡 DISCOVERED HOSTS:
┌─────────────────┬──────────────────┬─────────────────────────────┐
│ IP Address │ Hostname │ Response Time │
├─────────────────┼──────────────────┼─────────────────────────────┤
│ 192.168.1.1 │ gateway.local │ 1.2ms │
│ 192.168.1.50 │ server.local │ 2.1ms │
│ 192.168.1.100 │ workstation.local│ 0.8ms │
└─────────────────┴──────────────────┴─────────────────────────────┘
╔══════════════════════════════════════════════════════════════════╗
║ SSH VULNERABILITY REPORT ║
║ Target: 192.168.1.50:22 ║
╠══════════════════════════════════════════════════════════════════╣
║ SSH Version: OpenSSH 7.4 ║
║ Risk Level: HIGH ║
║ Vulnerabilities: 3 Critical, 2 High, 1 Medium ║
╚══════════════════════════════════════════════════════════════════╝
🔴 CRITICAL VULNERABILITIES:
┌─────────────────┬────────────────────────────────────────────────┐
│ CVE-2018-15473 │ Username Enumeration via Timing Attack │
│ Status │ ✅ EXPLOITABLE - 3 valid users discovered │
│ Impact │ Information Disclosure, Attack Preparation │
│ Users Found │ admin, user, test │
└─────────────────┴────────────────────────────────────────────────┘
┌─────────────────┬────────────────────────────────────────────────┐
│ Brute Force │ Weak Authentication Configuration │
│ Status │ ✅ EXPLOITABLE - Password auth enabled │
│ Impact │ Unauthorized Access, Credential Compromise │
│ Attempts │ 45/50 tested, 1 credential found │
└─────────────────┴────────────────────────────────────────────────┘
💥 EXPLOITATION RESULTS:
╔══════════════════════════════════════════════════════════════════╗
║ ✅ Successfully compromised SSH service ║
║ 🔑 Credential: admin:password123 ║
║ 🎯 Access Level: Administrative ║
║ ⚠️ Recommend immediate credential change and hardening ║
╚══════════════════════════════════════════════════════════════════╝
我们欢迎安全社区做出贡献!请遵循以下指南:
git checkout -b feature/new-exploitgit commit -am 'Add new SSH exploit'git push origin feature/new-exploit请包含:
本项目依据教育使用许可证授权 - 详情请参阅 LICENSE 文件。
仅限教育使用:本软件仅用于教育目的与经授权的安全测试。任何恶意使用均被严格禁止,并可能招致刑事起诉。