谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

几天前,我们完成了最激动人心的活动之一,我们很幸运能够作为博客的一部分举办——一场破坏服务器的在线黑客游戏。

结果超出了我们的预期:参与者不仅参与其中,而且很快在 Discord 上组织成了一个由 620 人组成的协调良好的社区,在两天内不眠不休地完成了这个任务。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
事情是这样结束的:

这一切是如何开始的?这一切是关于什么的?

比赛于 12 月 XNUMX 日开始,当时我们在博客上发布了消息 邮寄 在一段视频中,一个头骨形式的黑客提出玩游戏,摧毁服务器,导致房间短路(或者小火灾),并拿走碎纸机中剩余的钱。

这是一个在线任务:我们在一个房间里启动了 YouTube 广播,房间里装满了物联网设备、一台床下服务器(必须销毁),以及一个固定在服务器上方的水族箱,上面挂着一个重物。 为了让游戏更加动感十足,我们决定设立 200 卢布的奖金,并将其装入碎纸机中并设置为每 000 分钟打开一次。 碎纸机每小时吃掉 60 卢布 - 玩家越早停止,他们赢得的钱就越多。

构建这个任务本身就是一个任务 - 我们必须只吃食物,每天在同一个房间里睡几个小时。 但最令人惊奇的是观察球员的思维飞翔以及他们在此过程中的情感影响。

说实话,玩家们解决谜题的聪明才智多次超出了我们谦虚的想法:每一分钟的空闲时间,我们都会阅读不和谐的聊天记录,有时甚至笑得哭了,了解玩家们在做什么以及他们是如何开玩笑的。的过程。

7 个人为这个项目孜孜不倦地工作:一名后台人员、一名硬件专家、一名真正的电影制片人、一名 CG 设计师和两名意识形态联合制片人。

我们将在接下来的文章中从技术角度告诉您该任务是如何实施的,但现在我将告诉您解决方案:在广播中破解这个房间究竟是如何必要的。 同时,让我们记住事件的年表,以及不和谐聊天中所有疯狂的光明会理论,仅此而已。

游戏开始时玩家有什么?

房间里的所有物品分为三类:

  • 易于使用的非游戏物联网设备
  • 用于完成任务的游戏设备
  • 随行人员

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

我们放置了 8 个非常易于管理的元素:两盏灯、一个花环、五个 FALCON 字母,每个元素的颜色都可以改变。 所有这些都可以直接从网站打开/关闭,并立即在广播中看到结果 - 我们特意将它们提供给所有玩家,无论他们的技术水平如何。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
网站上简单包含的所有内容

完成任务所需的重要游戏元素以及访问这些元素并不容易获得:

  1. 盖子打开的服务器,上面有水族箱
  2. 悬挂重物打破水族箱
  3. Megatron 3000 - 强大的激光笔,瞄准支撑重物的绳子
  4. 当服务器负载时启动的强大风扇
  5. 写有威震天登录名和密码的活动挂图
  6. 您可以拨打并实时查看通话的电话
  7. 每小时吃掉1000卢布纸币的碎纸机

任务到底是如何解决的?

我马上说:棺材的打开非常简单。

游戏的目标是通过在房间内造成短路来停止碎纸机。 为此,需要向水族箱中投入重物来打破水族箱,并向服务器注满水。 重物固定在威震天瞄准的一根绳子上。 通过控制威震天,绳子就可以被切断。 只需 5 个简单步骤即可完成:

步骤1.在房间中加载服务器

例如,用命令发送数据包。

ab -r -n 10000 -c 100 -s 280 -l https://ws.ooosokol.ru/captcha

提示非常加载 验证码价目表页面.

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
需要攻击的验证码相同

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

当服务器加载时,其温度会升高,这可以通过直接在摄像机前面打开的监控系统进行监控。 然后风扇打开,活动挂图上的光幕打开了。 然后,写在黑板上的用于访问威震天页面的登录名和密码打开了。

通过检查为 ooosokol.ru 域颁发的所有证书,可以找到威震天管理页面本身。

在子域上 威震天.ooosokol.ru 有一个威震天控制页面。 但直到威震天获得主电源后,它才打开。

在 YouTube 上的直播评论中,选手们几乎立即经历了所有这些阶段。 然后任务变得更加复杂,玩家们创建了 RUVDS Hack Room 不和谐服务器并在那里继续讨论。

第 2 步:向威震天施加主电源

从站点控制的所有智能设备(玩家不间断地打开和关闭的相同灯)都有自己的标识符。

为了给威震天提供主电源并同时照亮它,需要在办公室管理页面找到并打开一个隐藏的设备。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

为此,您必须查看设备标识符,并注意到总共有 4 台设备,但网站上只有 3 台可用。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

