ARM漏洞利用实验室:从IoT设备到ROP链的攻防实战

本文详细介绍了ARM架构下的漏洞利用技术,涵盖ARM汇编基础、栈溢出攻击、ARM Shellcode编写、XN/DEP绕过技术、ARM ROP链构建、ASLR绕过等核心内容,并包含多个实战案例和CTF挑战。

ARM漏洞利用实验室进入第11年

2016年,漏洞利用实验室进入第11个年头!今年,我们在CanSecWest、SyScan和最近的HITB2016AMS上首次推出了ARM漏洞利用实验室培训。反响非常热烈,HITB2016AMS和即将在RECON 2016蒙特利尔举办的课程都已全部售罄。

2016年7月/8月 - BLACKHAT USA

今年,我们仍在Blackhat USA 2016上教授高级x86/x64漏洞利用实验室课程,包括黑带和大师级课程。早鸟价格已结束,课程报名正在稳步增加。

  • 7月30-31日 - 漏洞利用实验室黑带 - 浏览器漏洞利用、Use-after-free、DEP、ASLR、ROP
  • 8月1-2日 - 漏洞利用实验室大师 - 高级ROP、信息泄露、64位漏洞利用

2016年9月 - 44CON UK

我们在44CON上有一个3天版本的ARM漏洞利用实验室,内容包括ARM汇编语言入门、编写ARM Shellcode,以及最终通过ARM ROP绕过XN。请在44CON培训页面注册。

ARM-X和全新的IoT CTF挑战

几天前,我发布了ARM-X固件仿真框架。我的目标是尽可能接近拥有一个IoT虚拟机。ARM-X有几个应用场景。我编写它是为了仿真和渗透测试IoT设备,并用于在我的ARM IoT漏洞利用实验室培训中教授漏洞开发。ARM-X还可用于模糊测试IoT目标和托管IoT CTF挑战!

ARM-X预览VM

我在2019年10月23日发布了ARM-X的预览VM及代码。该镜像是使用Alpine Linux作为主机操作系统的VMWare虚拟机,仅仅是因为我无法忍受systemd。ARM-X的预览版预装了两个仿真的IoT设备:

  • DVAR - 该死的易受攻击的ARM路由器,最初作为TinysploitARM发布
  • Trivision 227WF IP摄像头

ARM-X CTF挑战 #1

正如预期的那样,Trivision IP摄像头存在一些严重漏洞。到目前为止,我们已经知道三个漏洞。可能还有更多潜伏在阴影中。第一个有效利用和write-up将赢得我提供的特殊Ringzer0 “0-day盒子”!

在接下来的几天里,我将陆续发布关于如何使用gdb和gdbserver与ARM-X进行调试的提示,使用动态分析工具如strace和ltrace等。关注@therealsaumil获取更新。

DVAR ROP挑战 - 奖励回合解锁!

当我第一次发布该死的易受攻击的ARM路由器时,我承诺会宣布DVAR奖励挑战。

我一直在等待第一个栈溢出练习的成功完成,然后宣布奖励挑战。

@JatanKRaval提供了第一个有效的解决方案,所以现在开始 - 奖励回合解锁!

DVAR挑战的第2部分是利用"/usr/bin/lightsrv"交通信号灯服务器中的栈溢出。lightsrv在启动时自动启动,并在8080端口监听。

你的任务是:

  • 找到lightsrv的缓冲区溢出向量
  • 使程序崩溃并获取pc=0x41414140
  • 构建适当的ROP链(XN已启用!)
  • 获得可用的shell!

提示:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
exploitlab-DVAR:~# ps
  PID USER  VSZ STAT COMMAND
    :    :    : :    :
  245 root  656 S    /usr/bin/miniweb
  246 root  640 S    /usr/bin/lightsrv <------- [目标]
  292 root 1016 S    -ash
  321 root 1012 R    ps

exploitlab-DVAR:~# cat /proc/$(pidof lightsrv)/maps
00010000-00012000 r-xp 00000000 08:00 512   /usr/bin/lightsrv
00022000-00023000 rw-p 00002000 08:00 512   /usr/bin/lightsrv
40000000-40064000 r-xp 00000000 08:00 185   /lib/libc.so
40064000-40065000 r-xp 00000000 00:00 0     [sigpage]
40073000-40074000 r--p 00063000 08:00 185   /lib/libc.so
40074000-40075000 rw-p 00064000 08:00 185   /lib/libc.so
40075000-40077000 rw-p 00000000 00:00 0
40078000-40089000 r-xp 00000000 08:00 2791  /lib/libgcc_s.so.1
40089000-4008a000 rw-p 00009000 08:00 2791  /lib/libgcc_s.so.1
befdf000-bf000000 rw-p 00000000 00:00 0     [stack]
ffff0000-ffff1000 r-xp 00000000 00:00 0     [vectors]

如果你还没有玩过DVAR,从这里下载: http://blog.exploitlab.net/2018/01/dvar-damn-vulnerable-arm-router.html

即将到来的ARM IoT漏洞利用实验室培训

  • Cansecwest Vancouver 2019(4天)3月16-19日
  • Hack In The Box Amsterdam HITB2019AMS(3天)5月6-8日

玩得开心,享受DVAR-ROP!

DVAR - 该死的易受攻击的ARM路由器

