Raven-2
Raven2
目标: There are four flags to capture
妙妙工具: python -c ‘import pty; pty.spawn(“/bin/bash”)’
¶环境配置
kali: 192.168.56.6
Debian: 192.168.56.8
¶信息收集
老三件
nmap -sS 192.168.56.0/24 |
端口 22,80,111,33925
系统信息: Linux 3.2 - 4.9 Debian 5
中间件: Apache-Web-Server 2.4.10, Bootstrap, PHPMailer 5.2.16
可能存在的漏洞: DS_Store found, 但是是扒拉源码的漏洞
扫描泄露的路径:
/vendor/ |
稍微探索一下, 在/vendor/PATH
路径下找到了flag1
/var/www/html/vendor/ |
博客的那个登录界面完全不能用了, 没有账号密码的情况下, 现在尝试利用中间件漏洞:
¶getshell
CVE-2016-10033 命令执行漏洞
, 看的描述是 PHPMailer< 5.2.18 都能用
选择你的exp, 详情界面中的EDB-ID就是kali中对应的文件名, 搜索即可找到; 这里选的40974
试了41962.sh和42221.py都试不出来, 很急
msf似乎有一个
exploit/multi/http/phpmailer_arg_injection
可以用, 我这里也是转移shell到msf上了
searchsploit 40974 |
先赋予权限再编辑:
我这里总是出问题, 文件名是backdoor就出错, 我也很奇怪
运行成功结果如图, 说明已经写入, 监听设置的端口然后访问/backdoor.php即可拿到shell
nc -lvnp 8888 |
然后继续信息收集:
whoami |
在/var/www/
发现flag2:
利用find命令发现flag3:
find /var -name "flag*" |
从根目录开始find, 发现很多没有权限以及假的flag, 没用, 考虑提权:
¶提权
结合开启的服务, 可以尝试利用mysql的udf提权; 账号密码一般在网站的配置文件中有:
比如html/wordpress/wp-config.php
, 可以找到mysql账号密码
root : R@v3nSecurity |
先看看能不能满足udf提权的需要, 可
mysql -uroot -pR@v3nSecurity |
利用条件:
- mysql允许导入导出文件
- 高权限用户启动,如root。该账号需要有对数据库
mysql
的insert和delete权限,其实是操作里面的func
表,所以func
表也必须存在。- 未开启
‑‑skip‑grant‑tables
。开启的情况下,UDF不会被加载,默认不开启
searchsploit mysql udf |
将文件上传到靶机, 进行后续操作:
use wordpress; |
给予了suid权限就可以用find提权了, 看看是否为管理员权限
find `which find` -exec whoami \; |
可以, 那就使用find命令来提权; 然后寻找flag4, 在/root
目录下
find . -exec /bin/sh \; -quit |