为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓
- 01 案例概述
- 02 攻击路径
- 03 防方思路
01 案例概述
这篇文章来自微信公众号“黑白之道”,记录的某师傅从js文件泄露接口信息,未授权获取大量敏感信息以及通过逻辑漏洞登录管理员账号,利用任意文件读取漏洞明确系统使用log4j组件,使用log4j漏洞获取服务器控制权限的过程。
记一次抽丝剥茧式的渗透测试【原文链接】
02 攻击路径
从攻击者视角了解攻击的全过程,以下为攻击过程:
(1)突破网络边界:攻击方的突破点是社工钓鱼,通过外网信息收集添加企业客服以及总监的微信,分别构造与客服业务相对应的话术以及商务合作等方式,诱导对方成功点击木马文件,获得PC终端控制权限。
(2)获取敏感信息:攻击方翻阅客服终端发现存在密码本文件,利用密码本记录信息成功登陆存在大量内部办公邮件的邮箱系统、存在2000w+记录信息的运营平台以及Zabbix系统等,并进一步发现运营平台存在SQL注入漏洞,可使用sqlmap获取数据库用户密码。攻击方翻阅总监终端发现存在某系统源码,审计源码发现该系统后台插件添加处存在任意文件上传漏洞,于是通过添加插件的方式对向服务器中写入webshell获取到多台服务器权限。
(3)扩大攻击成果:攻击方获取到多台服务器权限后,攻击者进一步翻阅配置文件、利用历史漏洞,拿到阿里云AK/SK可控制所有云上系统以及使用CVE-2021-22205漏洞获取到gitlab服务器权限,获取到大量内网系统账号密码,并通过配置文件成功获取Jenkins用户cookie成功登录Jenkins。
03 防方思路
站在防守单位的角度需吸取本案例的经验教训:
(1)首先前端js文件需仅显示必要的接口信息,对于涉及到敏感操作或数据的接口,需加强权限鉴别与控制机制。
(2)其次对于文件下载、文件读取功能,需健全完善的用户权限校验机制以及对文件资源路径与文件名的合法性校验机制。
(3)当系统开发过程引入第三方组件或采用开源框架时,如log4j组件,需谨慎识别是否为存在漏洞问题版本,确保第三方组件安全。