Veeam 技術支援團隊的網路探索

今年冬天,或者更確切地說,在天主教聖誕節和新年之間的一天,Veeam 技術支援工程師忙於執行不尋常的任務:他們正在尋找一群名為「Veeamonymous」的駭客。

Veeam 技術支援團隊的網路探索

他講述了這些人如何在工作中提出並在現實中執行真正的任務,以及「接近戰鬥」的任務 基里爾·斯特茨科, 升級工程師.

- 為什麼要開始這個?

- 就像人們一度想出 Linux 的方式一樣 - 只是為了好玩,為了自己的樂趣。

我們想要運動,同時我們想做一些有用的、有趣的事。 另外,有必要讓工程師們從日常工作中得到一些情緒上的緩解。

- 誰建議這個的? 這是誰的主意?

— 這個想法是我們的經理 Katya Egorova 提出的,然後這個概念和所有進一步的想法都是透過共同努力誕生的。 最初我們考慮舉辦一場黑客馬拉松。 但在概念的發展過程中,這個想法變成了一種探索;畢竟,技術支援工程師是與程式設計不同類型的活動。

因此,我們打電話給朋友、同志、熟人,不同的人幫助我們提出了這個概念——T2 的一個人(第二條支持線是 編者註),一個T3的人,幾個來自SWAT小組的人(針對特別緊急情況的快速反應小組 - 編者註)。 我們大家聚在一起,坐下來,嘗試為我們的探索提出任務。

——得知這一切是非常意外的,因為據我所知,任務機制通常是由專業編劇制定的,也就是說,你不僅處理了這麼複雜的事情,而且還與你的工作相關,到您的專業活動領域。

— 是的,我們想讓它不僅僅是娛樂,而是「提升」工程師的技術技能。 我們部門的任務之一就是知識交流和培訓,但這樣的探索是一個絕佳的機會,可以讓人們在現場「接觸」一些新技術。

— 你是怎麼想出任務的?

— 我們進行了一次腦力激盪會議。 我們知道我們必須做一些技術測試,這樣它們會很有趣,同時會帶來新知識。
例如,我們認為人們應該嘗試嗅探流量、使用十六進位編輯器、為 Linux 做一些事情、一些與我們的產品(Veeam Backup & Replication 等)相關的稍微深入的事情。

這個概念也是一個重要的組成部分。 我們決定以駭客、匿名訪問和保密氛圍為主題。 Guy Fawkes 面具被做成了一個符號,名字自然而然就來了——Veeamonymous。

“一開始就有這個詞”

為了激發人們的興趣,我們決定在活動前組織一場以任務為主題的公關活動:我們在辦公室周圍張貼了帶有公告的海報。 幾天后,他們偷偷地用噴霧罐給他們塗了油漆,並開始“鴨子”,他們說一些攻擊者毀了海報,他們還附上了一張有證據的照片…。

——所以是你自己做的,也就是主辦團隊做的?!

— 是的,星期五,大約9 點鐘,當所有人都已經離開時,我們去從氣球上畫了一個綠色的字母“V”。)許多參與探索的人從來沒有猜到是誰幹的——人們向我們走來並問誰毀了海報? 有人非常重視這個問題,並對這個主題進行了全面的調查。

為了這個任務,我們還編寫了音訊文件,「撕掉」聲音:例如,當工程師登入我們的[生產 CRM] 系統時,有一個應答機器人會說出各種短語、數字…我們在這裡從他在錄製的那些詞中,組成了或多或少有意義的短語,嗯,也許有點歪——例如,我們在音頻文件中得到“沒有朋友可以幫助你”。

例如,我們用二進位代碼表示IP位址,並且再次使用這些數字[由機器人發音],我們添加了各種可怕的聲音。 我們自己拍攝了這段影片:影片中,有一個戴著黑色兜帽、戴著蓋伊福克斯面具的男人,但實際上不是一個人,而是三個人,因為他身後站著兩個人,手裡面拿著一個由一條毯子:)。

- 好吧,坦白說,你很困惑。

- 是的,我們著火了。 總的來說,我們首先提出了我們的技術規範,然後就據稱發生的事情的主題撰寫了一個文學和有趣的大綱。 根據場景,參與者正在追捕一群名為「Veeamonymous」的駭客。 這個想法還在於,我們可以說,“打破第四面牆”,也就是說,我們將事件轉化為現實——例如,我們用噴霧罐作畫。

