HIT2006 Wargame

2006-07-18 15:00

前兩天去台北參加了今年的 HITcon (Hacks In Taiwan Conference)
這個研討會今年是第二屆 ,
像去年一樣 , 由台灣著名的駭客組織 chroot 所主辦.

去年因為是以用公司的錢去參加的 ,
所以比較認真 , 做了蠻多筆記 , 回來也寫了份報告.
今年算是帶著輕鬆的心情去觀光的 , 沒作什麼紀錄 ....
只針對幾個比較有興趣的主題在聽 ,
其他的時間都在打 Wargame ........ XD

這次的 Wargame 類型、關卡數 都多了很多
而且並不用照順序過 , 可以哪關有靈感就玩哪關 ....
所以從頭到尾都玩得不亦樂乎 ~

一開始要設定名字的時候 , 因為那時也不知這個代號要幹嘛用 ..
所以就沒拿自己的 id 出來 .... 隨便順手取了個 iknogg
結果第一天打過了幾關 .... 排行榜上的前幾名中就一個大大的 iknogg 在上面
造成主辦單位和許多人的關切 .... (對 ik 關切 XD)

第一天只解了幾題  不過很多題也都有頭緒了
於是到 ik 他們住的旅館一起吃完 pizza 後
就和壞人 cb520 一起繼續研究 , 後面還躲了一隻黑鬼 bf 在偷窺

玩了一整晚沒啥睡 .... 結果也沒解幾題出來 ...
不過可能因為一直在想 ,
隔天到會場後思緒就突然順了起來 ,
一連過了好幾關 ...

雖然有點可惜的 ,
到最後結束前半小時積分都維持在第一名 ,
不過突然間就被後面的人趕過去了 .... 掉到第四 ...
(這證明了會場中實在是高手如雲 , 之前只是因為人家都認真聽講沒在玩而已 XD)
因為只取 3 名 , 所以就拿不到一萬多塊的獎金 .... 沒辦法開大食團了 ~~~~

其實對我來說也還好  反正又不是那麼缺錢 ...
不過我是真的蠻 enjoy 在這種有時限的解題過程就是了 ~~~~
(所以我適合去拍 劍魚 ? )
 
 
再來紀錄一些我有過、玩到的關卡 和思考流程 ....
因為不知道這些關卡以後 chroot 是不是會放出來使用 ? 或是有何版權問題 ?
如果下面的資料有任何不妥當的地方
再麻煩板上幾位該 team 的長輩來信告知 :)
 
 
關卡共分成幾類 -

1. Windows - 破解 EXE , 改變執行流程或拿到藏於其中的密碼 , 共有 8 關

2. Forensic - 有 2 關 ,
      一關是分析隨身碟的 image file , 找出隱藏於媒體檔中的訊息(.doc)
      另一關是由一大串截取到的網路封包(FTP), 分析出其中的圖片.

3. Web - 尋找一些 web 設計的漏洞 , 找到藏於其中的密碼 , 共 5 + 1(隱藏) 關

4. Linux - 破解幾個設計的有問題的程式



1. Windows -

 只過了一關半 , 大部份關卡我都不會玩 ....
 啊 一直跟它不熟 .... 我果然是暈倒白痴 ~~~
 
 
  (1) 直接用 strings 分析 A_CrackME01.exe ,
    就可以直接看到藏在裡面的密碼.

    不過讓聽說高手都是拿 dissembler 反組譯後破的 ,
    這樣對玩後面幾關也有幫助 ...

  (5) 關卡給了一個 E_MSI_CrackMe.msi (Windows Installer 安裝檔)
    執行後會 show 一個訊息 , 然後就只能結束安裝 ...

    這關其實我是亂過的 ... 有兩種手法可以過一半

    (a) 用 WinRAR 解開 .msi , 得到一個奇怪的 _ 檔案
      分析可能是 zip 檔 , 於是再把檔名改成 _.zip
      解開就得到 password ...

    (b) 不要直接用檔案總管點 .msi ,
      可以從命令列執行 msiexec /a E_MSI_CrackMe.msi ,
      就可以跳過該訊息進行安裝 , 安裝完會得到和 (a) 一樣的檔案 ...

    這樣算是只過一半 , 因為沒得到隱藏於安裝過程中的另一個密碼 ...



