首页
社区
课程
招聘
[分享]2021SDC议题回顾 | Make Deep Exploit RCE Attack Popular PPT分享
发表于: 2021-10-29 19:00 28181

[分享]2021SDC议题回顾 | Make Deep Exploit RCE Attack Popular PPT分享

2021-10-29 19:00
28181

RCE 攻击是每一位安全研究员的追求,也是业内研究分析绕不开的技术点,遗憾的是目前网上公开的方法论大都未抓住其技术疼点,仅仅满足诸如弹计算器,反弹shell。


安恒水滴实验室的安全研究员孙成心先生在此基础上做了大量研究,从自身红队视角出发,对RCE漏洞所带来的进一步危害及其深度利用,RCE利用的规范化和流程化,做出了里程碑式意义的开源工作!


下面就让我们来回顾2021看雪第五届安全开发者峰会Make Deep Exploit RCE Attack Popular 此议题的精彩内容。





图片

【孙成心-安恒水滴实验室安全研究员












孙成心:安恒水滴实验室安全研究员。


近些年一直专注Java漏洞安全,CodeQL漏洞分析、审计。擅长漏洞深度利用,CodeQL分析研究Nday,擅长研究漏洞的深度利用,赋能红队。









以下为速记全文:

先做个自我介绍,我是安恒水滴实验室的安全研究员,主要做的方向是Java安全和静态代码分析这一块。今天给大家带来的演题目是《Make Deep Exploit RCE Attack Popular 》,总共分为以下五个部分。

图片





前言







时下随着网络安全的不断发展,RCE已经成为了流行词。RCE 攻击也是每一个安全研究员的追求,但其实到目前为止RCE很多公开手段仅限于弹计算器或者反弹shell之类的。


RCE Code OR Command(代码还是命令)Exploit?


我们假设一个场景,当红队攻击队队员发现某某目标存在某个组件、框架并发现可能存在某RCE漏洞。如果这个漏洞很熟悉,当然就直接攻击,但如果是最新漏洞、或者是不熟悉的漏洞。

图片

此时大多数人员都可能采取GitHub、Google、百度三步走策略,但往往发现搜索引擎给出的漏洞复现、漏洞分析文章大多数都是以弹计算器、反弹shell、DNSLOG等操作。而这些操作往往在现如今的蓝队的防御和应急水平下是能够很快的发现,这些操作往往是不可采取的。


我们能做什么呢?新时代下,当然还不能是DNSLOG、弹计算器、反弹shell操作。RCE漏洞攻击一直以来都是红队最喜欢的攻击手段之一,其特点能够执行任意代码。往往部分安全研究员其工作特性不参与红蓝对抗,从而没有时间、兴趣研究进一步深度利用。


在新时代下,随着蓝军防守能力不断提高显然这些操作是无法满足红队视角下的需求。但与此同时RCE漏洞利用其漏洞利用难度一直也是居高不下,并且RCE漏洞利用方式花样百出,不同RCE漏洞存在不同漏洞利用方式。而红队队员不可能所有的RCE漏洞都复现过、有了解过,或者说是漏洞进一步深度利用过。

图片

ysoserial是一款知名的漏洞利用工具,其包含目前主流的绝大数的漏洞利用Gadget,但绝大数的漏洞利用Gadget都是以执行命令为主,这使得大多数人将RCE漏洞的危害从"任意代码执行”降级为了“任意命令执行”。


2




漏洞案例分析







SpringBootVulExploit是一个对SpringBoot漏洞利用checklist,包含了目前SpringBoot绝大数漏洞利用方式,也是目前红队对SpringBoot的checklist。

图片

checklist一共给出了(目前)给出十二种RCE漏洞利用方法,对其归纳分类。大致可以分为三类,第一类JNDI注入攻击类型、重启类型以及其他类型。


JNDI注入类型都是可以采用JNDI注入攻击方法,重启类型都是要将web服务重启启动才能触发漏洞。其他类型是一些杂项,每一种的RCE漏洞利用都是不同的漏洞利用方式。


站在红队视角下,如果遇到SpringBoot漏洞,显然没有一套规范的漏洞利用方案,显然无法做到漏洞快速利用的目的。要对每一种漏洞利用方式从能够复现、到深度漏洞利用是一个很漫长的过程,这个过程可能是一个星期、甚至是一个月。


如何规范一套漏洞快速利用的方案呢?这里我认为存在三个痛点:


(1)漏洞利用规范化:一套规范的漏洞利用模式,从漏洞发现、漏洞复现、漏洞利用的规范


(2)漏洞利用流程化:用一套流程,将漏洞利用规范的每一个细节变成一套流程


(3)漏洞利用简易化:将漏洞深度利用难度简易化,让每一个人用尽可能少的时间学习漏洞利用


图片


Checklist归类后一共有三类,如果将其中两类转化成另一类的话,那么将大大减少漏洞利用难度。第一类就包含了三种均是采用JNDI方式,采用JNDI的优点:通用性比较强、利用成本低。缺点要求目标出网。如果我们把所有的类型都转换成JNDI注入的方式,那么将大大减少我们的漏洞利用的难度。


JNDI的特点,可以获取实例类、执行任意恶意代码。事先安全研究员可以将漏洞利用的代码写好,实现一次编写循环使用,即使是不懂代码的人都能实现漏洞利用。



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2021-10-29 19:16 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 4
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//