我們部門的一位以英語為母語的人幫助我們對文本進行文學處理。

- 等等,為什麼是母語人士? 你也是用英語做的嗎?

— 是的,我們是為聖彼得堡和布加勒斯特辦事處做的,所以一切都是英語。

對於第一次體驗,我們試圖讓一切正常運行,因此腳本是線性的並且非常簡單。 我們增加了更多環境:秘密文字、程式碼、圖片。

Veeam 技術支援團隊的網路探索

我們也使用了迷因:有一堆關於調查、不明飛行物、一些流行的恐怖故事等主題的圖片——一些團隊因此而分心,試圖在那裡找到一些隱藏的信息,應用他們的隱寫術和其他知識……但是,當然,事實並非如此。

關於荊棘

然而,在準備過程中,我們也遇到了意想不到的挑戰。

我們與他們進行了很多鬥爭,並解決了各種意想不到的問題,在任務開始前大約一周,我們認為一切都失去了。

也許值得介紹一下該任務的技術基礎。

一切都是在我們內部 ESXi 實驗室完成的。 我們有6個團隊,這意味著我們必須分配6個資源池。 因此,我們為每個團隊部署了一個單獨的池,其中包含必要的虛擬機器(相同的 IP)。 但由於所有這些都位於同一網路上的伺服器上,因此 VLAN 的目前配置不允許我們隔離不同池中的電腦。 例如,在測試運行期間,我們遇到了這樣的情況:一個池中的一台電腦連接到另一個池中的一台電腦。

— 你是如何糾正這種情況的?

— 起初我們思考了很長一段時間,測試了各種權限選項、機器的獨立 vLAN。 因此,他們這樣做了 - 每個團隊只能看到 Veeam Backup 伺服器,所有進一步的工作都透過該伺服器進行,但看不到隱藏的子池,其中包含:

  • 幾台 Windows 機器
  • Windows核心伺服器
  • Linux機器
  • 配對VTL(虛擬磁帶庫)

所有池都在 vDS 交換器上分配了一組單獨的連接埠及其自己的專用 VLAN。 這種雙重隔離正是徹底消除網路互動的可能性所需要的。

關於勇敢者

——有人可以參加這個任務嗎? 團隊是如何組成的?

——這是我們第一次舉辦這樣的活動,我們實驗室的能力只限於6個團隊。

首先,正如我已經說過的,我們開展了一場公關活動:利用海報和郵件,我們宣布將進行一項任務。 我們甚至找到了一些線索——海報上的短語以二進位代碼加密。 透過這種方式,我們引起了人們的興趣,人們之間、與朋友之間、與朋友之間已經達成協議並合作。 結果,回應的人比我們的池子還要多,所以我們必須進行選擇:我們提出一個簡單的測試任務並將其發送給每個回應的人。 這是一個必須盡快解決的邏輯問題。

一個團隊最多允許 5 人。 不需要隊長,我們的想法是合作、互相溝通。 有人擅長Linux,有人擅長磁帶(備份到磁帶),每個人看到任務後,都可以將精力投入整體解決方案。 大家互相交流,找到了解決方法。

Veeam 技術支援團隊的網路探索

——這個活動是從什麼時候開始的? 你有過某種「X 小時」嗎?

——是的,我們有一個嚴格指定的日子,我們選擇它是為了減少部門的工作量。 當然,提前通知了隊長,邀請某某隊伍參加任務,當天需要給他們一些緩解。 看起來應該是年底了,28 月 5 日,星期五。 我們預計需要大約 XNUMX 個小時,但所有團隊都完成得更快。

— 根據真實案例,每個人是否都是平等的,每個人都有相同的任務嗎?

— 嗯,是的,每個編譯者都從個人經歷中汲取了一些故事。 我們知道這在現實中可能會發生,人們「感覺」它、觀察它並弄清楚它會很有趣。 他們還採取了一些更具體的措施 - 例如,從損壞的磁帶中恢復資料。 有些有提示,但大多數團隊都是自己做的。

或者有必要使用快速腳本的魔力 - 例如,我們有一個故事,一些「邏輯炸彈」將多卷存檔「撕」到樹上的隨機資料夾中,因此有必要收集資料。 您可以手動執行此操作 - 逐一尋找並複製[檔案],也可以使用遮罩編寫腳本。

