發表文章

目前顯示的是 八月, 2015的文章

HITCON ENT 惡意軟體新型API呼叫行為實作(Patten式GetProcAddress找碴呼叫API)

圖片
動機 這次HITCON Enterprise正好坐在R0場有幸聽到PK大神講的議程XD。不過本來想聽這場是想知道實際Google Drive C2 API呼叫過程的Olly分析,不過似乎整場議程重點不放在那Otz...

但正好聽到一件有趣的事情,議程內提到新型惡意軟體呼叫不再像以前是用GetProcAddress,而是自幹了一個叫做GetProcAddressEx呼叫方式會像是:

GetProcAddressEx( ModuleBase, "0=L;3=d;4=L;11=A"); //找尋一個API根據函數名,第0個為L、第3個為d、第4個為L、第11個為A
這手法聽起來像是在逃避正常靜態分析軟體(如IDA Pro)可以很容易根據Import Address Table得知呼叫過程或者透過對GetProcessAddress下斷點動態反查API過程,所以我想這個GetProcAddressEx內部應該:
不該使用到任何API來增加分析難度暴力分析DLL模組結構體找碴外導函數暴力列舉API過程中根據Pattern(也就是0=L;3=d...)找到第一筆合適的API名 根據這個原則,於是我開始實做惹XD

Visual C++實作 關於這種奇怪的要求,想到之前有研究過類似的發文 [Windows][PE][ASM]純組語手幹Dll Header解析外導函數表撈出函數地址(如LoadLibraryA動態地址)索性我就拿這個的部分Code來改成VC++函數版本了XD

首先Pattern檢測部份,我寫了一支簡單的函數
int StrVal(std::string Data) { return std::stoi(Data); } bool ChkPatten(char* Str, char* Patten) { bool retn = true; std::string n = ""; for (int i = 0; Patten[i]; i++) { if (*(char*)(Patten + i) == '=') { int LPos = StrVal(n); char RChar = *(char*)(Patten + i + 1); if (Str[LPos] != RChar) …

HITCONxTDOH 闖關活動逆向題目Source開源啦

圖片
當初會寫這個有趣的題目裡面是正好想提到IDA Pro的一些小小手花技巧,正好可以接上 HITCON CMT 2015 手花詐欺IDA Pro的一些小手段 (IDA ProHex-Rays DecompilerSimple Tricks) 的議程XD

Source Code連結:https://github.com/aaaddress1/HITCONxTDoH-2015-Crypto-Game

HITCON CMT 2015 手花詐欺IDA Pro的一些小手段 (IDA ProHex-Rays DecompilerSimple Tricks)

這篇跟HITCON CMT 2015 AIDS (Automatic Intelligence De-advertisement Scheme) 是同一天的HITCON議程,不過是在社群場講的XD 想想還是一起Share出來了

HITCON CMT 2015 AIDS (Automatic Intelligence De-advertisement Scheme)

圖片
其他延伸相關:
HITCON CMT 2015 手花詐欺IDA Pro的一些小手段HITCONxTDOH 闖關活動逆向題目Source開源啦



這次真的很興奮啊!歷年來都是以會眾身份坐在底下,第一次有幸站在這麼大的議程上分享一些內容(而且分享的內容不是很屌很屌的東西,真心覺得是僥倖才能上啊...)



















比較難過的是這場Talk跟HITCON Girls撞場啦Q__Q
一堆人跑去聽HITCON Girls,果然帶靶先輸一半了T^T
一定要的自我介紹啊!




















最後就是當然要幫莫風徵男友(?)




















 最後附上當天Demo的兩個影片

希望未來還有機會投稿上啊! :P (雖然感覺應該很難啦...)


[CTF] AIS3 Write-Up

圖片
這份write-up寫好放著好久了,一直忘記發佈出來XD最近在整理文章熊熊才想到...大神們請飄過Q__Q
MISC1 嘗試送出你的第一把 KEY The key is AIS3{hello_world}直接送出KEY
MISC2 雖然facebook.zip有加密,但是可觀看到內含資料夾/p960x960/下有一個圖片檔案的檔名為851556_443281069111871_602278786_n.png,透過Google搜索後, 可以在Github頁面:https://github.com/nicksahler/FacebookStickers/blob/master/test.html中找到相關於此檔名的圖片網址為: https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-prn1/p960x960/851556_443281069111871_602278786_n.png


接著將此圖片下載後,自行包成ZIP壓縮包(這裡命名為my_zip.zip)利用知名工具PKCrack,Linux中下命令pkcrack -d o.zip -P my_zip.zip -c "p960x960/851556_443281069111871_602278786_n.png" -C facebook.zip  -p 851556_443281069111871_602278786_n.png
最後產出o.zip解壓縮後就可以觀看到內含的文字檔案內的key了
MISC3 把檔案c4載下來後,用file查看得知為gzip檔案然後下gzip後會變成c4.gzip在解壓縮開(重複兩次後)c4會變成bitmap的檔案,點閱開來後就可以看到KEY: 如上圖所示就會出現Key
WEB1 題目給的網站 http://52.69.163.194/web1/ 內有兩個連結about跟test, 點擊test會連到