台灣冒險家俱樂部上建立了一個網絡野戰遊戲,這並不是一般的線上遊戲。

這個遊戲是駭客任務,挑戰玩家對作業系統與電腦程式的熟悉度,裡面設計了十個基本的關卡,每個關卡都是針對特定的系統安全問題而設計。 Battle Royale 例如第一關其實是挑戰玩家是否聽過 nmap 這個指令或是 echo(7) 這個埠,這個遊戲不適合連如何連結上線都沒概念麻瓜,第一關是毫無難度的,但是玩家至少要知道甚麼是埠。第二關開始便開始考驗玩家關於基本的程式設計問題,很多時刻,程式撰寫者為了省麻煩會使用 system(3) 來執行 shell command,忽略的可能會導致安全上的瑕疵,忘了確認使用者輸入的資料、路徑或是環境變數,以至於可讓用戶意外的取得權限。此外,還有辨認編碼加密能力的技巧,訓練破解脆弱密碼、基礎反組譯二進位程式以及簡易的 Stack Overflow 考驗等。而這十關都還是基礎的教程,還有很多有趣的關卡還在設計中。這是某種形式的駭客學園。

我已經把每關自己的解法錄製下來,放置在 wargame.free-bsd.org,每關都需要密碼才能進入那關看到我或是其他人的解法。不過由於這個程式吃掉太多 CPU Time,所以可能暫時被關閉服務。

這應該是一個值得商業化的系統,如果有足夠經驗的資安專家來寫書或教課,這些設計好的關卡都是良好的現實問題範例。這些書將會實務理論兼具,而課程也可以利用 Live CD 的方式讓每個學員進行實際的操作練習,相信比市面上大部份「電腦駭客」書籍來得深刻且實用,在資通安全逐漸受到重視下,這些資源應受到相當的重視。RootWars.org 就是一個商業化範例。

此系統的主要設計者是 月光小俠、網頁由TaichiS設計,整個系統已經討論規劃兩、三年,並在幾次 TEC 聚會中提出來當做主要議題。在網路上也有許多類似的遊戲,像是已經停止的 Pulltheplug,韓國的Hackerslab黑客學園Under Attack – inetcop等。

nmap

我曾經花過時間在 Hackerslab,黑客研究室的關卡是從基礎的 setuid 權限問題開始到透過 subshell 取得 shell、甚少被注意的系統環境變數、執行路徑問題、nmap 教學、競賽狀況(race condition)、如何實行 bof 緩衝區溢出執行 shell code、以及基礎的網路程式設計等等。賊賊的 crazykids 沒跟著一起浪費時間一關一關玩,在某一天研究了 kernel ptrace 的安全問題後,他成功的欺騙了那個專門用來取得下一關的密碼程式 /bin/pass,一路從第一級跳關到最後一級。真是爆強。

2001 年年中的時候,第三波科技也舉辦過駭客實戰入侵比賽來行銷駭客叢書,然而那是個大失敗的活動。因為他使用的是 Widnows 系統,卻只有安裝少量的 Servces Pack,這類遊戲應該至少要閹掉 well-know vulnerability,再塞進自己的關卡,以至於遊戲一開始就被攻下拿到整個系統的權限。他是一個基於 ASP/IIS 的 Web-based 系統,玩家可以透過 Unicode IIS Vulnerability 或是其他瑕疵直接進到系統中,最後的玩法就是看誰霸佔了那台「肉雞」,相當愚蠢,我留了英文名字,就是排行榜上的 Rex,相信我的硬碟或光碟中還找到到那個網站的源碼。XD

跟駭客實戰入侵比賽比較類似的 Web-based Challenge 像是 Try2Hack해커즈뉴스 워 존 – Hackersnews War Zone,玩家需要了解 java script、HTML、Java Applet以及一點點反組譯及看懂程式等基本知識。每一關都是透過 java script、Applet、Flash 等等限制用戶到下一關,而不是給玩家一個 shell account 來進行遊戲。

好啦,動動妳的腦筋,開始闖關吧。

  • kevin

    是否能把你的每一關傳給我看看呢,最近有在玩謝謝你