渗透测试

渗透测试是一种安全评估方法论,通过模拟真实攻击来识别漏洞,以便在恶意攻击者利用之前发现这些漏洞。

渗透测试方法论

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)

渗透测试是验证组织安全态势的一项重要学科。 它结合了深厚的技术知识、结构化的方法论和创造性思维来模拟 真实攻击。有效的渗透测试超越了自动化扫描器,需要人工分析、 对业务背景的理解以及对所发现风险的清晰沟通。