当第四个设备打开时,威震天页面变得可用,并且激光本身突出显示。 但同时发射激光是不可能的,而且 有消息说激光还没有可用,并提示:办公室堵车,需要给管理公司打电话索要电源。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
关于管理公司的提示

3. 致电管理公司并要求打开威震天的电源

据耳鼻喉科报道,威震天无法拍摄,因为办公室的交通堵塞被排除了。 只有管​​理公司才能重新打开电源,必须联系管理公司并将其识别为有限责任公司的所有者。

找到管理公司编号很容易 - 我们将其直接插入页脚中。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

但身份识别要困难得多。

当拨打+74991130688时,一位女接线员拿起电话,用无聊的声音询问该公司的INN和老板的全名。 如果没有这个,她拒绝打开电源,并解释说,她是一个普通的外包控制室,他们有2000个客户和办公室,没有这些信息根本不可能找到他们需要的。

这对于选手来说是最困难的阶段。 花了将近两天的时间才找到正确的纳税人识别号和车主全名,期间我(以控制室操作员为代表)接到了 400 多个电话。 电话每 2-3 分钟响一次。

小伙子们尽其所能地挖。 所有的东西都被利用了:他们破坏了网站的源代码,在谷歌上搜索了网站的所有者索科洛夫,并通过社交网络进行了搜索。

他们正在寻找不同公司的纳税识别号
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
几乎完整的搜索方案

在某些时候,他们甚至使用欺骗性的号码拨打电话 - 就好像他们是从页脚中列出的索科尔公司的办公室打电话一样。

然后我们了解到有多少家公司被命名为Sokol。 几乎每一家公司都接到了玩家的电话,但这与网站的经历相比根本不算什么 激光大师.ru,大约一个月前我们实际上从他那里购买了同一个威震天。

首先,不和谐攻击了激光大师的支持。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

然后我们就能在那里找到某人的帐户! 而Lasermasters的支持已经不再在表达上吝啬了。

注意,让儿童远离屏幕
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

最后,Lasermasters 决定只是惹恼他们,他们的网站崩溃了。 正如我们设法放下索科尔网站一样,尽管我们很快就把它举了起来。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

在调查过程中,不和谐的人甚至找到了一位演员,我们从库存中购买了他的照片,以便他扮演主要对手,有限责任公司安德烈·索科洛夫的老板。 原来,他的名字叫尤里,他完全不知道自己陷入了什么样的困境。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
安德烈·索科洛夫,游戏角色

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
尤里,模特

要是他知道他是如何让六百人两天不睡觉就好了……)

然后他们开始专门为我挖掘,作为任务的组织者(如果他们猜到侵入了我的工作频道,那么很可能会成功)。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

当他们说出我的父名甚至我的纳税人识别号时,我什至有点担心。 但当损坏的手机还能工作的时候,我突然多了一个哥哥,他突然变成了哈布尔的技术总监,这让我松了口气。

我亲爱的兄弟,他也曾受苦
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

与此同时,猜测也变得越来越不可思议
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

这就涉及到光明会的理论了。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

最有趣的阴谋论涉及海绵宝宝、哈利·波特和我们放置在系统单元内的中国二极管花环的闪烁。

你说海绵宝宝和哈利波特来自哪里? 我们将他们的地址放在索科尔的联系页面上,这在不和谐社区中引起了很多猜测。 虽然我们只是想向我们最喜欢的童年作品致敬。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
页面上的相同引用“名片"

结果

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
原来,真的有海绵宝宝系列的文档。 它们被称为 TIN

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

最复杂的理论之一是,闪烁的中国花环包含莫尔斯电码的信息。

闪烁被记录并试图被破译
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

一个更简单的理论是,这些人试图找出线索是否隐藏在卡片中。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

一路上我们被比较 蝉3301 ——一个不值得的高评价,但仍然令人愉快。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

玩家们竭尽全力尝试社交工程。 他们以联邦安全局、消防员、索科洛夫本人、他的前妻以及据称坐在楼下的保安的名义给我打电话。 他们说起火了,有人被困在电梯里,最令人心碎的故事是打电话的人的狗据说坐在办公室里,被火吞没了。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
也有试图行贿的行为

慢慢地,我自己的表情包开始出现在聊天中。

这是一对
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

与此同时,工厂却闲置着
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

帮助

碎纸机里的钱越来越少。 为了让获胜者至少得到一些东西,我们决定做出一个提示。 同时,按照游戏设计的规则,在结局前提高紧张感。

分离 禁食 我们在博客上发布了一段视频。 一开始,插入了《搏击俱乐部》中的一段片段作为泰勒·德登的参考,泰勒·德登在电影院工作时正在考虑将第 25 帧插入到电影中。

