前言
记录一下某次的授权测试,过程中也遇到了当时感觉有点坑的东西,细看下来,感觉又是那样的索然无味。
一. 从文件上传到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
如对你有,记得转发分享,点个在看哦
点击左下角阅读原文学习更多渗透测试教程
推荐学习教程
CTF网络安全大赛学习从入门到精通教程、工具、writeup合集
2018-2019零基础渗透测试web安全攻防网络安全漏洞讲解培训视频教程
2018-2019安卓逆向Android安全反编译脱壳加固IDA调试实战培训教程5套
2019企业级网络安全与等保2.0视频教程【行业剖析+产品方案+项目实战】
全新企业级Linux高端运维实战高薪就业课程高可用架构+负载均衡+企业安全
python从基础到网络爬虫数据分析人工智能机器学习深度学习24套视频教程
2019新软考网络信息安全工程师备考实战教程 软考安全工程师串讲
【教程】升级版HCIA-Security V3.0认证课程 华为ICT领域网络安全工程师教程
深度学习之神经网络 CNN/RNN/GAN 算法原理+实战视频教程
免责声明
本公众号资源均通过网络等合法渠道获取,该资料仅作为技术学习交流使用,其版权归出版社或者原作者所有,本公众号不对所涉及的版权问题负责。如原作者认为侵权,请留言联系小编,小编立即删除文章,谢谢。
扫描关注:乌云安全
快戳阅读原文!获取更多视频教程
本文始发于微信公众号(乌雲安全):记某次授权测试
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论