安全建设-攻防思路及实践(一)

VSole2021-07-12 10:11:14

原文链接:https://mp.weixin.qq.com/s/mnHGLZ_e3tWkxCL-DPAAvQ

背景

以前挖国内src时的一个套路:

通过"寻找管理后台 + 寻找api接口 + burp验证api接口"来找未授权api

找到未授权api后,根据api功能就能造成不同危害:

比如利用"重置密码接口"来重置管理员密码,然后登陆后台
比如利用"查数据接口"获取数据

个人觉得这个套路比较好用,原因在于:

没有攻击payload,waf、nids等安全设备比较难检测(虽然可能按照访问404频率和比例等特征封禁)
"管理后台对外开放"和"api接口未授权访问",个人感觉这两个风险在企业里很难靠"技术手段"完全杜绝
大部分检测工作可以用工具完成

也有不好的地方,在于:

整个流程没有完全自动化,需要人工做重复性的事情,比如判断是否是管理后台

详细过程

怎么找"管理后台"?大概分三步:
* 第一步筛出可能的管理后台地址
* 第二步将首页截图保存成本地
* 第三步人工浏览截图

第一步筛选管理后台地址的策略包括:

* 域名中包含关键词,直接当作后台管理系统
* 30x跳转地址包含关键词
* 响应html中包含table标签(因为有可能后台管理首页就存在未授权访问,数据展示时会用到table标签)
* 判断页面是否是vue框架写的(因为很多开发喜欢选择用vue来做管理系统)

脚本代码:https://gist.github.com/leveryd/334b719e253261ffd0abfd161e499ae7

怎么找api接口?

从js文件文本中找,策略如下:

* 将js代码中字符串常量提取出来
* 字符串常量匹配 `/[\w\d\-./]+` 且不以 // 字符开头,认为是api路径
* 字符串常量匹配 `[\w\d\-]+/[\w\d\-./]+` 且不以 / 字符开头,认为是api路径

脚本代码:https://gist.github.com/leveryd/465d19610d5fcf99199beb9284cd6f8c

这种方式不需要前端存在sourcemap泄漏。

当然如果前端有sourcemap信息就更好,这样可以利用 利用sourcemap还原前端项目-浏览器插件这种工具还原前端项目,代码阅读性更好一些。接着对前端项目做代码审计,有可能在前端代码中看到 啥token、啥功能比较特殊的api接口(比如上传文件)。

怎么使用burpsuite验证api接口?
将找到的api接口放到burpsuite批量验证,根据 响应状态码、响应长度、响应内容 来判断是否有未授权的api接口。
测试过程中可以变换请求方法:GET、POST、PUT
确认存在未授权接口后,再人工从前端js中找参数值利用。

成果

[评级高危-顺丰某系统后台API接口未做认证导致用户信息泄漏]
[评级高危-顺丰某系统未授权导致获取后台管理权限,可查看大量订单信息]
[评级高危-字节某业务线后端接口未授权访问]
[评级中危-腾讯广告后台接口未认证]
[评级低危-后台API接口存在未授权访问(可增删改数据)]

安全管理与技术

对于"管理后台对外开放"和"api接口未授权访问"这两类风险,在企业安全建设中是怎么防范的呢?

怎么减少"管理后台对外"安全风险?

根据个人有限的经验来总结,管理上包括如下手段:

* 公司发布安全红线:禁止后台开放到公网访问
* 安全意识的宣导

技术上包括如下手段:

* 统一认证登陆
* 周期性对资产做扫描,识别"管理后台"
* 从流量层面识别"管理后台"

业务上包括如下手段:

* 后台访问白名单限制
* 后台登陆多因素认证MFA(短信二次认证、rsa token等)

比如能看到的,滴滴很多后台管理业务都接入了统一认证登陆,对于我来说就比较难进一步测试。

不过上面的手段都并不一定管用,各种手段自身也有设计缺陷、安全漏洞等。

比如我前公司的统一认证平台 统一认证登陆出现过一个设计上的漏洞。

正常的业务场景是:它支持钉钉登陆,员工在web页面输入邮箱后,钉钉app会收到一个确认登陆链接。员工点击确认链接后,web端就会验证通过,进入到后台系统。

有白帽子收集一些部分员工邮箱,就在web页面填收集到的邮箱。结果有部分员工点击了钉钉上收到的"确认登陆链接"消息,帮助"攻击者"进到了后台系统。

