ARM漏洞开发实战:从路由器破解到IoT安全挑战

本文详细介绍了ARM架构下的漏洞开发技术,涵盖ARM汇编基础、栈溢出攻击、Shellcode编写、XN/DEP绕过、ROP链构建及ASLR突破等核心内容,并通过DVAR路由器漏洞实战和ARM-X物联网仿真框架的CTF挑战展示实战应用。

The ARM ExploitLab goes to 44CON London 2016

随着互联网重心向基于ARM的设备(移动设备和物联网)转移,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

ARM-X and a brand new IoT CTF challenge

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

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

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

ARM-X CTF挑战赛 #1 正如预期的那样,Trivision IP摄像头存在一些严重漏洞。目前我们已知有三个漏洞,可能还有更多隐藏在暗处。首个有效利用和撰写分析报告的人将赢得我提供的特殊Ringzer0“0-day礼盒”!

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

DVAR ROP Challenge - Bonus Round Unlocked!

该死的易受攻击ARM路由器(DVAR)ROP挑战——奖励回合解锁!

当我首次发布该死的易受攻击ARM路由器时,我承诺会宣布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 <------- [目标]
  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物联网漏洞实验室培训

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

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

DVAR - Damn Vulnerable ARM Router

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

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

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

只需解压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物联网漏洞实验室的一个可选预备练习。

即将举行的ARM物联网漏洞实验室培训

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

Saumil Shah @therealsaumil

ARM IoT Exploit Lab debuts at Blackhat USA 2017

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

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

随后是“ARM物联网漏洞实验室:高级”课程,重点是如何克服ARM上的漏洞缓解技术,如XN(DEP)和ASLR,提取和分析物联网固件,以及利用物联网二进制文件。我们将构建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物联网漏洞实验室的学生学习。

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

Blackhat 2016 Exploit Lab - Pre-Class Tutorials + Crackme’s

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

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

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

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

  • ROP深入浅出
  • TinySPLOIT2——ROP技术热身练习(78MB下载)

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

如果你还没有注册课程,以下是注册页面:

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

——Saumil Shah @therealsaumil

TinySPLOIT2 - Exploit development exercises for 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。启动虚拟机,按照其网页上的说明操作,编写漏洞利用程序并获得shell。然后你需要捕获标志以进入第2轮和第3轮。祝你好运,ROP链构建愉快!

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

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

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