ARM-X与全新物联网CTF挑战赛:漏洞挖掘与仿真框架实战

本文介绍ARM-X固件仿真框架的发布及其在物联网设备渗透测试中的应用,包含DVAR路由器和Trivision摄像头的漏洞挑战,详细讲解利用GDB调试和动态分析工具进行漏洞挖掘的技术方法。

ARM-X与全新物联网CTF挑战赛

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

ARM-X预览虚拟机

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

  • DVAR - Damn Vulnerable ARM路由器,最初以TinysploitARM发布
  • Trivision 227WF IP摄像头

ARM-X CTF挑战赛 #1

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

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


DVAR ROP挑战赛 - 附加回合解锁!

我承诺在首次发布Damn Vulnerable 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


DVAR - Damn Vulnerable ARM路由器

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


ARM物联网漏洞实验室培训预告

玩得开心,挑战DVAR-ROP!

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