弥合Windows安全研究鸿沟:从CTF竞赛到实战漏洞利用

本文探讨了Windows安全研究在CTF竞赛和实际行业中的重要性,分析了俄罗斯和中国研究人员的优势,并介绍了AppJailLauncher框架如何帮助创建安全的Windows漏洞利用挑战。

弥合Windows安全研究鸿沟

安全研究社区充斥着经验丰富的老手,他们通过攻击邮件服务器、域控制器和TCP/IP堆栈来积累经验。这些研究人员最初在Solaris、IRIX和BSDi等平台上编写漏洞利用程序,后来转向Windows漏洞利用。如今他们经营公司、制定政策、在Twitter上发表言论,并在国会作证。我并非其中一员;我的安全教育始于Windows Vista之后,并通过夺旗竞赛(CTF)扩展,因为现实世界的研究变得更加困难。2010年后进入行业的安全研究人员几乎完全通过CTF竞赛学习。

偶尔,我会尝试说服一位老手参加CTF。这就像向成年人解释口袋妖怪。通常这种努力是徒劳的;但偶尔他们也会兴奋地同意尝试!然后他们会遇到和我一样的难题而沮丧——这对我的自尊心来说真是太棒了。

“唉,这是90年代的shellcoding问题应用到今天。”——在DEFCON 22 CTF资格赛中嘀咕道

在一次特别令人沮丧的CTF之后,我们讨论了挑战,以及尽管Windows是我们行业的重要组成部分,但Windows挑战却非常少。只有俄罗斯的CTF发布Windows挑战;美国的大型CTF都没有。

就像冷战时期的政治一样,俄罗斯(CTF)在Windows方面取得了优势,形成了Windows鸿沟。

Windows鸿沟的预计规模

Windows鸿沟在CTF之外也存在。过去几年,最好的Windows安全研究来自俄罗斯和中国。那么,为什么俄罗斯人和中国人在Windows方面如此出色?嗯,因为他们实际上使用Windows……而西方的安全研究人员出于某种原因却不使用。

让我们弥合这个Windows鸿沟。Windows知识对我们的行业很重要。

帮助CTF社区

如果夺旗竞赛是当今新手磨练技能的方式,我们应该有更多基于Windows的挑战和竞赛。为了促进这一点,Trail of Bits发布了AppJailLauncher,一个用于创建可利用Windows挑战的框架!

这个人了解Windows,并认为你也应该了解。

作为比赛组织者,保护基础设施是首要任务,而保护Windows服务一直有点棘手,直到Windows 8和AppContainers的引入。AppJailLauncher使用AppContainers来保护一切免受破坏者的侵害。该存储库包含将Windows TCP服务与操作系统其余部分隔离所需的一切。

此外,我们发布了greenhornd的源代码,这是我在2014年CSAW写的一个挑战,旨在向人们介绍Windows漏洞利用和迄今为止开发的最佳调试器:WinDbg。该存储库包括发布的二进制文件、部署说明和漏洞证明脚本。

我们希望帮助CTF社区艰难地掌握Windows专业知识。

Windows反应

去年在CSAW发布Windows挑战非常有趣。有很多抱怨:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<dwn> 这个Windows挑战怎么只有200分 天啊
<dwn> 让漏洞明显并不使Windows漏洞利用更容易 ;_;
<mserrano> RyanWithZombies: 老兄但这他妈是Windows
<mserrano> 连我都不再用Windows了
<@RyanWithZombies> 我警告你们好几个月了
<mserrano> 而且Windows太难了
<geohot> 天啊Windows
<geohot> 太难了
<geohot> 明天再做
<geohot> 我没有Windows虚拟机
<ebeip90> 天啊一个Windows挑战
<ebeip90> <3
[几小时后]
<ebeip90> 还记得很久以前我说“哦耶,一个Windows挑战”的时候吗?
<ricky> Windows很难
<miton> ^

一些赞扬:

1
2
3
4
5
6
<cai_> 顺便说一句,我喜欢你的Windows挑战 :)
<MMavipc> RyanWithZombies 请更多Windows攻破/远程代码执行
<CTFBroforce> 我太困惑了,我从未做过Windows漏洞利用
<CTFBroforce> 这个挑战会让我研究Windows漏洞利用
<CTFBroforce> 我不知道如何编写Windows shell代码
<spq> 谢谢帮助和第一次用shellcode利用Windows的推动 :)

它甚至引起了一些参赛者之间的争论:

1
2
3
<clockish> 伙计们,闭嘴,Windows很难
<MMavipc> Windows很容易
<MMavipc> Linux很难

我们希望AppJailLauncher能在未来几年引发更多热情的反应!

脚注

  1. 许多最受欢迎的CTF始于2010年和2011年:Ghost in the Shellcode (2010)、RuCTFe (2010)、PlaidCTF (2011)、Codegate (2011)、PHDays (2011)。很少有早于2010年的。
  2. 就像在LiveCTF直播中看geohot在格式字符串利用上失败一样:https://www.youtube.com/watch?v=td1KEUhlSuk
  3. 尝试搜索晦涩的Windows内核符号,你会最终进入一个俄罗斯论坛。
  4. 名字没有更改以羞辱那些纵容者。
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计