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

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

弥合Windows安全研究差距

安全研究社区中充斥着许多经验丰富的"灰胡子"专家,他们通过攻击邮件服务器、域控制器和TCP/IP协议栈来积累经验。这些研究人员最初在Solaris、IRIX和BSDi等平台上编写漏洞利用程序,后来转向Windows漏洞利用。如今,他们运营公司、制定政策、在Twitter上发表观点,并在国会作证。

而我并非其中之一;我的安全教育始于Windows Vista之后,并通过Capture the Flag(CTF)竞赛扩展了知识,因为现实世界的研究变得更加困难。2010年后进入行业的安全研究人员几乎完全通过CTF竞赛学习。

CTF竞赛中的Windows挑战缺失

在经历了一次特别令人沮丧的CTF后,我们讨论了挑战的设置,发现尽管Windows是我们行业的重要组成部分,但CTF中却很少有Windows挑战。只有俄罗斯的CTF发布Windows挑战;美国的大型CTF都没有这样做。

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

Windows差距的实际影响

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

让我们弥合这一Windows差距。Windows知识对我们的行业至关重要。

帮助CTF社区

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

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

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

我们希望帮助CTF社区在Windows专业知识方面取得进步。

Windows挑战的反应

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

  • “这个Windows挑战怎么只有200分,天啊”
  • “让漏洞明显并不使Windows漏洞利用变得更容易 ;_;”
  • “哥们,但这他妈是Windows”
  • “我甚至不再使用Windows了”
  • “天啊,Windows太难了”
  • “我没有Windows虚拟机”

也有一些赞扬:

  • “我喜欢你的Windows挑战 :)”
  • “请提供更多Windows漏洞利用/远程代码执行”
  • “这个挑战让我开始研究Windows漏洞利用”
  • “我不知道如何编写Windows shellcode”
  • “谢谢帮助,这是我第一次用shellcode利用Windows :)”

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

  • “伙计们,闭嘴,Windows很难”
  • “Windows很容易”
  • “Linux很难”

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

脚注

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