HITCON2013 解題 - Forensics2

file link

摁,pptx,HIT的圖片和一個link
事情怎麼可能這麼簡單?
docx, xlsx, pptx…等等的格式其實是zip壓縮檔 + xml格式文件,所以就把它解壓縮吧!
東找找西找找之後你發現ppt/media/image2.png這裡有個無敵數位黨證,事情當然也沒有這麼簡單,它除了無敵數位黨證之外,還包含了你的key,圖片內含key?用Notepad++看一下之後好像沒什麼發現,那應該是圖片+壓縮檔的方式吧
什麼?有密碼?猜吧。HIT, HITCON, HITCON2013, HIT2013,終於現出原形了!

(這題其實我是從發現EXE之後才開始接手的,但是我還是掰了前面的過程)
原來黨證的本體是.NET程式 按下GET之後什麼都沒有,於是馬上用ILSpy或是.NET Reflector會發現是Ping失敗導致的,(以下步驟,由於個人偏好C#,對於VB使用者只能說聲抱歉囉…)把裡面的button1_Click和GetMD5Hash兩個Function和前面的imports
using System.Security.Cryptography; 
using TweetSharp;
給複製下來,丟到我們的新專案裡面,修掉陷阱執行之後發現什麼也沒拿到,其原因在於
foreach (TwitterStatus status in enumerable)
沒有進去執行,也就是說enumerable是空的,但是下面有一行
textBox_TimeLine.Text += "Bot say [" + status.Text + "]\r\n";
Key Word:Bot,所以就來找一下twitter帳號吧,一樣開始猜:hitbot, hitconbot, hitcon2013, hitcon, hit2013, hit2013bot,經過一連串排列組合之後終於猜到了,接下來就是蒐集所有的POST然後餵給foreach吃,想要快一點就先右鍵->觀察元素,共同class有:js-tweet-text tweet-text這兩個,Console寫一下Code:
var s = []; $(".js-tweet-text.tweet-text").each( function () { s.push($(this).text()); } );
然後下:
s
列出s這個變數就可以得到:
["Cyberwar : In hack we trust.", "we believe it is the hacking skills which will protects us.", "Ultimately", "relying on hackers.", "Here we can only trust ourselves", "without any government or media telling them.", "Campaigns happening everyday silently", "but only cyber attacks.", "warfare consists of no tank or missiles", "In the information world", "This Year"]
改一下我們的Code:
string[] enumerable = new string[] { (略) }; 
(略) 
foreach (string status in enumerable)
{
       textBox_TimeLine.Text = textBox_TimeLine.Text + "Bot say [" + status + "]\r\n";
       input = input + status;
}
執行下去之後:
Bot say [Cyberwar : In hack we trust.] 
Bot say [we believe it is the hacking skills which will protects us.] 
Bot say [Ultimately] 
Bot say [relying on hackers.] 
Bot say [Here we can only trust ourselves] 
Bot say [without any government or media telling them.] 
Bot say [Campaigns happening everyday silently] 
Bot say [but only cyber attacks.] 
Bot say [warfare consists of no tank or missiles] 
Bot say [In the information world] 
Bot say [This Year] 4f32320a0e39e6a4f6af0affc1ad2f8b
搭啦!200pts Get.


5 則留言:

  1. 居然可以用猜的猜到twitter帳號...
    我還在那邊改api key改半天-_-

    回覆刪除
  2. 你好, 我照著你的方式實驗
    IEnumerable enumerable = twitterService.ListTweetsOnHomeTimeline(new ListTweetsOnHomeTimelineOptions());
    這串會發生問題, 請教您是怎解開來的呢?
    錯誤描述:
    Error 1 The type 'Hammock.Model.PropertyChangedBase' is defined in an assembly that is not referenced. You must add a reference to assembly 'Hammock.ClientProfile, Version=1.0.0.0, Culture=neutral, PublicKeyToken=c148cfba29ed1a4d'. c:\documents and settings\administrator\my documents\visual studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs 90 13 WindowsFormsApplication1

    查了還是覺得怪怪的,不知修改的方式,可否請您說得仔細一點呢
    謝謝

    回覆刪除
    回覆
    1. 找到問題了, 少匯了一個Hammock.ClientProfile.dll

      刪除
  3. 請教一下 var s = []; $(".js-tweet-text.tweet-text").each( function () { s.push($(this).text()); } );

    這個是在哪裡執行呢? 謝謝

    回覆刪除
  4. @Lays 據說出題者也非常驚訝能被猜到

    回覆刪除