Blind Return Oriented Programming (BROP) Attack - 攻击原理(3)_工具资源_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • 工具资源

    当前位置:主页 > 网站运营 > 工具资源 >

    Blind Return Oriented Programming (BROP) Attack - 攻击原理(3)

    时间:2019-07-21|栏目:工具资源|点击:
  • 对于strcmp来说, 作者提出的方法是对其传入不同的参数组合,通过该方法调用返回的结果来进行判断。由于BROP gadget的存在,我们可以很方便地控制前两个参数,strcmp会发生如下的可能性:

    arg1 | arg2 | result :--: | :--: | :--: readable | 0x0 | crash 0x0 | readable | crash 0x0 | 0x0 | crash readable | readable | nocrash

    根据这个signature, 我们能够在很大可能性上找到strcmp对应的PLT项。

    而对于write调用,虽然它没有这种类似的signature,但是我们可以通过检查所有的PLT项,然后触发其向某个socket写数据来检查write是否被调用了,如果write被调用了,那么我们就可以在本地看到传过来的内容了。

    最后一步就是如何确定传给write的socket文件描述符是多少了。这里有两种办法:1. 同时调用好几次write,把它们串起来,然后传入不同的文件描述符数;2. 同时打开多个连接,然后使用一个相对较大的文件描述符数字,增加匹配的可能性。

    到这一步为止,攻击者就能够将整个.text段从内存中通过socket写到本地来了,然后就可以对其进行反编译,找到其他更多的gadgets,同时,攻击者还可以dump那些symbol table之类的信息,找到PLT中其它对应的函数项如dup2和execve等。

    0x11 BROP的攻击流程 2 - 实施攻击

    到目前为止,最具挑战性的部分已经被解决了,我们已经可以得到被攻击进程的整个内存空间了,接下来就是按部就班了(从论文中翻译):

    将socket重定向到标准输入/输出(standard input/output)。攻击者可以使用dup2或close,跟上dup或者fcntl(F_DUPFD)。这些一般都能在PLT里面找到。

    在内存中找到/bin/sh。其中一个有效的方法是从symbol table里面找到一个可写区域(writable memory region),比如environ,然后通过socket将/bin/sh从攻击者这里读过去。

    execve shell. 如果execve不在PLT上, 那么攻击者就需要通过更多次的尝试来找到一个pop rax; ret和syscall的gadget.

    归纳起来,BROP攻击的整个步骤是这样的:

    通过一个已知的stack overflow的漏洞,并通过stack reading的方式绕过stack canary的防护,试出某个可用的return address;

    寻找stop gadget:一般情况下这会是一个在PLT中的blocking系统调用的地址(sleep等),在这一步中,攻击者也可以找到PLT的合法项;

    寻找BROP gadget:这一步之后攻击者就能够控制write系统调用的前两个参数了;

    通过signature的方式寻找到PLT上的strcmp项,然后通过控制字符串的长度来给%rdx赋值,这一步之后攻击者就能够控制write系统调用的第三个参数了;

    寻找PLT中的write项:这一步之后攻击者就能够将整个内存从远端dump到本地,用于寻找更多的gadgets;

    有了以上的信息之后,就可以创建一个shellcode来实施攻击了。

    0x100 后记

    以上就是BROP攻击的原理,在这篇博文中重现了这个攻击,有兴趣的可以去看看。

    其实在整个攻击过程中最酷的要数第一个步骤:如何dump内存,之后的步骤其实就是传统的ROP攻击了。明白了原理之后,其实最好的了解该攻击的方法就是看源代码了,这个对了解整个ROP会有非常大的帮助

    上一篇:令人堪忧的app工厂安全(一个弱口令影响整体安

    栏    目:工具资源

    下一篇:学而思(好未来)集团网上核心系统最高权限可

    本文标题:Blind Return Oriented Programming (BROP) Attack - 攻击原理(3)

    本文地址:http://www.jh-floor.com/wangzhanyunying/gongjuziyuan/8023.html

    您可能感兴趣的文章

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号