导语:本次我们的实战靶机是poison,来自hackthebox渗透测试实验室,这个实验室有很多靶机,可以帮助大家提高渗透测试和黑盒测试技能。
大家好,本次我们的实战靶机是poison,来自hackthebox渗透测试实验室,这个实验室有很多靶机,可以帮助大家提高渗透测试和黑盒测试技能。好了,废话不多说,进入主题。
本次靶机实战的目的是找到靶机中的user.txt和root.txt文件。
方法步骤:
1.端口扫描
2.利用LFI查找用户名
3.利用LFI获取加密的密码文件
4.解密密码文件
5.使用解密密码登录SSH
6.复制ZIP文件到本地并解压以查找密码
7.在靶机上发现VNC服务
8.通过SSH进行VNC隧道连接获取root shell
9.获取flag
ok,我们开始一步一步来做!
因为这些实验室都有一个静态IP,poison靶机的静态IP地址是10.10.10.84。
第一步就是端口扫描,我们先用nmap神器来扫一下虚拟机。
nmap -A 10.10.10.84
从上图可以看到开了22和80端口,既然开了80,我们来访问下网站,如图:
主页内容很少,快速过一遍,我们可以推断这里可能存在本地文件包含(LFI),我们在scriptname中输入/etc/passwd来进行测试,如图:
果不其然,我们得到了以下内容:
这里我们可以看到存在一个charix用户,这个用户下一步可能会用到,不过我们现在先把首页上的所有脚本都包含一下,看看有什么发现。其他文件倒没什么,不过这个listfiles.php有点意思,如图:
这个脚本对所有文件进行遍历,如图
我们发现了一个pwdbackup.txt文件,这个文件从名字来看就知道有猫腻。同上,我们利用LFI来包含一下这个文件,如图:
打开文件后,我们发现了一个加密的密码,但是却并不是一种普通的加密方式,而是进行了13次加密。我们看下这个密文,能够判断这是base64加密。我们将密码复制到一个名为decode的文件中,去掉每一行的空格,然后在终端中输入如下命令来解码:
cat decode | base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 -d| base64 –d
哇,直接得到了密码Charix!2#4%6&8(0
结合前面的端口扫描,开放了22端口,所以这个密码很有可能就是ssh的密码,我们来尝试登陆一下:
ssh [email protected] ls
成功登陆。我们查看一下当前目录,发现了这个user.txt文件,也就是第一个flag。当前目录下还有一个secret.zip压缩文件,看这名字,我们就应该重点关注它,我们先试着解压secret.zip到当前目录,不过解压失败。于是,我将这个压缩文件复制到我的本机,使用scp命令。
scp [email protected]:secret.zip /root/Desktop/ cd Desktop unzip secret.zip
复制到本机后再进行解压,得到一个secret文件,可能是另一个服务的密码。但我们现在不确定这个靶机上是否运行着其他服务,我们使用socat工具来扫描一下靶机(socat是Linux下的网络工具,nc强化版)。阅读更多关于socat的内容,请参考:https://packages.debian.org/sid/sockstat。
sockstat -4 -l
扫描之后,发现5901和5908端口也是开放的,这是VNC的默认端口号,我们或许能够通过这种方式进入系统。
我们按照SSH隧道方法来操作(详情参考这里)
ssh -L 5901:127.0.0.1:5901 [email protected]
这会打开一个新的会话,在新的终端中输入如下命令:
vncviewer -passwd secret 127.0.0.1:5901
我们可以看到认证成功的标志,到这里已经提升到root权限了,接下来就是查看root.txt文件了:
ls cat root.txt
就这样,我们就拿下了这个poison靶机,希望大家也能乐在其中。