渗透测试基础与核心工具指南
一、渗透测试概述
渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。该过程包括对系统的任何弱点、技术缺陷或漏洞的主动分析。
1.1 测试方法分类
- 黑盒测试:在对基础设施完全不知情的情况下进行测试,模拟外部攻击者视角。
- 白盒测试:在完全了解系统结构、代码和架构的情况下进行测试,模拟内部人员视角。
1.2 核心特点
- 渐进性:是一个逐步深入的过程,从信息收集到最终权限获取。
- 业务影响最小化:选择不影响业务系统正常运行的攻击方法进行验证。
二、Kali Linux
Kali Linux 是业界标准的渗透测试操作系统,基于 Debian 开发,由 Offensive Security 维护。它预装了数百种安全工具,是大多数渗透测试员的首选环境。
2.1 部署建议
虽然可以在物理机上运行,但推荐使用虚拟机(VMware/VirtualBox)在 Windows 或 macOS 上运行。这便于快照管理和隔离测试环境。
2.2 安全注意事项
Kali 优化了进攻能力而非防御能力。请勿将过多的机密文件保留在 Kali VM 中,且不要将其作为日常办公电脑使用。
2.3 常用功能模块
- 信息收集:扫描网络拓扑、域名解析。
- 漏洞扫描:识别已知 CVE 漏洞。
- 密码攻击:离线/在线破解哈希值。
- 无线网络:WEP/WPA 密钥测试。
三、Nmap (Network Mapper)
Nmap 是网络发现和安全审计的利器,用于探测主机状态、开放端口及运行服务。
3.1 端口扫描
默认扫描前 1000 个常见端口。
nmap 192.168.31.180
指定端口范围:
# 单个端口
nmap 192.168.31.180 -p 80
# 连续范围
nmap 192.168.31.180 -p 1-1000
# 特定多个端口
nmap 192.168.31.180 -p 22,80,443
# 全端口扫描
nmap 192.168.31.180 -p-
3.2 扫描方式详解
- TCP 全连接扫描 (-sT):完成三次握手,最可靠但易被日志记录。
- SYN 半开扫描 (-sS):发送 SYN 包,收到 SYN/ACK 即判定开放,速度快且隐蔽。
- 隐秘扫描:
- FIN 扫描 (
-sF):发送 FIN 包。 - Null 扫描 (
-sN):所有标志位为 0。 - Xmas 扫描 (
-sX):FIN、URG、PUSH 标志位全置 1。
- FIN 扫描 (
3.3 主机与服务探测
- 存活探测 (-sP/-sn):不扫描端口,仅确认主机是否在线。
- 服务版本识别 (-sV):探测端口运行的具体软件及版本号。
- 操作系统识别 (-O):根据 TCP/IP 栈指纹猜测操作系统类型。


