raven(mysql-udf提权)
port scan
1 |
|
有点眼熟,rpcbind,以前遇到过
rpc远程过程调用,似乎是用来文件共享的。
顺便检查下2049端口,nfs关闭。
Info Enum
22
OpenSSH < 7.7 可以枚举存在的用户
1 |
|
得到了系统存在的账号字典name.txt
80:
cms: wordpress
version 4.8.7
Apache/2.4.10
后台:http://192.168.2.133/wordpress/wp-login.php
1 |
|
- wpscan
wpscan --url "http://192.168.2.133/wordpress/" --enumerate p
Scan Aborted: Unable to identify the wp-content dir, please supply it with –wp-content-dir
wpscan --url "http://192.168.2.133/wordpress/" --wp-content-dir "/wordpress" --enumerate u --enumerate p
这个版本比较高,参考| 4.9.4 | 2018年2月8日 |
try1-hosts文件
测试弱口令时,遇到一个跳转
http://192.168.2.133/wordpress/wp-login.php
http://raven.local/wordpress/wp-login.php
于是echo 192.168.2.133 raven.local >> /etc/hosts
try2-rpc不明服务
在遇到有不明端口的时候,我总是再全端口扫描一遍。
1 |
|
1 |
|
搜索了一遍,并不知道rpc有啥exp可用
try3-ssh低版本用户枚举
之前我们在22ssh中,获得了name.txt
然后用burp intruder,又获得了两个存在的用户。michael、steven
wpscan --url "http://192.168.2.133/wordpress/" --wp-content-dir "/wordpress" --passwords /usr/share/wordlists/rockyou.txt --usernames michael
爆破这两个口令,然后继续探测
try4-爆破root口令
hydra -l root -P /usr/share/wordlists/rockyou.txt -I 192.168.2.133 ssh
try5-web敏感文件
.DS_Store文件泄露
python ds_store_exp.py http://192.168.2.133/.DS_Store
?如何提取出.DS_Store这个文件中的信息
邮箱信息
‘users@httpd.apache.org‘, referenced from :
/manual/en/ssl/ssl_faq.html‘raj@cup.hp.com‘, referenced from :
/manual/en/platform/perf-hp.html
突破防线
name.txt:
1 |
|
hydra -L name.txt -P /usr/share/wordlists/rockyou.txt -I 192.168.2.134 ssh
ssh弱密码。通过前面的信息搜集,没想到这么简单就得到了一个shell。
尝试提权
内核漏洞check
1 |
|
Linux Raven 3.16.0-6-amd64 #1 SMP Debian 3.16.57-2 (2018-07-14) x86_64 GNU/Linux
用了好几个内核漏洞尝试提权,失败。
如果成功,应该显示Done! Check /etc/passwd to see if the new user was created.
You can log in with the username ‘firefart’ and the password ‘a’.
sudo权限检查
1 |
|
michael不在sudoer用户组里。
suid.sh检查失败
ps -ef 和 ps aux区别
linux有许多版本,都是查看进程的,ps = process status,区别不大。
ps -ef | grep root
查看root用户运行的进程
netstat -an | grep 3306
查看端口状态tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
邮件
检查了mail,发现了邮件。没有发现特别有用的。
检查crontab,发现有一个从没见过的文件权限T。
1 |
|
linux文件特殊权限:
1 |
|
MySQL登陆
mysql -u root -p
尝试登陆数据库,登陆失败,不知道密码
cd /; find . -name "wordpress"
查找一下web目录,可能有备份文件之类的,去检查一下。
以下是感兴趣的目录:/var/www/html/wordpress
find: `./var/log/mysql’: Permission denied
1 |
|
搜索了一下,发现sys_exec(),提示该函数不存在的原因:sys_exec
is not a standard mysql function. It’s provided by an external UDF plugin, and must be installed separately
sys_exec不是标准的函数,udf插件需要单独安装。
这种方式看来是行不通了。
检查rwx权限
1 |
|
检查一下权限错误,虽然有rwx,但是是shared obj,不能插入命令。
PHPMailer命令执行
192.168.2.134/vendor/changelog.md
得到:Version 5.2.17 (December 9th 2016)
PHPMailer 6.0
1 |
|
现在有普通权限,web命令执行就算成功了也要提权啊。
udf提权,以前做过udf提权,但时间仓促,没有深入理解。
如何安装UDF plugin
1 |
|
运行前查看代码是一个合格的渗透工程师应有的基本守则。
1 |
|
接下来,用do_system反弹一个bash shell。
总结
参考资料:wooyun——MySQL和PostgreSQL数据库安全配置
有问题的地方:gcc参数的编译
1 |
|
gcc编译链接命令有点不熟悉。以前只用过最简单的-o,以后再学下。
吃饭吃饭~~