该死的易受攻击的ARM路由器(DVAR)是一个仿真的基于Linux的ARM路由器,运行一个易受攻击的Web服务器,你可以用它来磨练你的ARM栈溢出技能。

DVAR在tinysploitARM VMWare VM中运行,基于完全仿真的QEMU ARM路由器镜像。

只需解压ZIP文件并通过tinysploitARM.vmx启动VM。启动后,VM的IP地址和默认URL将显示在控制台上。使用主机计算机的浏览器,导航到该URL并按照说明和线索操作。虚拟网络适配器设置为NAT模式。

你的目标是为运行在DVAR tinysploitARM目标上的Web服务器编写一个有效的栈溢出利用。DVAR还包括一个奖励挑战,关注Twitter上的@therealsaumil获取奖励挑战公告。

下载URL:exploitlab_DVAR_tinysploitARM.zip - 47.4MB VMWare镜像 SHA256:bc6eb66b7f5c0c71ca418c809213eb452e3fbf90654856ebb0591e164d634e2b

DVAR最初是作为ARM IoT漏洞利用实验室的可选预备练习开始的。

即将到来的ARM IoT漏洞利用实验室培训

  • Cansecwest Vancouver 2019(4天)3月16-19日
  • Hack In The Box Amsterdam HITB2019AMS(3天)5月6-8日

ARM IoT漏洞利用实验室首次亮相Blackhat USA 2017

在Blackhat教授x86二进制漏洞利用十年后,我们很高兴在Blackhat USA 2017上首次推出ARM IoT漏洞利用实验室!我们连续教授两个课程。

周末课程"ARM IoT漏洞利用实验室:入门"是对ARM漏洞开发的介绍,涵盖ARM汇编、从零开始的ARM shellcode,以及针对在ARM系统上运行的Linux镜像构建远程利用。

随后是"ARM IoT漏洞利用实验室:高级"课程,重点是在ARM上克服漏洞缓解技术,如XN(DEP)和ASLR,提取和分析IoT固件,以及利用IoT二进制文件。我们将构建ARM ROP链,并针对基于ARM的IP摄像头和基于ARM的WiFi路由器构建完全可用的远程利用 - “从固件到shell”。哦,是的,我们将针对真实硬件尝试攻击,而不仅仅是模拟器!

课程链接: https://www.blackhat.com/us-17/training/arm-iot-exploit-laboratory-intro.html https://www.blackhat.com/us-17/training/arm-iot-exploit-laboratory-advanced.html

还有一件事,我的朋友@Fox0x01已经整理了一系列关于ARM汇编基础的精彩教程。我强烈推荐已经注册或考虑报名ARM IoT漏洞利用实验室的学生学习。

在维加斯见,连续第18年!

Blackhat 2016漏洞利用实验室 - 课前教程+Crackme

我们的Blackhat USA 2016漏洞利用实验室黑带和大师课程报名很快。如果你正在参加我们的课程(或考虑参加),这里有一些介绍性材料 - 用于复习核心概念的教程和几个crackme来尝试你的漏洞编写技能。

黑带教程+挑战VM

  • 操作系统 - 入门
  • 函数工作原理
  • 调试器介绍
  • TinySPLOIT - 栈溢出热身(30MB下载)

实验室大师教程+挑战VM

  • 深入ROP
  • TinySPLOIT2 - ROP技术热身(78MB下载)

解决挑战不是强制性的,但如果你真的渴望动手进行漏洞开发,那就去尝试吧!

如果你还没有注册课程,这里是注册页面:

  • 7月30-31日 - 漏洞利用实验室黑带 - 浏览器漏洞利用、Use-after-free、DEP、ASLR、ROP
  • 8月1-2日 - 漏洞利用实验室大师 - 高级ROP、信息泄露、64位漏洞利用

TinySPLOIT2 - ROP漏洞开发练习

Blackhat USA 2015的漏洞利用实验室提升了一个级别。我们将在8月1-2日的周末教授我们的"黑带"课程,涵盖高级主题,如使用返回导向编程绕过DEP和深入探讨Use-After-Free漏洞利用。随后是我们最新的产品,8月3-4日的"漏洞利用实验室:大师"课程。大师课程是一个超级高级的课程。直接参加大师课程的学生应精通ROP、Use-After-Free利用、堆喷洒和调试技术。

为了测试你的ROP技能,我们推出TinySPLOIT2 - 一个紧凑的Linux虚拟机,包含三个漏洞编写挑战,每个挑战难度逐渐增加。现在获得shell需要使用返回导向编程、一定的GDB调试熟练度、ELF二进制分析和一些聪明的创新。

TinySPLOIT2是一个350MB的VMware镜像(78MB压缩),可以在这里下载。SHA256校验和:57f6faa605426addcdb46cde976941e89e7317cc05165e93cc8cda42d697dca8

你可以在几分钟内启动并运行TinySPLOIT2。启动VM,按照其网页上的说明操作,编写一个漏洞利用并获得shell。然后你需要捕获标志以进入第2和第3轮。祝你好运,享受ROP链的乐趣!

较早的TinySPLOIT虚拟机仍然可以在这里找到。

Blackhat培训价格在7月24日上涨,所以如果你正在考虑注册课程,现在是时候了。几周后拉斯维加斯见!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计