2. Forensic -

  過了網路封包分析那一關 ...

  關卡給了一個含 28960 個封包的 log 檔 ,
  看到 network log , 就很自然的想用 ethereal 去開啟它 ...
  分析了一下後判斷是 192.168.1.2 <-> 192.168.1.10 間的 FTP 傳送

  於是先找到了 command channel 的 start packet ,
  再 Follow TCP Stream (以該組 socket pair 為 filter )

  會看到一些 RETR xxx 的命令 ,
  照題目要求的找出 .jpg 圖片的 data channel start packet ,
  一樣 Follow TCP Stream 後 , 用 Raw mode 存起來就是完整的檔案了 .

  雖然題目只要求五張圖片 , 不過我很好奇就把 11 張圖片都解出來看看 ...
  另外也把 crack.exe 出來玩 , 結果好像是隻木馬 ....... Orz
  還好是在 VM 裡面執行的 , 後來 revert 回去就好了 ~



3. Web -

  六關過了五關 ..... 不過 Web 是比較簡單的部份 所以配分都很低 ~

  1. 一個 phpBB 的論壇 , 要找到隱藏於其中的 token

   一開始隨便註冊了個帳號 , login 後把 cookie 帶給 wget -r 去跑
   結果撈一撈後 , grep -r -i token . 沒半點東西 ... Orz ...

   cb520 試了一下, 說覺得它對 highlight 的處理好像有問題
   不過並沒有 2.0.10 的那個 arbitrary command execution vulnerability
   所以就一直沒進展 ....

   第二天我突然想到 highlight 還有另一個 vulnerabiity ...
   於是試了一下 , 拿到了 database 的 username&password
   然後進系統把整個 database dump 出來看 , 就拿到 token 了.

  2. 填一組正確的 username & password 就可以過

   這關的 index.html 中有一段 javascript 是

   function chk_login() {
    var user = document.Form1.user.value.indexOf(”‘”);
    var pass = document.Form1.pass.value.indexOf(”‘”);
    if (user<0 && pass<0) Form1.submit();
     else alert("欄位填寫錯誤!");
   }

   後面有個 button 是 onclick="javascript:chk_login();"

   所以一開始一直以為是自己 post data , sql injection 過去
   好久後才發現是被騙了 .... Orz

   後來發現其中有一張圖的目錄裡面開了 Index ,
   又有個檔案叫 profile.inc , 看來是被前面的 index.php 給 include 用的

   .inc 的檔案 , apache 並不會丟給 php engine 處理 , 而會直接show出來
   於是就會看到 php 程式碼 ....

   $pizza = "you hacked me!";
   $wtf = "1f3870be274f6c49b3e31a0c6728957f"

   把那個 $wtf 拿去做 md5crack 就會得到密碼了 !

  3. 直接進這關的位址 , 會看到

   Sorry, you're really not from chroot.org

   看到 “from” , 就會想到 HTTP Header 裡面的 Referer

   於是 nc 到關卡主機的 80 port , 丟

   GET /wargame/CRFhJmoDsVGF2/ HTTP/1.0
   Referer: chroot.org

   就過了 !

  4. web4 中有一張圖片 - hitcon_logo.jpg
   我本來以為是要拿 Encrypt Text In Picture 這套軟體去解

   結果裝一裝一直跑不起來 , 還有幾個 link 是抓到木馬的 .......
   雖然後來好不容易在家裡的電腦上灌了 VC 後會動了 ,
   但是裡面一樣沒藏任何的資料 ..... Orz

   後來仔細分析了一下這個檔案 ....
   發現後面有一段是 PK ........ PK , 判斷應該是 zip 檔案

   於是用 tail -c 164 hitcon_logo.jpg > ox.zip ; unzip ox.zip
   就會得到 token#4.txt !
   只是裡面沒密碼 只寫了 token #4 is not here ... lol

   好吧 反正這段是沒用的東西了 先把它截掉 ...
   head -c 60543 hitcon_logo.jpg > hitcon_logo2.jpg

   繼續找找找 ...... 嗯 發現一段 IHDR .... IEND , 判斷應該是個 png 檔
   算好位子再把它截出來
   tail -c 2881 hitcon_logo2.jpg > token.png

   開啟圖檔就看到密碼了 !

  5. 開啟網頁後會看到一個 flash ...

   把它抓下來 , 拿 flash decompiler 後, 就會找到 token 了.

  6.

  2~5 關的 url 分別是

  web2 : CR1yWzo0NI3QA
  web3 : CRFhJmoDsVGF2
  web4 : CRPcM3yoZcIQE
  web5 : CRYvDPSO5whRA

  看到這樣的格式就起了疑心 ... 看起來很像是 DES 編碼
  於是 john 了一下 .... 會得到
  web2:003
  web3:004
  web4:001
  web5:002

  本來以為第六關隱藏關可能會是 00? 的 DES 編碼 , 還寫了小程式暴力去試

  php -r 'for($i=0;$i<20;$i++) { $num=sprintf("%03d",$i);
      $str=crypt($num,"CR");
      system( "wget http://192.168.100.10/wargame/$str" );'

  結果發現並沒有 .... 這些資料不知有啥用處 ...

  再看一遍提示 , 說過了 1~5 關後,
  將前五關的 token 組合起來會得到第六關的路徑

  又前五關的 token 剛好各是 8 個字元 , 五個合起來是 40 個字元 ,
  於是拿 sha-1 cracker 算了一下 ... 就會得到第六關的路徑 - banana

  第六關也是一個 flash , 但是 decompile 後找不到啥 .... 我跟 flash 不熟 :(
  於是就沒有過了 ......



Linux -

  很慘 , 一關都沒過 XD ....
  newbug 出的題目 , 去年沒人過 、 今年也沒人過 ... 哈
  不過還是來紀錄一下過程好了.

  (1) 想辦法用 stage1 這個帳號進入系統 , 然後執行 /bin/stage1 得到密碼.

    但是又不知道 stage1 的密碼 , 要怎麼進去呢 ?

    掃一下 port , 會發現有開 rsync , 密碼很簡單就猜到 ....

    我本來以為是透過 rsync 把 key 丟進去 ,
    透過 ssh public key authentication 連進去

    但試了一下 ... 路徑好像跟我想的不太一樣 ?
    怎麼把東西丟到 /home/stage1/stage1/ 去了 .... 大概是我指令沒下好吧 ..

    算了 , 反正在前一天 /bin/stage1 的權限還沒改成 700 前就弄了一份出來
    於是就在本機試 ....

    關主newbug有提示, 直接執行的話並不會顯示出真正的key,
    程式中有個地方作了判斷 , 要動一點手腳 ,
    但是我又不太會反組譯trace ....
    於是寫了支程式暴力試 , 一次一次把 00 改成 01 跑跑看
    結果還是沒跑出來 ..... XD  .... 這關就這樣了 .....

  (2) 一個 ELF header 被破壞過的 binary ...
    被塞了一個 COMMAND.EXE ....

    試了半天不知道怎麼修回來 ..... 於是也卡關 ....

  (3) 有 Format String vulnerability 的程式
    但是我跟它還不夠熟 試半天塞不到位址 .... Orz
    再來研究研究加強加強 ....

  (4) 沒玩到 .....

=============================================================================

大概是這樣子 ......

今年再好好進修進修  明年再去玩 XD

(啊 ? 人家都是去聽演講的 我是去玩的 ..... Orz )


Personal Diary 類別的文章 :
換房掉皮包

Security 類別的文章 :
HIT 20066/25 TnLUG 場的簡報與影片

1 則留言 新增留言

  • 1. 迪倫  |  July 27th, 2006 at 16:06

    我看你去偵九隊上班算了,不過不知道福利好不好?
    據聞開戰時資訊戰也是一大主力。

    大約看了一下,那種集會人的功力真的不是坊間開設所謂駭客認證班能比較的。只是多了一堆網路小白......@@~

新增留言

*

*

訂閱這則留言的 RSS Feed


各分類文章

最近的 20 篇文章