ASLRay:一个可以绕过ASLR的工具

ASLRay:一个可以绕过ASLR的工具

黑客软件hacker2019-06-15 12:34:229461A+A-

ASLR(Address Space Layout Randomization,即详细地址室内空间布局随机化)就是指运用任意方法配备统计数据详细地址,通常当代系统软件中都增设这一体制,以预防故意对系统己知详细地址开展进攻。只有现阶段早已有多种多样绕开ASLR的方法,今日将详细介绍1个简易的ASLR绕开专用工具。

ASLRay:一个可以绕过ASLR的工具 第1张

  详细介绍

  特性

  而ASLRay是这款能够绕开ASLR的专用工具,其特性给出:

  ASLR绕开

  跨平台

  比较简洁

  使用方便

  没法修补

  依靠

  Linux 2.6.12 – 适用一切应用场景Linux的x86-32的电脑操作系统。

  限定

  堆栈段必需可实行(-z execstack)

  二进制必需在当地根据主要参数(并不是文档,套接字或是键入)来运用

  不兼容别的构架和电脑操作系统

  必须了解堆栈的限定/尺寸

  原理

  你有木有据说过堆喷涌进攻(Heap Spraying attack)?我觉得Stack Spraying也类似,只有在大部分状况下它都被觉得很不好用,非常是x86-32上的ALSR。

  而近期创作者证明材料恰恰相反。

  针对31位,总共有2^31(4 294 967 296)个基础理论详细地址,显然针对虚拟化技术的运行内存中的实行,内核仅容许操纵2^(31/2)即63 536个基础理论详细地址。这代表要是人们在堆栈中操纵超过5万个字符,那么因为内核的重定向和再次变换,人们就能够对准的shellcode了。依据我的检测,我觉得150个以至于12个字符就可以了。

  这能够应用shell自变量来建立,这种自变量并非真实仅限于特殊的长短,但实际上的限定是大概100万,不然会使TTY饱和状态。那么,以便配搭一切shellcode取得成功运用,人们要将NOP sled随后shellcode放进shell自变量中,随后根据任意详细地址来运用。要特别注意的是,NOP sled并非必需的。

  在32位系统软件中,状况就一些不同了,可是我发现了并沒有转变很大。

  请相信我,你未必要遮盖全部2^32种概率,实际上内核只容许47位,另一个部分有一大半是静态数据的和可分折的,那样算下来就是说2^(4*8+5)即137 438 953 472种概率。创作者以前提及了shell自变量的尺寸限定,我觉得有一个记数限定,大概为12,因而人们能够储存1个12万字符的shellcode。此次必须强制性应用NOP sled,由于那样会迅速。

  简而言之,在31为和32位系统软件中,ALSR能够根据几行shell在十多分钟以内轻轻松松绕开。

  怎样实际操作

  要是你一直在以前最少运用过1个缓冲区溢出,就能够立即绕过这儿了,可是以便防要是:

  apt install gcc libc6-dev-i386 || kill -9 $$ chmod u+x ASLRay.sh

  sudo gcc -z execstack test.c -o test sudo gcc -m32 -z execstack test.c -o test32

  sudo chmod +s test test32 source ASLRay.sh test32 1024 source ASLRay.sh test 1024 source ASLRay.sh test 1024 \x31\x80有限责任公司你的shellcode

  在debian上证明材料NOP sled并不是必不可少的:

  特别注意!!!这会更改etc/passwd且改动/etc/shadow的管理权限,因此强烈推荐应用虚拟机。

  chmod u+x PoC.sh source PoC.sh grep ALI /etc/passwd

  如果不是用,就在刚开始再加某些NOP(\x90)

  别忘记查验堆栈段是不是可实行和ASLR的设定:

  scanelf -e test | grep RWX or readelf -l test | grep RWE grep 2 /proc/sys/kernel/randomize_va_space

  你能将shellcode放进1个自变量中,并成ASLR的shell分派任意详细地址,创作者觉得那样的内核虚拟化技术个人行为是1个不明的系统漏洞,因此PoC归属于0day。

  sudo gcc -z execstack -fno-stack-protector test.c -o test sudo gcc -m32 -z execstack -fno-stack-protector test.c -o test32

  怎样预防

  1.要还记得自始至终取决于几斤维护,而并不是单一化维护。

  2.也许人们必须新的系统优化体制。

  人们置身雨中,雨大便次数多任意的,假若置身于雨外,则其规律性一览无遗。


点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 1条评论
  • 瑰颈过活2022-05-28 06:04:54
  • 由于那样会迅速。  简而言之,在31为和32位系统软件中,ALSR能够根据几行shell在十多分钟以内轻轻松松绕开。  怎样实际操作  要是你一直在以前最少运用过1个缓冲区溢出,就能够立即绕过这儿了,可是以便防要是:  apt install gcc libc6-dev-i386 || kil

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理