上次分享了一篇通过接口泄漏打到靶标的一则案例,这次再分享一则案例,主要内容是通过SGK一路杀到靶标的过程。同样的因为是实战内容,不方面展示太多细节,重码敏感信息。
大概攻击流程如下,首先利用BP的intruder模块遍历接口,获取未授权接口敏感数据;然后配合SGK获取系统权限,最后利用系统权限进入内网获取靶标。详情内容如下。
接口未授权
在上篇接口案例中提到过,js中存在大量接口,可以使用bp的intruder模块先遍历一下,看是否存在未授权。
关于从接口泄漏打到靶标的案例分享
无面人,公众号:冰蚕实验室攻防案例分享-从接口到靶标
此次发现未授权接口就是使用这个方法。使用工具:火狐插件FindSomething,BP的intruder模块
将FindSomething发现的Path复制到文件中,通过intruder模块进行遍历。有时候这个插件发现的路径不够全面,如果想要更仔细的测试,可以单独处理存在接口的js文件。
遍历的bp截图笔者丢了,大家就当遍历成功了(狗头)
发现如下接口,存在未授权,该接口可未授权获取全校师生敏感数据
教师数据
学生信息
通过修改pageNum页面参数,可翻页查询所有数据。
这种遍历接口的请求,大多数情况下会出现以下情况:
1、返回405或者401
401就不说了需要权限,405的话需要我们修改请求方式,POST/GET切换一下;
2、返回Content-Type不正确
这种可以看网站其他请求的数据包是什么类型,比如application/json,等等,同时我们也需要修改data传输的数据类型,将其改为json格式
3、返回参数错误
这时需要根据js文件中的内容,或者需要猜测要传递的参数是什么了,无法构造正确的参数,也没办法获取到数据。
以上是请求接口时出现问题的一些解决方法,不再赘述,我们继续看案例,看如何通过获取的这些用户敏感信息结合SGK获取系统权限的。
获取统一认证平台教师权限
重置教师用户密码
重置密码时需要进行身份认证,需登陆账号、身份证号。
所需信息已经可以通过未授权接口问题中获取:返回数据包中的userName,idCard
验证成功后,需选择找回方式,如上图,该用户验证方式需填写个人的QQ号码,QQ号码在接口返回的用户敏感信息中是没有的。那么如何知道对方QQ号呢?
此时就需要用到SGK,查询个人信息--利用手机号查询qq号。(通过手机号获取的信息也不止这些,仅截了部分。)
利用SGK获取的QQ进行验证,成功后进入设置新密码页面,如下图
设置密码后登陆统一认证平台
至此,通过接口泄漏的敏感信息和SGK信息,获得了目标单位统一认证平台的教师权限。
上述内容展示了通过手机号查询qq的用户,不过用过的师傅都知道,利用SGK查询的信息不止QQ,还有身份证信息、地址、银行、历史密码等。所以在不同的场景下可以有不同的利用方式(比如防守方溯源),笔者就不在这里聊太多,大家可以自行研究。
进内网
利用教师的统一认证平台权限登陆众多校内系统,获取了大量数据和权限,其中人事系统存在shiro反序列化漏洞,通过该漏洞getshell。
人事系统
漏洞探测
获取shell
靶标
进入了目标单位内网,后续操作就简单很多,维持权限、信息收集、内网横向等等。
其中通过内网信息收集,发现了h3c云管理平台,该平台在今年某重大网络保障活动中曾爆出过上传漏洞。
使用h3c云管理平台漏洞上传木马文件
漏洞参考链接:https://mp.weixin.qq.com/s/Oqo-8D6sQltVfq2RfbQdfw
POST /cas/fileUpload/upload?token=/../../../../../var/lib/tomcat8/webapps/cas/js/lib/buttons/9999.jsp&name=222 HTTP/1.1
Host: x.x.x.x:5002
Content-Range: bytes 0-10/20
Referer: http://x.x.x.x:5002/cas/login
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15Content-Length: 23
<%out.print("123");%>
使用冰蝎连接木马,找到了后台登录管理员的账号密码
登陆后台
查看到靶标信息
到此,成功获取到了目标单位的靶标控制权限。
总结
回顾整个攻击流程:发现未授权接口,利用未授权接口获取个人敏感信息,结合SGK,获取了统一认证平台的登陆权限,从而发现存在shiro漏洞的资产并进入内网,最后获取到靶标。
从防守方角度出发,如何防范此类攻击?首先开发者应当严格遵守开发规范,避免出现常见漏洞,如这次的接口未授权,鉴权是保证系统数据安全最基本的手段;
其次,系统应尽量使用双因素认证,避免攻击者使用用户泄漏的信息绕过安全检查机制,获取系统权限;最后记得打补丁,打补丁,已暴露的设备1day、Nday,是攻击者常用的攻击手段,简单有效。
原文始发于微信公众号(冰蚕实验室):攻防案例分享-SGK助力打靶标
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论