type
status
date
slug
summary
tags
category
icon
password
攻击机ip:192.168.108.50
靶机ip: 192.168.108.139
靶机地址:
The Planets: Earth


The Planets: Earth
The Planets: Earth, made by SirFlash. Download & walkthrough links are available.
1. 信息收集阶段
端口扫描 (rustscan)
扫描发现三个端口22,80,443
尝试访问80端口和443端口

没有东西,尝试爆破目录,没有东西
域名发现 (SSL证书检查)
考虑到有443端口,检查 SSL 证书,发现存在域名earth.local
添加到hosts里,尝试访问


2. Web应用分析
留言系统分析
这是一个带表单的留言系统,每次提交后,留言会显示在页面下方
<ul>
列表中尝试输入,发现留言内容已经被加密或编码后显示在网页上,考虑到要我们填写message key可能会出现
使用
message_key
做 AES、DES、XOR 等对称加密把 key 拼到 message 中做加盐加密
或者直接把key作为口令加密的情况

XOR加密破解
尝试编辑输入,再用py脚本还原过程,最后判断为XOR加密
密钥提取与利用
知道了加密方式,要尝试还原之前留言框的内容,接下来就要找密钥了,扫描目录,发现了一个admin目录


有个登录页面,尝试弱密码和万能密码登录,无果,让他先爆破着
考虑到之前我们查看域名的时候还有个子域名terratest.earth.local
尝试爆破子域名,因为有认证要求所以https
发现一个robots文件,里面写了不允许抓取的文件后缀,将常用的后缀放入字典,扫描以testingnotes为名的文件,最后扫出来个testingnotes.txt

尝试访问,发现这里给出了留言板的加密算法,那我们前面直接开始猜测明显太早了,应该先找其他提示的,而不是直接尝试还原密码,不过好在不过几次就试出来了
回到这里得出信息
1.terra为管理员用户名
2.testdata.txt 用于测试加密

尝试访问testdata.txt,发现是段文本,考虑到说用于测试加密所以我们用留言板内容根据xor加密反推一下,因为第三句最长,所以先尝试第三句
成功获取加密密钥earthclimatechangebad4humans
获取密钥后尝试获取其他两句的内容,无果,那直接使用这个结果当密码登录试试
3. 漏洞利用
命令注入

成功登录并且能完成命令执行,那就上传一个shell,尝试之后发现提示远程连接被禁止,可能进行了过滤或者禁止了
curl
、wget
、nc
等工具访问外部地址或者限制了/dev/tcp,socket的使用
远程连接限制绕过
尝试写入shell到文件也无效,尝试绕过,神奇的是执行命令nc或者wget并没有显示远程禁止访问,甚至传入不完整的ip地址也不会触发,只有
传入完整的ip地址时才会触发,所以我们可以考虑对IP地址转换


成功进入,进行信息收集,发现
4. 权限提升
SUID二进制文件分析
/usr/bin/reset_root
因为这是一个 非标准 SUID 二进制 —— 它不是正常系统里该有的东西
怀疑为管理员的自建工具,而且名字看来和root有关可能是可以重置root的密码或者能切换为root账号
执行一下,看输出说明这个
/usr/bin/reset_root
程序:- 是一个自定义的 SUID 程序
- 它在运行前会检查某些“触发器(triggers)”是否满足
- 只有当所有 trigger 满足时,才会执行“reset root”的操作(可能提权)
接下来就是找到trigger并满足它,尝试列出程序中的关键词程序
IDA Pro静态分析
可以看到当程序执行成功时会将root的密码重置为Earth,并且虽然没直接写触发器的文件名但给了个重要提示
reset_root_3.c
这大概率是程序源码文件名,将reset_root程序base64加密后拷贝下来到本机还原,放到ida里看一下说明一共有 3 个路径名通过
magic_cipher(...)
解密赋值给 name
,然后判断这些路径是否存在
只有:- strace动态追踪
- 触发器文件创建 (touch)
也就是 3 个文件都存在,才会执行提权行为,用strace来动态追踪
/usr/bin/reset_root
程序访问哪些文件路径,创建后成功执行,拿到flag- Author:axlfpe
- URL:https://tlifecafe.xyz/article/2162ef50-849a-8074-94c8-cc1813d16347
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!