metasploit攻击教程
作者:热点 来源:综合 浏览: 【大 中 小】 发布时间:2026-10-17 06:14:35 评论数:
Metasploit攻击教程:从扫描到拿下Shell的攻击完整链路
凌晨两点,我盯着终端里滚动的教程字符,msf6> 的攻击提示符在屏幕上闪烁。三小时前,教程目标服务器的攻击80端口开着Apache,443端口跑着OpenSSL,教程21端口挂着vsftpd 2.3.4——这个版本的攻击FTP服务有个著名的后门,只要用户名以:)结尾,教程就能直接反弹一个root shell。攻击我敲下exploit/unix/ftp/vsftpd_234_backdoor,教程回车。攻击半秒后,教程meterpreter>出现在屏幕底部。攻击就这么简单?教程就这么简单。
别急着兴奋。攻击Metasploit不是一键变黑客的魔法棒,它是一套武器库,你得知道每颗子弹该往哪打。整个攻击流程拆开看,无非四步:扫描侦察、匹配漏洞、配置载荷、执行利用。但每一步都藏着坑。
第一步:别瞎扫,先摸清目标脾气
打开msfconsole,很多人第一件事就是search cve-2023,然后对着结果列表发呆。错。你得先知道目标上跑着什么服务,版本号多少。用db_nmap -sV -sC 192.168.1.105,让Nmap把服务版本和默认脚本结果直接存进Metasploit的数据库。看到vsftpd 2.3.4?好,这版本2009年就被爆出后门,但直到今天仍有大量内网服务器在跑。看到Samba 3.0.20?那exploit/multi/samba/usermap_script就是你的菜。
这里有个反直觉的点:扫描越慢越有效。-T4级别以上的扫描会触发IDS告警,而-T2慢速扫描反而能绕过大多数阈值检测。我见过太多新手用-T5把目标扫崩,然后抱怨“这工具不行”。
第二步:选模块,像挑菜刀一样挑exploit
假设你扫到目标开着445端口,SMB版本是Windows 7 SP1。别急着用永恒之蓝——MS17-010的利用代码在Metasploit里有五个变体,有的需要指定目标架构,有的需要先检查是否打过补丁。用check命令验证一下:
use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.1.105 check 如果返回The target is vulnerable,再设置payload。这里有个细节:默认的payload是windows/x64/meterpreter/reverse_tcp,但如果你和目标之间隔着防火墙,反向连接可能被拦。换成bind_tcp试试,让目标主动监听端口,你连过去。实战里我更喜欢reverse_https,流量混杂在加密HTTPS里,容易被WAF忽略。
第三步:载荷配置,决定你拿到什么权限
载荷不是越大越好。meterpreter功能全,但体积大,容易在传输中被杀软拦截。如果目标装了360或卡巴斯基,用windows/shell/reverse_tcp这种小型载荷反而更稳。拿到shell后,再通过upload命令上传一个编码后的meterpreter,二次提权。
记得在show options里检查每个参数。LHOST必须填你的IP,不是localhost——这个错误我犯过三次,每次都盯着会话列表等半天,然后发现payload根本没发出去。
第四步:执行利用,打进去只是开始
输入exploit -j把攻击放到后台,用sessions -l查看会话。拿到meterpreter后,第一件事不是截图留念,而是sysinfo确认系统版本,getuid看当前权限。如果是普通用户,立刻background回退,用post/multi/recon/local_exploit_suggester扫描本地提权漏洞。内核提权模块像exploit/windows/local/ms16_032_secondary_logon_handle_privesc,成功率不算高,但值得一试。
一个真实的案例:去年做渗透测试时,目标内网有台Windows Server 2012的机器,永恒之蓝打不进去(补丁齐),但通过exploit/multi/script/web_delivery配合一个钓鱼链接,让运维人员点开,直接反弹了SYSTEM权限的shell。攻击链路不是直线,而是拼图——Metasploit只是其中一块。
最后说句实在话:Metasploit的利用代码更新速度永远追不上漏洞披露速度。别依赖search命令的现成结果,学会自己用msfvenom生成自定义payload,用auxiliary/scanner模块写简单探测脚本。工具是死的,思路是活的。当你看到meterpreter>提示符时,真正的攻防才刚刚开始——你拿到了入口,但离拿到域控还隔着一条护城河。