我们决定应用相同的机制,并在第 25 帧插入一个提示,说明如何 去谷歌 正确的 TIN 和所有者的全名。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
之后,伙计们很快就明白了

步骤 4. 在非战斗模式下发射激光

当管理公司提供电源并打开插头后,威震天打开并可以在测试模式下点火。 用于测试镜头的标记已插入到输入表单中。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
每 25 秒生成一个新令牌,可用于以 10/10 功率打开激光器 255 秒

然后激光冷却 1 分钟,在此分钟内不可用,并且不接受新的拍摄请求。

这种力量完全不足以烧断绳子,但任何玩家都可以从威震天发射并看到激光束的作用。

社会反响非常热烈
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

但大家很快就冷静下来,意识到这并不是比赛的结束。
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

然后社区开始研究如何启动战斗模式

头脑风暴
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
Discord 上有假货

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
我们不知道广播里桌腿上写着什么

社区已经进行到第 4 步。了解代币是如何生成的:找到要点并生成在战斗模式下打开激光的代币

威震天的战斗模式为 100 瓦 3% 激光功率。 这足以烧断支撑重物的绳子、破坏水族箱并使服务器充满水,持续 2 分钟。

我们留下了一些提示 项目github:即token生成代码,从中可以理解测试token和战斗token是基于同一个计数器指标生成的。 在战斗令牌的情况下,除了计数器值之外,还使用盐,除了最后两个字符之外,盐几乎完全留在改变这个要点的历史中。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务
大家很快就猜到了,是42

在要点的评论中,有安德烈·索科洛夫(Andrey Sokolov)和开发人员(“聪明的开发人员”,不和谐的人称他为“聪明的开发人员”)之间的通信。

在信件中,Andrey 发送了其中一个战斗代币,开发者回复称该代币的计数器值为 42。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

知道了这些数据,就可以对盐的最后 2 个符号进行排序,并实际上发现使用了来自 Lost 的数字(转换为十六进制系统)。

然后,玩家必须捕获计数器值(通过分析测试令牌)并使用下一个计数器值和上一步选择的盐生成战斗令牌。

计数器会随着每次测试射击且每 25 秒递增一次。 我们没有在任何地方写过这个,这应该是一个小游戏惊喜。 他们很快就明白了这一点,并在战斗模式下启动了威震天。

步骤 5. 激光烧掉绳子


它是如何

这里一切都很简单。 发送战斗令牌会将激光转变为战斗模式,房间也会发生变化并进入“灾难模式”,正如我们在一般场景中所说的那样:

  • 房间里所有的灯都关掉了
  • 网站上的物联网设备按钮变得不可用
  • 闪烁的灯光和警报声
  • 红色重物被照亮
  • 电视屏幕上开始倒计时,直到激光发射进入战斗模式。

我们给了一个半小时的倒计时,以便每个参加比赛的人都有时间打开广播并观看决赛。 并且有充分的理由:当我屏住呼吸等待隔壁房间传来撞击声和玻璃破碎声时,完成任务的整个团队一言不发地开始前往基地,以他们的方式查看结局自己的眼睛。 他们只是跑进房间并开始拥抱。

与此同时,不和
谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

倒计时结束后,激光开始工作,两分钟内就烧穿了绳子——重物直接飞进了水族箱。 在撞击之前,屏幕上出现一只疯狂的水豚尖叫,惊慌地举起小爪子。

由于全队都聚集在那里,我们给大家打了两天不和谐的决赛,然后去开香槟,拍了一条小信息:

我们如何计算广告视频的投放时机和重量的飞行?

经过十多次用激光燃烧绳子的测试后,我们意识到这是一个非常不可靠的设计 - 半烧毁的绳子变得更细,在其拉伸的重量的作用下,改变了位置,激光无法再切穿它完全。

因此,我们采取了不同的路线:我们通过用镍铬合金线包裹绳子来重复烧毁。 电流通过线,在大约 2 秒内变得红热并烧穿绳子 - 这让我们准确地了解何时打开尖叫的水豚、停止启动计时器并开始广告:

什么对我们不起作用?

最后,浓烟应该从系统单元中冒出来,就像在火灾中一样 - 我们准备了烟雾弹,以同样的方式点燃它们,但由于某种原因它们不起作用(可能是由于水)。

谁是赢家?

胜利者出来了 阿尔卡季·阿列克谢耶夫 来自圣彼得堡 - 他是第一个生成测试代币的人,并赢得了碎纸机中剩余的钱 134 卢布。

对阿尔卡迪的简短采访。

向我们介绍一下您自己,您在工作中做什么?

我是一名经过培训的安全专家,毕业于 ITMO 的 BIT。 我是一名外包全栈 Web 开发人员。 在学校我参加了比赛,包括编程和数学比赛。

您是如何得知这款游戏的?

