不乱于心,不困于情。
不畏将来,不念过往。如此,安好。

记某次授权测试

前言

记录一下某次的授权测试,过程中也遇到了当时感觉有点坑的东西,细看下来,感觉又是那样的索然无味。

一. 从文件上传到getshell

前台-留言板上传测试:

1. 上传jpg  返回200 url:http://ceshi.com/2020-6-7/1592796160.jpg

2. 上传txt  内容:123  Success

3. 上传Jsp  内容:123  Success

4. 等等
目的测试目标可解析文件。

全是200.心里一激动。感觉又怪异。访问jsp ,出现123.心里想着shell到手。

再次测试:

4.    上传jsp冰蝎马, 返回200 。url:http://ceshi.com/2020--6-7/1592796558.jsp

    心里激动,shell到手。访问一下试试,页面 404。~~~~

            猜想:

            1. 内容检测。

            2. 返回数据包有问题。实际没有上传成功。

继续测试:

5.    针对内容检测fuzz,主要针对特殊字符。<%@%>等。(一般马都有)

    a)    <%任何字符%>。404

    b)    <%123>            404

    c)    <123%>            200

    d)    经过不断的fuzz,发现上传jsp开头不能使用%。
思路:

     1.找到不带%%的jsp马。

     2.继续fuzz。
6.这里先找不带%%的jsp命令执行马.

    a)    使用不带%%的jsp马,一马平川,上传 返回200.访问200.webshell到手

    b)    命令执行,突然发现不能带空格的命令。

    c)    使用拼接等发现也没有办法执行。
7.继续fuzz。使用混淆试试,之间都是正常字符测试。

    之前的测试数据包:

        123qwe
        <%%>
        返回404.

    使用混淆。

        <此处是乱码>
        <%正常jsp命令执行木马%>
        返回200.
        可以正常命令执行。

Ps:第一个没有带%%的木马,白嫖后太急了,没看代码,之后看代码才发现,带空格的命令需要用@连接。net@user 即可执行~

 二. 继上文,不完整的内网探测。架设目标当前内网地址10.10.10.1/24(DMZ区)

1. 从上文拿到了webshell,命令执行。简单执行几个命令

1. ipconifg/arp/netstat -ano。探测内网的基本网络环境 –存在多层内网

2. net time 探测一下是否存在域控环境。--当然内网无域控

3. tasklist 查看进程。存在vmtools.Exe --vm虚拟化的云/未发现杀软

4. powershell。可运行。

2. 针对目前的环境powershell可运行,考虑直接远控。CS上线。(方法很多,简单最好)

Cs:attacks---web Drive-by---scripted web delivery 生成powershell 。 

 利用命令执行powershell.exe 。滴滴 cs上线。

3.一些坑(x86的系统,有点蒙)

 a).稳定性不强,cs一直卡住,5分钟才能执行一个命令。一顿以为是被发现了。~ 

 b).怀疑是x86 的powershell问题,上传了一个exe文件,发现快多了。但是还是不是太稳定。

 c).最后cs注入进程分派给msf一个session。发现msf 最稳定。

4.简单的内网测试—为啥简单,半路被发现了。关站了。

a).cs -mimikatz -读取admin- hash—ntlm—md5解密---成功解密 

b).cs -socks代理到vps,Proxifier代理到本地。全流量到本地,有点坑,只加载了mstsc.exe 到本地。
 
 (前期因为cs不稳定,尝试各种稳定的远控,浪费了很多时间,导致后面被发现的原因之一)

c)mstsc登陆。看一下网络连接。发现数据库网段和其他网段 

 10.10.10.1:123 ---10.10.20.1:3306(重点) 

 10.10.10.1:233 --- 172.10.1.1:98 

 10.10.10.1:333 --- 10.254.1.1 

 查看本地的mstsc,没有发现连接记录。

 查看浏览器,没有发现利用价值。

 Tracert ,探测出网网段。

当前:DMZ区。

目标:云/数据库网段。

目标区域:管理区或者业务区。说明最少跳一下,才有收获。

d)当前网段,为了发现更多敏感网络。探测发现存活机器数10多台,密码通用,登陆几台,看看网络连接等,未发现更多的东西。停止,换姿势。

e)数据库网段,arp探测。发现近10台机器。

f)目标是寻找云平台,常规思路: 

网段探测80端口,找web 登陆接口。手里没有好的抓取title的脚步,直接上的Scan, Advanced IP Scanner。 

扫描了数据库网段。抓取web title。运气好,密码还是通用。   

简单的看一下,没有收获。

三:另一处的注入点—未getshell(Mysql)

目标点:后台-爆破用户名-登陆后台-某处搜索框存在sql注入。

1. sqlmap直接注入。发现存在报错注入和延时注入。

2. 思考如何获取权限:

a) 常规

i.    网站绝对路径、web目录可写、支持into outfile

b) udf执行系统命令

i.    知道lib/plugin目录 支持into outfile

3. 尝试getshell:

a)    当前dba ---true

b)    使用sql-shell 获取当前数据库路径。E:\\Program Files (x86)\\Mysql\\data

4. 寻找网站绝对路径

a) 网站报错,未发现,统一404优化报错页面

b) 通过数据包,发现resin1.0.6进行resin路径猜测。

i.    找打resin后台,未爆破成功

ii.    寻找resin历史漏洞,都不存在。

iii.    进行resin路径猜测

    1. E:\\ resin\.

    2. C:\\ resin

    3. E:\\ \Program Files (x86)\\resin

    4. 把上述resin 路径加上版本号等等,也未果。放弃~

5. 尝试udf执行系统命令(也是第一次用)

a)    需要支持 into outfile

b)    常规操作。

c)    Sqlmap 报错,说不支持堆叠查询。最后无果

6. 寻找高权限用户

a)    直接sqlmap读取用户名密码,发现最开始的几个全部都是NULL,其余未发现admin用户。

b)    换思路,使用sql-shell读取尝试

    i.    Select *from id,pwd limit 1;读取成功

c)    登陆

    i.    好几个数据库管理。

    ii.    未发现利用点

7. 关于这里的文件上传(怕表哥说后台上传点都没有)

a)    存在任意文件上传。

b)    使用flash文件上传,不解析

c)    文件上传后url:http://www.ceshi.com/1.jsp?id=u23i451k2h4h5j

本文作者:G0mini, 来自FreeBuf.COM

赞(0)
未经允许不得转载:seo优化_前端开发_渗透技术 » 记某次授权测试