「渗透分析」通过 3 个简单步骤完全拥有一家航空公司插图

注意:这是我的朋友们在 dailydot 报道的故事的技术性*和喜剧性文章*

我说的有点少,因为一开始这里并没有很多复杂的技术问题

第一步:无聊

就像我的许多其他 hacks 一样,这个故事开始于我无聊和浏览shodan(或者好吧,技术上是 zoomeye,中国 shodan),寻找可能包含一些有趣商品的暴露的jenkins服务器。在这一点上,当我突然开始看到一些熟悉的词时,我可能已经点击了大约 20 个无聊的公开服务器,几乎没有任何兴趣。“ ACARS ”,多次提到“船员”等。很多我以前听过的词,很可能是在疯狂观看Mentour Pilot YouTube 视频时听到的。大奖。属于CommuteAir的暴露的 jenkins 服务器。

第 2 步:我们真正有多少访问权限?

好的,但我们不要太兴奋太快。仅仅因为我们找到了一个时髦的 jenkins 服务器并不意味着我们可以访问比构建日志更多的东西。很快就会发现,虽然我们没有匿名管理员访问权限(是的,这种情况很常见 [上帝,我爱 jenkins]),但我们确实可以访问构建工作区。这意味着我们可以看到为大约 70 个构建作业中的每一个构建的存储库。

第 3 步:让我们深入挖掘

这里的大多数项目似乎都是相当小的 spring boot 项目。标准化的项目布局和配置文件资源目录的广泛使用将在这整个过程中非常有用。

我决定更详细地研究的第一个项目是关于“ACARS incoming”的,因为我以前听过 acars 这个词,听起来很辣。快速查看资源目录会发现一个名为application-prod.properties(对于-dev和也是如此-uat)的文件。现在不可能那么容易,不是吗?

嗯,确实如此!找到上述文件两分钟后,我正在盯着连接到navtech sftp 服务器的filezilla ,其中充满了传入和传出的 ACARS 消息。这种航空狗屎真的很严重。

这是一个离开 ACARS 消息的示例:

从这里开始,我开始尝试寻找对美国航空可能相当广泛的违规行为感兴趣的记者。不幸的是,人们认为我是一天前 TSA 问题和停飞的幕后黑手,但不幸的是我并不那么酷。所以当我在等待有人回应我对记者的呼吁时,我一直在挖掘,哦,我发现了一些东西。

当我在越来越多的项目中查看越来越多的配置文件时,我突然意识到我在短短半小时左右的时间内就已经拥有了它们。那里的硬编码凭据将允许我访问 navblue api 以进行加油、取消和更新航班、调换机组人员等等(假设我愿意在我的生活中与 SOAP api 交互,但我肯定不会)。

然而,我一直在回顾名为noflycomparison和的两个项目noflycomparisonv2,这两个项目似乎采用了 TSA 禁飞名单,并检查是否有任何 commuteair 的机组人员在那里结束。有硬编码的凭据和 s3 存储桶名称,但我无法在任何地方找到实际列表本身。可能部分是因为它似乎总是在处理后立即被删除,最有可能是因为像我这样爱管闲事的小猫。

快进几个小时,我现在正在与dailydot 的特约撰稿人Mikael Thalen交谈。我向他简要介绍了到目前为止我发现的内容,以及与此同时,就在我们开始谈话前半小时,我最终找到了 AWS 凭证。我现在似乎可以通过aws-cli. 大量的 s3 桶,几十个 dynamodb 表,以及各种服务器等等。通勤真的很喜欢aws。

我还与他分享了我们似乎离实际找到 TSA 禁飞名单有多近,这显然会立即使这成为一个比“仅”是一家超级平凡拥有的航空公司更大的故事。此时我什至偷看了 nofly s3 桶,它似乎是空的。所以我们最后看了一下 noflycomparison 存储库,看看里面是否有任何东西,并且第一次真正地看了一下存储库中的测试数据。就在那里。三个 csv 文件,employee_information.csv,NOFLY.CSVSELECTEE.CSV. 全部于 2022 年 7 月提交到存储库。nofly csv 的大小接近 80mb,包含超过 156 万行数据。这必须是真正的交易(我们后来确认它确实是 2019 年 nofly 列表的副本)。

天哪,我们实际上有 nofly 列表。圣他妈的短发。什么?!:3

随着我的新闻界朋友发现并调查了累积奖金,我决定进一步深入研究 aws。从各种 s3 存储桶中获取示例文档,检查飞行计划并转储一些 dynamodb 表。在这一点上,我已经为他们的每个船员找到了几乎所有可以想象的 PII。全名、地址、电话号码、护照号码、飞行员执照号码、下一次检查到期的时间等等。我有每个航班的行程表,有可能访问每个飞行计划,还有一大堆用于报销航班预订的图像附件,其中又包含更多 PII、飞机维护数据,应有尽有。

我在不到一天的时间里就完全拥有了它们,除了耐心筛选数百个 shodan/zoomeye 结果外,几乎不需要任何技能。

那么 nofly 数据接下来会发生什么

虽然这一信息的性质是敏感的,但我认为将这份名单提供给记者和人权组织符合公众利益。如果您是记者、研究员或其他具有合法利益的人士,请联系 nofly@crimew.gay。我只会将这些数据提供给我认为会用它做正确事情的各方。

注意:如果你在那里给我发邮件,而我没有在规定的时间范围内回复,那很可能我的回复最终进入了你的垃圾邮件文件夹或丢失了。使用不是由 google 或 msft 托管的电子邮件是地狱。