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

本文深入探讨ARM架构下的漏洞利用技术,涵盖ARM汇编、栈溢出、ROP链构建、ASLR绕过及IoT设备固件分析,提供实战训练和CTF挑战,适合二进制安全研究人员和渗透测试工程师。

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

2016年:ARM漏洞利用实验室的启动

2016年,漏洞利用实验室(The Exploit Lab)进入第11年。今年,我们在CanSecWest、SyScan和HITB2016AMS上首次推出了ARM漏洞利用实验室培训。反响非常热烈,HITB2016AMS和即将在RECON 2016蒙特利尔举办的课程均已售罄。

2016年7月/8月 - BLACKHAT USA

今年,我们仍在Blackhat USA 2016上教授高级x86/x64漏洞利用实验室课程,包括黑带(BLACK BELT)和大师(MASTER)课程。早鸟价已结束,课程报名稳步进行中。

  • 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的培训页面注册。

2019年:ARM-X框架与IoT CTF挑战

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

ARM-X预览虚拟机

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

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

ARM-X CTF挑战 #1

正如预期的那样,Trivision IP摄像头存在一些严重漏洞。目前已知有三个漏洞,可能还有更多潜伏在暗处。第一个成功利用并提交详细报告的人将赢得我提供的特殊Ringzer0“0-day盒子”!

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

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

我首次发布该死的易受攻击ARM路由器(DVAR)时,曾承诺会宣布DVAR奖励挑战。我在等待第一个栈溢出练习成功完成后才宣布奖励挑战。

@JatanKRaval提供了第一个可行的解决方案,因此奖励回合现已解锁!

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

你的任务是:

  1. 找到lightsrv的缓冲区溢出向量
  2. 使程序崩溃并获取pc=0x41414140
  3. 逐步构建适当的ROP链(XN已启用!)
  4. 获得可用的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 <------- [TARGET]
  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漏洞利用实验室培训

祝你在DVAR-ROP中玩得开心!

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

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

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

只需解压ZIP文件并通过tinysploitARM.vmx启动虚拟机。启动后,虚拟机的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漏洞利用实验室培训

Saumil Shah @therealsaumil

2017年: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年连续参加!

2016年:ARM漏洞利用实验室前往44CON伦敦2016

随着互联网的重心转向基于ARM的设备(移动和IoT),ARM漏洞开发正成为进攻性信息安全从业者日益重要的技能。

我们在CanSecWest 2016上首次推出了ARM漏洞利用实验室,随后在SyScan和HITB2016AMS上推出。和以前一样,我们也将所有精彩的培训带到44CON!今年,我们将在44CON伦敦2016上提供为期3天的特殊ARM漏洞开发培训。

我们将从基础开始涵盖核心ARM漏洞开发概念,包括:

  • ARM汇编语言
  • ARM上的函数工作原理
  • ARM上的栈溢出
  • ARM Shellcode
  • 在ARM上击败XN
  • ARM返回导向编程(ROP)
  • 在ARM上击败ASLR
  • 案例研究 - 从固件到所有权 - 利用ARM路由器

44CON还有不到一个月的时间,所以有兴趣报名参加课程的人,请前往44CON的培训注册页面。

下个月伦敦见! – Saumil

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

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

黑带课程的教程+挑战虚拟机

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

实验室大师课程的教程+挑战虚拟机

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

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

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

  • 7月30日、31日 - 漏洞利用实验室黑带课程:浏览器漏洞利用、释放后使用、DEP、ASLR、ROP
  • 8月1日、2日 - 漏洞利用实验室大师课程:高级ROP、信息泄露、64位漏洞利用

– Saumil Shah @therealsaumil

2015年:TinySPLOIT2 - ROP漏洞开发练习

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

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

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

你可以在几分钟内启动并运行TinySPLOIT2。启动虚拟机,按照其网页上的说明操作,编写漏洞利用程序并获得shell。然后你需要捕获标志以进入第2和第3轮。祝你好运,ROP链编写愉快!

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

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

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