萌新安服的踩坑之路

admin 2024年12月26日15:24:24评论26 views字数 2427阅读8分5秒阅读模式
萌新安服的踩坑之路

-Hello  vulnerability-

    记录自实习以来做安全测试及复现漏洞时踩过的一些坑点

01

# 渗透测试的时候抓不到包 #

场景: 对一个目标站点进行渗透测试时,burpsuite代理工具无法捕获目标网站的请求和响应报文。

典型报错:

1.burpsuite发包无法收到响应报文,提示无法连接

萌新安服的踩坑之路
2.burpsuite无法打开目标站点,但不使用代理则可以正常访问。

萌新安服的踩坑之路
原因: 服务端针对Burpsuite内置浏览器TLS 指纹(JA3)进行了识别,检测到代理即禁止访问站点。

解决办法:

1.使用其他代理抓包工具,例如使用yakit。

萌新安服的踩坑之路
2.使用burpsuite拓展Awesome TLS,伪装TLS指纹(不推荐使用,适配性较差,有时能过有时不行)。

萌新安服的踩坑之路
02

# 小程序请求包加密场景下的渗透测试 #

小程序分为两类:

一类是可以在微信小程序中用默认浏览器打开的(开发人员做了浏览器的适配,大多数小程序是校验微信的User-Agent头字段来判定是不是使用微信打开的小程序),可以直接F12选择在前端打断点进行调试,找到加解密方式,以及秘钥,偏移量等;

第二类是无法直接在默认浏览器打开,我们需要先反编译小程序的数据包,还原前端JS源码,寻找加解密方式,秘钥,偏移量等。

1.在渗透测试小程序的过程中,会遇到数据包加密的情况

萌新安服的踩坑之路
2.先观察抓到的数据包包头,部分加密方式会存在包头,如下图:

萌新安服的踩坑之路
3.也存在数据包包头无任何加密信息的,我们尝试用默认浏览器打开此小程序。如果不能打开则需要反编译数据包

以一个需要反编译的数据包为例(windows PC端的微信为例):

(1)找到小程序数据包的存储位置:一般搜索".wxapkg"

萌新安服的踩坑之路
(2)用工具将此数据包进行反编译,反编译使用的工具有很多,这里使用的是KillWxapkg进行反编译,找到KillWxapkg的位置,cmd运行

萌新安服的踩坑之路
(3)新建一个输出的文件夹

萌新安服的踩坑之路
(4)使用命令-in 需要反编译的文件夹 -out 输出的文件夹 -id 这个id是需要反编译的文件所在的微信id

萌新安服的踩坑之路
(5)将反编译后的文件打开,使用工具notepad++看.js的文件,查找加密方式,秘钥等

萌新安服的踩坑之路
萌新安服的踩坑之路
(6)Ctrl+F找关键词快速定位加密点:enc,crypt,privatekey,iv,常见加密算法的模式,例如AES的cbc/ecb,sm4等

这里使用关键词:encrypt,找到使用的AES的cbc模式进行加密

萌新安服的踩坑之路
继续往下,看到了加密函数,这里可以看到偏移量定义为t,并且存在偏移量的内容

萌新安服的踩坑之路
在这里能看到秘钥定义为了r,上图存在r的内容

萌新安服的踩坑之路
(7)再使用AES 加密/解密工具,选择具体的加密方式,将秘钥以及偏移量添加进去,可以看到解密成功

萌新安服的踩坑之路
03

# webshell工具连接webshell失败 #

1. webshell工具版本和漏洞利用工具写入的webshell版本相对应

例如:低版本的Shiro利用工具打入的内存马版本是冰蝎3,此时用冰蝎4连接必定是连接不上的。

2. webshell写入成功,但是哥斯拉连接失败

原因一:webshell被杀毒干掉(未验证webshell是否写入成功就直接连的时候;有时候是访问到webshell一次之后就删除了),需要做免杀绕过处理(常见解决办法:二分法判断拦截了什么内容)

原因二:部分在上传成功后,需要固定cookie(常见于后台文件上传)

原因三:目标服务器存在负载均衡,需要使用适配于负载均衡的webshell进行连接。

萌新安服的踩坑之路
04

# 首次与框架系统的邂逅#

场景:也是一次渗透测试项目遇到的情景,首先拿到系统手工测试一遍的时候暂没发现任何漏洞,但是在流量过burpsuite代理的时候发现URL路径中出现了blade字段,疑似框架系统的特征,经搜索发现证实是SpringBlade框架的特征:

萌新安服的踩坑之路
又对比了一下SpringBlade的默认页面特征,前端改的比较彻底,就是一普普通通的一个登录框:

萌新安服的踩坑之路
而原始的SpringBlade示例页面则是:

萌新安服的踩坑之路
虽然默认UI改的比较彻底,但是流量中的特征还是能看出一些蛛丝马迹,因而收集了一下SpringBlade框架的漏洞进行综合验证,发现该框架被披露过sql注入及硬编码的JWT密钥等漏洞,尝试复现一下(不过这个站点没有默认的JWT密钥)

收集存在漏洞的一些接口

/api/blade-user/list/api/blade-develop/code/list/api/blade-desk/notice/list/api/blade-resource/oss/list/api/blade-system/dict-biz/list/api/blade-system/menu/menu-list/api/blade-develop/datasource/list/api/blade-log/usual/list/api/blade-user/export-user/api/blade-user/user-list/api/blade-log/error/list/api/blade-system/tenant/list

例如Sql注入

POC/api/blade-log/error/list?updatexml(1,concat(0x7e,version(),0x7e),1)=1
萌新安服的踩坑之路
又例如信息泄露漏洞

直接访问接口:api/blade-log/api/list,接口中会泄漏当前账号和加密的密码,以及其他用户的cookie

萌新安服的踩坑之路
迂回了一下,替换当前用户的cookie就可以得到管理员用户的登录账号信息(含加密的密码)。

萌新安服的踩坑之路
再迂回绕过一下(因为密码是加密的,认证的请求包也是加密的密码,直接替换,重放请求包报文),直接使用管理员加密的密码登录系统:

萌新安服的踩坑之路
故渗透中对于特定系统不能单看web的UI、CSS、JS的特征,也要关注数据包报文接口的相关信息,从而对号入座,测试出一些高危漏洞。

END

监制丨船长、铁子

策划丨格纸

美工丨molin

原文始发于微信公众号(千寻安服):萌新安服的踩坑之路

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月26日15:24:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   萌新安服的踩坑之路http://cn-sec.com/archives/3551678.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息