總的來說,我們試著堅持這樣的觀點:一個問題可以用不同的方式解決。 例如,如果你更有經驗一點或想要感到困惑,那麼你可以更快地解決它,但是有一種直接的方法可以正面解決它 - 但同時你會花更多的時間在問題上。 也就是說,幾乎每個任務都有多種解決方案,團隊會選擇哪​​些路徑很有趣。 因此,非線性恰恰在於解決方案的選擇。

順便說一句,Linux 問題被證明是最困難的 - 只有一個團隊獨立解決了它,沒有任何提示。

— 你能接受提示嗎? 就像在真正的任務中一樣?

— 是的,是可以接受的,因為我們明白人都是不同的,缺乏一些知識的人也可以進入同一個團隊,所以為了不耽誤通過,不失去競爭興趣,我們決定會提示。 為此,組織者派一名人員對每個團隊進行觀察。 好吧,我們確保沒有人作弊。

Veeam 技術支援團隊的網路探索

關於星星

— 得獎者有獎品嗎?

— 是的,我們試圖為所有參與者和獲獎者提供最令人愉快的獎品:獲獎者收到帶有 Veeam 徽標和以十六進制代碼加密的短語(黑色)的設計師運動衫。 所有參與者都收到了蓋伊福克斯面具和帶有徽標和相同代碼的品牌包。

——也就是說,一切都像在真正的任務中一樣!

“嗯,我們想做一件很酷的、成熟的事情,我想我們成功了。”

- 這是真的! 參與這個任務的人最後的反應是什麼? 你實現你的目標了嗎?

- 是的,很多人後來都說他們清楚地看到了自己的弱點,想要改進。 有人不再害怕某些技術 - 例如,從磁帶中轉儲塊並試圖從那裡抓取一些東西......有人意識到他需要改進 Linux,等等。 我們試著給出相當廣泛的任務,但又不是完全瑣碎的任務。

Veeam 技術支援團隊的網路探索
獲勝隊

“誰想要,就一定能實現!”

——準備任務的人需要付出很大的努力嗎?

- 事實上是的。 但這很可能是因為我們沒有準備此類任務、此類基礎設施的經驗。 (讓我們保留一點,這不是我們真正的基礎設施 - 它只是應該執行一些遊戲功能。)

這對我們來說是一次非常有趣的經驗。 起初我很懷疑,因為這個想法對我來說太酷了,我認為它很難實現。 但我們開始做,我們開始耕耘,一切都開始著火,最後我們成功了。 甚至幾乎沒有重疊。

我們總共花了3個月。 大多數情況下,我們提出了一個概念並討論了我們可以實現的內容。 在這個過程中,自然地,有些事情發生了變化,因為我們意識到我們沒有技術能力來做某事。 我們一路上不得不重做一些東西,但以這樣的方式,整個輪廓、歷史和邏輯沒有被打破。 我們不僅嘗試列出技術任務清單,還嘗試使其融入故事,使其連貫且合乎邏輯。 主要工作在上個月進行,即 X 天之前的 3-4 週。

——那麼,除了主要活動之外,您還安排了準備時間嗎?

— 是的,我們與我們的主要工作同時進行了這項工作。

- 你被要求再做一次嗎?

- 是的,我們有很多要求重複。

- 你呢?

- 我們有新的想法、新的概念,我們希望吸引更多的人並隨著時間的推移而延長它 - 無論是選擇過程還是遊戲過程本身。 總的來說,我們受到“Cicada”項目的啟發,你可以穀歌它- 這是一個非常酷的IT 主題,來自世界各地的人們團結在那裡,他們在Reddit 上、在論壇上發起話題,他們使用代碼翻譯、解開謎語,等等。

——這個想法很棒,只是尊重這個想法和實施,因為它真的很有價值。 我衷心祝福您不要失去這種靈感,並且您所有的新專案也都取得成功。 謝謝你!

Veeam 技術支援團隊的網路探索

— 是的,你能看一個你絕對不會重複使用的任務的例子嗎?

“我懷疑我們不會重複使用其中任何一個。” 因此,我可以告訴你整個任務的進展。

獎勵曲目一開始,玩家擁有虛擬機器的名稱和來自 vCenter 的憑證。 登入後,他們看到這台機器,但它沒有啟動。 這裡需要猜測.vmx檔案有問題。 下載後,他們會看到第二步所需的提示。 本質上,它表示 Veeam Backup & Replication 所使用的資料庫是加密的。
刪除提示後,下載回 .vmx 檔案並成功打開計算機,他們看到其中一個磁碟實際上包含一個 Base64 加密的資料庫。 因此,任務是解密它並獲得功能齊全的 Veeam 伺服器。

