渗透测试
渗透测试是一种安全评估方法论,通过模拟真实攻击来识别漏洞,以便在恶意攻击者利用之前发现这些漏洞。
渗透测试方法论
OWASP Testing Guide
针对 Web 应用程序安全测试的完整框架,涵盖从信息收集到业务逻辑测试的全过程。
PTES (Penetration Testing Execution Standard)
结构化为 7 个阶段的方法论:前期交互、信息收集、威胁建模、漏洞分析、渗透利用、后渗透和报告。
OSSTMM
Open Source Security Testing Methodology Manual——一种用于多种渠道(人员、物理、无线、电信和网络)安全测试的科学方法论。
渗透测试的各个阶段
1. Reconnaissance(侦察)
- Passive:在不直接交互的情况下收集信息(OSINT、DNS、WHOIS)
- Active:网络扫描、服务枚举、技术识别
- 工具:Nmap、Recon-ng、theHarvester、Shodan、Maltego
2. Scanning & Enumeration
- 端口扫描和服务指纹识别
- 自动化漏洞扫描
- 用户、共享和服务的枚举
- 工具:Nessus、OpenVAS、Nikto、enum4linux
3. Gaining Access(渗透利用)
- 对已识别漏洞进行利用
- SQL Injection、XSS、Command Injection
- Buffer Overflow、权限提升
- 工具:Metasploit、Burp Suite、SQLmap、Cobalt Strike
4. Maintaining Access(后渗透)
- 安装后门和持久化机制
- 权限提升(横向和纵向)
- 跳板(Pivoting)和横向移动
- 数据窃取
5. Covering Tracks
- 清理日志和痕迹
- 演示规避技术
- 记录所执行的活动
渗透测试的类型
Black Box
测试人员对目标没有任何先验知识。模拟真实的外部攻击。
White Box
测试人员拥有完整的知识(源代码、架构、凭据)。可进行更深入的分析。
Gray Box
对系统拥有部分知识。模拟内部人员或特权用户的攻击。
必备工具
框架与发行版
- Kali Linux:包含 600 多种工具的完整发行版
- Parrot OS:专注于隐私和取证的替代方案
- Metasploit Framework:渗透利用和漏洞利用开发套件
Web Application Testing
- Burp Suite:拦截代理和 Web 扫描器
- OWASP ZAP:开源自动化扫描器
- SQLmap:自动化 SQL 注入工具
- Nikto:Web 漏洞扫描器
Network Penetration
- Nmap:网络扫描器和服务检测
- Wireshark:网络流量分析
- Responder:LLMNR/NBT-NS/MDNS poisoning
- Impacket:用于网络协议的 Python 套件
Password Cracking
- John the Ripper:经典的密码破解工具
- Hashcat:GPU 加速的破解工具
- Hydra:针对网络服务的暴力破解
- CrackMapExec:Windows 环境下的后渗透
常见攻击向量
Web Applications
- SQL Injection (SQLi)
- Cross-Site Scripting (XSS)
- Cross-Site Request Forgery (CSRF)
- Server-Side Request Forgery (SSRF)
- XML External Entity (XXE)
- Insecure Deserialization
Network & Infrastructure
- Man-in-the-Middle (MitM)
- ARP Spoofing 和 DNS Poisoning
- SMB Relay attacks
- Kerberoasting
- Pass-the-Hash/Pass-the-Ticket
Social Engineering
- 钓鱼攻击活动
- Vishing (voice phishing)
- 物理入侵测试
- USB drop attacks
渗透测试报告
一份高质量的报告应包含:
- Executive Summary:面向管理层的高层概览
- 方法论:测试的方法和范围
- 已识别漏洞:按严重程度分类(CVSS)
- 技术渗透利用:包含截图和 PoCs 的技术细节
- 建议:按优先级排序的修复措施
- 附录:日志、脚本、技术证据
专业认证
- OSCP:Offensive Security Certified Professional
- CEH:Certified Ethical Hacker
- GPEN:GIAC Penetration Tester
- CRTP:Certified Red Team Professional
- PNPT:Practical Network Penetration Tester
法律与道德层面
- 始终获取书面授权(RoE - Rules of Engagement)
- 明确界定范围和限制
- 遵守隐私和数据保护法律
- 不对受测系统造成损害
- 对所发现的信息保密
- 遵循专业道德准则(EC-Council、SANS)
渗透测试是验证组织安全态势的一项重要学科。 它结合了深厚的技术知识、结构化的方法论和创造性思维来模拟 真实攻击。有效的渗透测试超越了自动化扫描器,需要人工分析、 对业务背景的理解以及对所发现风险的清晰沟通。
