6. DC-6
应该和DC-2作者是同一个人。又要改hosts,又是WordPress,又是密码爆破,跑了个大字典没跑出来,翻答案还必须用kali自带的/usr/share/wordlists/rockyou.txt.gz字典,甚至这个字典过大,所以靶场下载页面告诉你要过滤字段生成一个小一点的字典。。。
槽点也太多了,你为什么不直接给mark/helpdesk01的账户密码登录呢。
后台翻了翻,Activity monitor这个插件有个命令注入在Tools-Lookup功能中。
前端有字符串长度限制,抓包即可getshell,然后发现几个用户,于是在用户目录里面寻找线索。
/home/mark/stuff/things-to-do.txt
/home/jens/backups.sh
第一个脚本只是备份,而且没法改,第二个文本直接告诉你graham的密码,su过去之后习惯性sudo -l发现可以用jens权限执行第一个脚本。
而第一个脚本权限是devs用户组的,这个用户组包括graham。
因此可以需要将backups.sh内容篡改成/bin/bash,然后sudo的时候注意要指定用户。
sudo -u jens /home/jens/backups.sh
然后继续sudo -l套娃,参考nmap的SUID提权。
https://www.leavesongs.com/PENETRATION/linux-suid-privilege-escalation.html
所以到底为什么每个靶机都能看到P牛的身影?
7. DC-7
熟悉的Drupal,但这次什么都扫不到,但首页有个明显的提示。
不是爆破,box之外。。。总不可能和某些CTF一样要去github上找源码吧?就算是CTF,也是当时建立一个仓库,打完就删了,这靶机这么多年,不可能还留着吧。
然而现实就是如此无情打脸,网站最下方有个【@DC7USER】,真就是github上存在的用户。
在他的唯一一个仓库中,可以找到数据库账户密码。
根据mysql和ssh密码一致性的规则(伪),登录ssh准备提权,又提示我有邮件。
都是提示该用户已备份sql,而backups中是两个gpg加密文件,而加密过程在/opt/scripts/backups.sh中,包括密钥也在里面。
gpg --output 1.sql --decrypt website.sql.gpg
PickYourOwnPassword
但如图所见,这个sql也忒大了吧,筛选了一下后发现,好像都是我之前扫描的记录,所以为什么web访问记录会存储在sql中?
能被污染且这么大的东西似乎不是正确答案,看看/opt/scripts/backups.sh的权限。
www-data有读写权限,那么很显然,我们需要拿到webshell,因为权限问题无法直接向里面写webshell。
那么可以查看配置文件,,拿到数据库权限。
mysql -udb7user -pyNv3Po00
use d7db;
show tables;
但是,Drupal8和7有区别,DC-1的修改管理员密码和添加恶意路由的SQL语句都不适用了。Drupal8的密码存储在users_field_data当中,同时还需要清理缓存。
select name,pass from users_field_data;
update users_field_data set pass='$S$DkIkdKLIvRK0iVHm99X7B/M8QC17E1Tp/kMOd1Ie8V/PgWjtAZld' where uid = 1;
DELETE FROM cache_entity WHERE cid = 'values:user:1';
然后admin/thanks登录。
接下来就是如何getshell的问题,先看版本。
http://192.168.29.150/admin/reports/status
似乎有点忒高了,常见的两个后台反序列化漏洞CVE-2017-6920/CVE-2019-6339都无法使用。
(PS:这两个漏洞均为反序列化漏洞,前者利用了YAML解析!php/object进行反序列化,后者为phar)
那么只能利用自带功能进行getshell,比如上传主题或者插件。
http://192.168.29.150/admin/theme/install
http://192.168.29.150/admin/modules/install
可能是版本问题,官网上找到的主题和插件都比较容易报错,要找2019年左右的gz格式的主题比较好。可以用我找到的这个主题。
https://ftp.drupal.org/files/projects/adminimal_theme-8.x-1.5.tar.gz
下载下来在kali上重新打包,并插入一个webshell。
tar -xzvf adminimal_theme-8.x-1.5.tar.gz
tar -zcvf test.tar.gz adminimal_theme
然后安装即可,webshell位置可以自己定位。
但是,访问过去会403
这个很明显是.htaccess的限制,可以在主题包中新增一个.htaccess进行绕过。当然绕过方式很多样,大家可以回忆下关于.htaccess的知识。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
最后修改/opt/scripts/backups.sh反弹shell等待任务计划启动即可,通过mail可知15分钟执行一次。