我去哈布尔只是为了阅读,看到了这篇文章,并产生了兴趣。

您加入时玩了多少小时?

我是在文章发表当天晚上(即结束前一天)加入的。 我度过了一个晚上和第二天的大部分时间。

你喜欢什么,不喜欢什么?

总的来说,我喜欢一切(当然,我赢了)),但我对电话有点紧张。 嗯,就像,打电话并检查每个版本不知何故不是很好,至少很尴尬 - 我知道还有几十个人打电话,其中一半在开玩笑并试图从事社会工程。

你是怎么想出如何找到威震天的战斗令牌的?

当我进来时,他们已经向服务器发送了垃圾邮件,戳了灯泡,找到了激光管理面板的密码,各种子域和页面。

在 Github 上找到简介和带有评论的要点也很容易。 从这里开始,生成令牌及其秘密的过程就很明显了。 在这样的任务中,没有必要发明太多,恕我直言,因为你可能会淹没在一堆事件发展的选项中; 因此,你需要跟随任务创建者的推动。

考虑到剩余的子域和波浪号上的测试站点,很明显,在为激光器供电后,有必要选择一个令牌。 因此,当天晚上,我草拟了一个打开激光器的大致请求(基于 4 种可用的形式:1 种在工作站点上,3 种在测试/旧站点上),并尝试使用从 42 开始的工作令牌进行暴力破解(好吧,对于傻瓜来说 - 突然一切都已启用,并且发送令牌的页面将在 TIN 和全名之后打开)。

我不确定这个请求是否正确,因为没有时间检查(毕竟只能检查激光是否打开),但我提前做好了寻找令牌的准备。

app.js 文件中的 websocket 和设备管理也有明显的逻辑。 有一个a9设备的大胆提示,当发送电源时:true导致套接字崩溃。 我试图将所有内容发送给它 - 你永远不知道,可能会有一个额外的设备来解决 TIN,但没有成功。

然后我搜索了这十个旁边的其余ID文件,但到处都是一个未知的设备。 我也尝试用谷歌搜索各种东西,爬上去 [电子邮件保护],发送了价目表页面上表格中的所有内容,与 Lasermasters 进行了一些挖掘,但都没有成功。 第二天,我坐在聊天室里,谷歌搜索各种各样的东西,然后出现了 stego 主题,我向 stegosolve 的人咨询了图片和 gif(但我心里明白,99% 的时间里什么都没有,因为那太多了+与主线任务相矛盾)。

但最后,我也花了几个小时坐下来翻阅所有的图片和动图。 我用不同的 TIN 选项又拨打了几次电话,但没有成功。 然后我决定放弃它,但他们在那里发布了一个提示 - 很明显,纳税人识别号 (TIN) 将在不久的将来找到,这就是发生的事情。 然后我或其他人(这并不明显)向 a9 设备发送电源:正确,并且激光器开始工作,尽管可能没有连接,并且它在 TIN 之后才开始工作。 总的来说,我进入了激光机的管理面板,感到非常惊讶,因为服务器本身发送了令牌(而且我已经准备好进行暴力破解了)。 很明显,该令牌是一个测试令牌,因为广播+常识+我检查了它。

该代码包含在某处发送工作令牌作为通知的逻辑,但显然它要么是错误的代码,要么是系统其他部分需要的。 我起草了一个脚本,从当前测试中获取当前工作令牌,并开始坐在 f5 上,尝试发送它们 - 这存在问题,因为每个人都在不断地点击发送按钮,从而在可能的情况下更改令牌。 然后网站崩溃了,计数器被重置,但这不是重点——过了一会儿我发送了一个工作令牌。 理论上计数器是 58 并且 токен был 449a776938f7ce4cf19f8603045dca0f 如果我没记错的话,在激活时。 就这样。

然后,我对诸如“是的,这都是微不足道的,但我只是幸运”之类的评论感到有点倦怠。 好吧,如果你进入该页面,思考一分钟,在几分钟内编写一个脚本,然后检查它 - 那么是的,这很简单。 但我只用了 10-20 秒就完成了,然后有几分钟我无法发送令牌。

当然,您可以尝试编写逻辑来自动拾取并发送它,但这会花费更长的时间并且风险很大,而且云可能会开始发誓。 我真正幸运的是最后一个阶段——一些速度+反应速度的算法,这只是我的。 如果有直接来自渗透测试的任务,我很可能不会成为第一个。

但这不是结束

我迫不及待地想告诉您有关建造这个逃生室的出色团队以及他们提出的所有工程解决方案的信息。 但这篇文章已经太大了 - 因此将会有关于此的单独文章,所以请继续关注并订阅我们关于 Habré 的博客。

谁停止了粉碎机或者如何需要通过破坏服务器来完成任务

来源: habr.com

添加评论