關於發生這一切的虛擬機器的一些資訊。 我們記得,根據劇情,任務的主角是一個相當黑暗的人,並且正在做一些顯然不太合法的事情。 因此,他的工作電腦應該具有完全像駭客一樣的外觀,這是我們必須創建的,儘管它是 Windows。 我們做的第一件事就是增加了許多道具,像是重大駭客攻擊、DDoS 攻擊等資訊。 然後他們安裝了所有典型的軟體,並將各種轉儲、帶有哈希值的檔案等放置在各處。 一切都像電影裡一樣。 除此之外,還有名為 Close-case*** 和 Open-case*** 的資料夾
為了進一步前進,玩家需要從備份檔案中恢復提示。

這裡必須要說的是,一開始玩家會獲得相當多的信息,他們在任務過程中收到了大部分資料(如IP、登入名稱和密碼),在備份或散佈在機器上的檔案中尋找線索。 最初,備份檔案位於 Linux 儲存庫上,但伺服器上的資料夾本身使用標誌掛載 NOEXEC,因此負責文件恢復的代理無法啟動。

透過修復儲存庫,參與者可以存取所有內容並最終可以恢復任何資訊。 仍有待了解它是哪一個。 為此,他們只需要研究儲存在這台機器上的文件,確定其中哪些文件「損壞」以及到底需要恢復哪些文件。

此時,場景從一般 IT 知識轉移到 Veeam 特定功能。

在這個特定的範例中(當您知道檔案名,但不知道在哪裡尋找它時),您需要使用企業管理器中的搜尋功能,等等。 結果,在恢復整個邏輯鏈後,玩家有另一個登入/密碼和nmap輸出。 這會將他們透過 RDP 帶到 Windows Core 伺服器(這樣生活看起來就不那麼甜蜜了)。

這個伺服器的主要特點:在一個簡單的腳本和幾個字典的幫助下,形成了一個絕對無意義的資料夾和檔案結構。 當您登入時,您會收到一條歡迎訊息,例如“這裡爆炸了一顆邏輯炸彈,因此您必須拼湊線索以採取進一步的措施。”

以下線索被分成多卷存檔(40-50 份)並隨機分佈在這些資料夾中。 我們的想法是,玩家應該在編寫簡單的 PowerShell 腳本方面展現自己的才能,以便使用眾所周知的遮罩將多卷存檔放在一起並獲取所需的資料。 (但結果就像那個笑話一樣——一些科目的身體發育異常。)

檔案中包含一張盒式磁帶的照片(刻有“最後的晚餐 - 最美好的時刻”),這暗示了所連接的磁帶庫的使用,其中包含一盤具有相似名稱的盒式磁帶。 只有一個問題——它根本無法操作,甚至沒有被編錄。 這可能是任務中最核心部分開始的地方。 我們刪除了磁帶中的標頭,因此要從中恢復數據,您只需轉儲“原始”塊並在十六進制編輯器中查看它們以查找文件開始標記。
我們找到標記,查看偏移量,將區塊乘以其大小,添加偏移量,然後使用內部工具嘗試從特定區塊恢復檔案。 如果一切都正確完成並且數學一致,那麼玩家手中將擁有一個 .wav 檔案。

其中,除其他外,還使用語音產生器來指定二進位代碼,並將其擴展為另一個 IP。

事實證明,這是一個新的 Windows 伺服器,一切都暗示需要使用 Wireshark,但它並不存在。 主要技巧是,這台機器上安裝了兩個系統 - 只有第二個系統的磁碟透過裝置管理員離線斷開,並且邏輯鏈導致需要重新啟動。 然後事實證明,預設應該啟動一個安裝了 Wireshark 的完全不同的系統。 一直以來我們都在使用輔助作業系統。

這裡不需要做任何特殊的事情,只需在單一介面上啟用捕獲即可。 對轉儲進行相對仔細的檢查後發現,輔助機器定期發送一個明顯的左手數據包,其中包含一個 YouTube 視頻的鏈接,其中要求玩家撥打某個號碼。 第一個來電者將聽到對第一名的祝賀,其餘人將收到人力資源部的邀請(笑話))。

順便說一句,我們是開放的 瓦坎西里 面向技術支援工程師和實習生。 歡迎加入我們!

來源: www.habr.com

添加評論