誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

幾天前,我們完成了最令人興奮的活動之一,我們很幸運能夠作為部落格的一部分舉辦——一場破壞伺服器的線上駭客遊戲。

結果超出了我們的預期:參與者不僅參與其中,而且很快在 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 決定只是惹惱他們,他們的網站崩潰了。 正如我們設法放下索科爾網站一樣,儘管我們很快就把它舉了起來。

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

在調查過程中,不和諧的人甚至找到了一位演員,我們從庫存中購買了他的照片,以便他扮演主要對手,有限責任公司安德烈·索科洛夫的老闆。 原來,他的名字叫尤里,他完全不知道自己陷入了什麼樣的困境。

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務
安德烈索科洛夫,遊戲角色

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務
尤里,模特兒

如果他知道他是如何讓 600 人兩天不睡覺就好了…)

然後他們開始專門為我挖掘,作為任務的組織者(如果他們猜到侵入了我的工作頻道,那麼很可能會成功)。

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

當他們說出我的父名甚至我的納稅人識別號碼時,我甚至有點擔心。 但當損壞的手機還能運作的時候,我突然多了一個哥哥,他突然變成了哈布爾的技術總監,這讓我鬆了一口氣。

我親愛的兄弟,他也曾受苦
誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

同時,猜測也變得越來越不可思議
誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

這就牽涉到光明會的理論了。

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

最有趣的陰謀論涉及海綿寶寶、哈利波特和我們放置在系統單元內的中國二極體花環的閃爍。

你說海綿寶寶和哈利波特來自哪裡? 我們將他們的地址放在索科爾的聯絡頁面上,這在不和諧社區中引起了很多猜測。 雖然我們只是想向我們最喜歡的童年作品致敬。

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務
頁面上的相同引用“往來"

結果

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務
原來,真的有海綿寶寶系列的文檔。 它們被稱為 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é 的部落格。

誰停止了粉碎機或如何需要透過破壞伺服器來完成任務

來源: www.habr.com

添加評論