另外还听我同事给我分享的案例,他遇到某些有多因子认证的系统时,加x-forwarded-for请求头伪造内网ip就绕过去了,原因是面向内部的系统去掉了"多因子认证"。

至于安全意识的宣导、安全红线到底有多大作用,这感觉更不好衡量。

怎么减少"api接口未授权访问"安全风险?
根据个人有限的经验来总结,技术上包括以下手段:
* 依赖开发人员的代码安全质量
* 零信任架构的实施

零信任应用的两个场景包括了 用户访问服务 和 服务之间互相访问 时的认证鉴权,而"用户登陆后台访问数据"恰好就是"用户访问服务"这个场景。

总结

验证了这个老套路在国内还是能挖到洞的。

站在攻击方的角度来看,现有每一步的安全策略可以优化,比如可以详细调研一下后台系统的分类,比如为什么开源的cms后台和前台经常是在一个域名下,而企业里的后台系统为什么经常是单独的访问方式?

整个流程或许也可以优化到完全依赖工具产出报警,就像 一种针对Webpack等前端打包工具构建的网站的自动化测试思路(附开源项目)一样。虽然没有用过这个项目,但是看文章介绍感觉有不少实战上的细节和经验。

api后台技术
本作品采用《CC 协议》,转载必须注明作者和本文链接
这样一旦运行的服务器宕机,就把备份的服务器运行起来。冷备的方案比较容易实现,但冷备的缺点是主机出现故障时备机不会自动接管,需要主动切换服务。当一台服务器宕机后,自动切换到另一台备用机使用。
2022年4月中旬,客户反馈收到以工资补贴相关为诱饵的钓鱼邮件。邮件附件为doc文档,其中包含一个二维码(如下图所示)。扫描二维码后,将跳转到钓鱼链接:http://*. kjhdf[.]uno/(如http://546a2cd984338f4ec6091d63c394be61.kjhdf[.]uno/)。根据调查,发现攻击者使用的发件邮箱是之前通过钓鱼获取到的真实邮箱地址,因此极具迷惑性,更易让
介绍一下攻防思路及实践
两种协议都支持单点登录,但在部署之前需要明确两者的差异。
Internet Explorer 11远程执行代码漏洞 在野外发现的Internet Explorer的最新零日攻击利用了旧版JavaScript引擎中的漏洞CVE-2020-0674,CVE-2019-1429,CVE-2019-0676和CVE-2018-8653。相比之下,CVE-2020-1380是中...
恶意API爬虫对于企业反爬工作来说,无疑提出了更大的挑战。其中各地的数字政务平台是该团伙的重点攻击目标,在Q2就有超过30多个的数字政务平台遭受恶意攻击。API存在安全缺陷是导致API攻击的主要原因。报告基于永安在线API安全管控平台Q2的流量审计结果,从危害性、可利用性、普遍性三个维度,列出了Q2需要引起重视的四类API安全缺陷。
随着互联网技术的快速发展,API作为连接服务和传输数据的核心通道,需求正大量增长,API在企业的发展过程中也扮演着越来越重要的角色。然而,API巨大价值的背后也同时隐藏着不可忽视的安全风险。
实战中遇到过这样一个案例,一个输入密码正确后会302跳转到后台页面的登录口存在盲注,但登录数据有加密,无法使用sqlmap完成自动注入的过程,于是想编写python脚本自动化完成这个过程。
虚拟机检测技术整理
2023-05-11 09:15:35
第一次尝试恶意代码分析就遇到了虚拟机检测,于是就想着先学习一下检测的技术然后再尝试绕过。学习后最终发现,似乎最好的方法不应该是去patch所有检测方法,而是直接调试并定位检测函数再绕过。但既然已经研究了两天,索性将收集到的资料整理一下,方便后人查找。恶意软件可以搜索这些文件、目录或进程的存在。VMware 虚拟机中可能会有如下的文件列表:C:\Program Files\VMware\
当前,新技术的创新应用加速了数字世界和物理世界的深度融合,引领人类社会进入全新的发展阶段。然而,一个不可否认的现实是,人们如今所享受的许多创新技术和先进功能,最终也会被恶意攻击者所利用。很多新技术在投入应用之前,并没有充分考虑安全性和隐私保护等情况,因此为威胁行为者提供了新的攻击入口。
VSole
网络安全专家