310 likes | 484 Views
WarGame. 前言 1/3. 本來在第一次所準備的題目是 Live CD Firewall 是想要藉由兩台電腦,其中一台是舊的機器 B ,想要讓該台電腦 B ,以 live cd 方式去跑 knoppix ,使其成為類似硬體 firewall 的架構,達到電腦 A 在 B 的保護下運作,而希望以 Linux 方式跑舊電腦,並以文字模式操作,節省資源,希望能有較好的效果,且再由 A 電腦遠端遙控 B 電腦. 前言 2/3. 後來發現有一些問題不容易排除 .. 預計之兩台電腦之連線方式 其中 , B 為防火牆 , A 為使用者的電腦. 前言 3/3. 問題
E N D
前言1/3 • 本來在第一次所準備的題目是 Live CD Firewall 是想要藉由兩台電腦,其中一台是舊的機器B,想要讓該台電腦B,以live cd方式去跑knoppix,使其成為類似硬體firewall的架構,達到電腦A在B的保護下運作,而希望以Linux方式跑舊電腦,並以文字模式操作,節省資源,希望能有較好的效果,且再由A電腦遠端遙控B電腦
前言2/3 後來發現有一些問題不容易排除.. 預計之兩台電腦之連線方式 其中, B為防火牆, A為使用者的電腦
前言3/3 • 問題 問題一:A-B直接連線的問題,因為不想再買一張網卡,而參考了網路上的資料,去買了一條1394的連接線來建立兩台電腦的連線,結果….失敗 問題二:改變方向,打破之前的架構圖,直接將兩台電腦都接回家中的分享器,但發現該分享器是Switch,所以想要將電腦B變成網路型IDS的希望也不成功…
WarGame • 後來改變題目成為WarGame • WarGame是為了訓練對於網路安全的了解,並提供一個站台,讓大家可以去攻擊、測試,進而增加相關的知識,並可在攻防中得到樂趣
WarGame website • 以下為一些較知名的站台 http://www.hackerslab.org/ http://www.hackerschool.org/main.html http://www.try2hack.nl/ http://www.hackersnews.org/hwz/index.html http://wargame.cna.ccu.edu.tw/index.php
台灣冒險家俱樂部 • 這個站台是由國立中正大學校園網路策進會系統部以及該校的高速網路實驗室合作的WarGame網路安全與主機漏洞模擬系統 • 初步的設計是建構在FreeBSD的PC UNIX作業系統上希望藉由這套模擬系統,讓想一敲網安大門的朋友們,有一個能夠放心做網安研究的場所
WarGame 的新方向 • 所以對於WarGame而言,已經不只是一個遊戲而已,已經是可以成為一套模擬系統,這些設計好的關卡都是良好的現實問題範例。這些內容將會實務理論兼具,而課程也可以利用 Live CD 的方式,讓每個學員進行實際的操作練習,相信比市面上大部份的書籍來得深刻且實用
WarGame 實例 • 第一個想法是先以各種方式連接至該主機 • telnet
WarGame 實例 • 但發現無法登入該主機,也沒有預設的帳號密碼admin、guest等可以登入,而其他常見如http、ftp等服務也無法登入 • 再以nmap掃描該主機,看是否有開放其他服務
WarGame 實例 • 發現有一服務叫做 echo • 似乎是題目中所說的“專門回應你的要求”的提示 • 嘗試以telnet連線進去,並加上由port 7的條件來連線
WarGame 實例 發現登入後,會得到一張亂數表,按照題目輸入密碼順序,得到basic0的密碼,也就是第零關的密碼”Welcome!”
WarGame 實例 • 回到網站輸入密碼,則得到第一關的提示
WarGame 實例 • 登入後發現,目錄中有一個叫做Pa55w0rd的檔案,打開後發現是第零關的密碼
WarGame 實例 • 推論:每一關的密碼都存於下一關之帳號的Pa55w0rd檔案內,移至/home/basic/2 • ls,果然也有一個Pa55w0rd檔案 • 但是權限不足,無法開啟該檔案
WarGame 實例 • 我們先觀察一下,在/home/basic/2 裡還有bin 及code 的資料夾 • bin 資料夾有一個 cls 的程式,是用來清除螢幕 • 而在 code 資料夾裡面的 Makefile 及 cls.c 應該就是 bin 裡面程式的程式碼及其 makefile
WarGame 實例 • 打開 cls.c 來看看
WarGame 實例 • 我們可以發現它是直接使用 system(“exec tput clear”) ; 的方式來呼叫 shell command • 而且此程式擁有 basic2 的權限 • 這是在寫程式時較為偷懶的方法,但也造成了安全上的瑕疵
WarGame 實例 • 根據題目的提示是路徑問題 • 在UNIX裡面環境變數 PATH 是一串用冒號隔開的目錄。 • 當你下一個指令而沒有指定所在的目錄,例如 "ls" 而非 "/bin/ls",則你的 shell就會在 PATH所指定的目錄中去找尋指令
WarGame 實例 • 所以我們使用改變 PATH 的方式,來執行cls 內的 tput 呼叫 • 先改變PATH到我們可以寫入的資料夾內 • 並於此資料夾內,寫一個我們自己的 tput,而可以顯示出密碼檔
WarGame 實例 • 改變 PATH,誘導cls 的呼叫到 /tmp • setenv PATH /tmp:$PATH
WarGame 實例 • 在/tmp 裡編寫一個tput 使其執行 “顯示密碼檔”的動作
WarGame 實例 • 回去執行cls 果然得到密碼檔的畫面!
WarGame 心得 • 目前第二關卡關中… • 心得︰ 其實在破解的當中,可以學到很多比課程中更實際的地方,有時候上課用講的,並不是那麼清楚,但在過程中實際操作的經驗,反而了解很多在現實上系統的安全問題,如環境變數的注意、辨認編碼加密的技巧,破解脆弱密碼、基礎反組譯二進位程式及簡易的 Stack Overflow 考驗等,都是可以在WarGame中學到的東西,也可以在完成時,得到相當的樂趣及成就感
參考資料 • 書籍 The WarGame 駭客訓練基地 作者:CHROOT.ORG 著 • 網站 http://wargame.cna.ccu.edu.tw/modules.php?modname=Forums http://people.debian.org.tw/~chihchun/2003/06/08/tec-wargame/ http://220.229.62.206/mt/Wu/2006/07/the_wargame.html http://blog.outian.net/?p=282 http://www.flag.com.tw/book/cento-5105.asp?bokno=F6270&id=142