导语:本次我们的实战靶机是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

1.png

从上图可以看到开了22和80端口,既然开了80,我们来访问下网站,如图:

2.png

主页内容很少,快速过一遍,我们可以推断这里可能存在本地文件包含(LFI),我们在scriptname中输入/etc/passwd来进行测试,如图:

3.png

果不其然,我们得到了以下内容:

4.png

这里我们可以看到存在一个charix用户,这个用户下一步可能会用到,不过我们现在先把首页上的所有脚本都包含一下,看看有什么发现。其他文件倒没什么,不过这个listfiles.php有点意思,如图:

5.png

这个脚本对所有文件进行遍历,如图

6.png

我们发现了一个pwdbackup.txt文件,这个文件从名字来看就知道有猫腻。同上,我们利用LFI来包含一下这个文件,如图:

7.png

打开文件后,我们发现了一个加密的密码,但是却并不是一种普通的加密方式,而是进行了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

8.png

哇,直接得到了密码Charix!2#4%6&8(0

结合前面的端口扫描,开放了22端口,所以这个密码很有可能就是ssh的密码,我们来尝试登陆一下:

ssh [email protected]
ls

9.png

成功登陆。我们查看一下当前目录,发现了这个user.txt文件,也就是第一个flag。当前目录下还有一个secret.zip压缩文件,看这名字,我们就应该重点关注它,我们先试着解压secret.zip到当前目录,不过解压失败。于是,我将这个压缩文件复制到我的本机,使用scp命令。

scp [email protected]:secret.zip /root/Desktop/
cd Desktop
unzip secret.zip

10.png

复制到本机后再进行解压,得到一个secret文件,可能是另一个服务的密码。但我们现在不确定这个靶机上是否运行着其他服务,我们使用socat工具来扫描一下靶机(socat是Linux下的网络工具,nc强化版)。阅读更多关于socat的内容,请参考:https://packages.debian.org/sid/sockstat

sockstat -4 -l

11.png

扫描之后,发现5901和5908端口也是开放的,这是VNC的默认端口号,我们或许能够通过这种方式进入系统。

我们按照SSH隧道方法来操作(详情参考这里)

ssh -L 5901:127.0.0.1:5901 [email protected]

12.png

这会打开一个新的会话,在新的终端中输入如下命令:

vncviewer -passwd secret 127.0.0.1:5901

13.png

我们可以看到认证成功的标志,到这里已经提升到root权限了,接下来就是查看root.txt文件了:

ls
cat root.txt

14.png

就这样,我们就拿下了这个poison靶机,希望大家也能乐在其中。

源链接

Hacking more

...