今天開始進入我不熟悉der領域惹
首先是惡意程式分析篇,
身邊有朋友工作是與惡意程式分析相關的,
本來有想說開賽前先稍微詢問他,向他請教,
結果不知不覺...時光飛逝XDDDD
根本沒有時間機會先找他討論討論。
所以今天題目,基本上都還都是我自己隨意猜想的。
其實也不僅僅是今天啦哈哈,
從今天開始之後的每篇,幾乎都是這樣子。
進入題目前,
談談我對於逆向工程與惡意程式分析的一些些粗淺的想法,
這系列我目前不確定會不會有逆向工程篇,
而「逆向工程」與「惡意程式分析」兩者之間,
我自己覺得是不一樣的東西,但某些地方又挺相似的,
感覺惡意程式分析像是逆向工程當中的一個領域,
又不全然完全屬於逆向工程的子集,
惡意程式的分析卻經常會需要用到逆向工程技術,
但逆向工程的領域感覺更廣泛,甚至與資安可能無關聯,
惡意程式分析目標與範圍似乎更明確。
總之,惡意程式分析算是我有點小興趣的範圍XD
手邊有一篇英文書籍還有ADR大神的書籍,
未來希望有時間好好看完並且好好練習過後,
我就能更清楚逆向工程與惡意程式分析的區別了。
靜待分析是不執行檔案的執行下,透過逆向或是直接查看原始碼,分析程式碼內容。動態分析則是需要執行該檔案或程式,觀察程式執行時的行為。惡意程式有時會利用混淆、加殼、與加密技術來增加靜態分析的困難性,故在動態分析中,可以更準確的了解程式的行為。
1.等待一定時間程式才會執行
2.確認是否有鍵盤與滑鼠行為
3.檢測磁碟容量或檔案數量
加殼防止逆向,利用Base64對要執行的指令進行編碼。
翻到這一篇新聞~ 可以參考
https://www.ithome.com.tw/news/144813
PE是Portable Executable的縮寫,是Windows當中可執行檔案或dll檔案的格式,PE結構當中包含了一些Windows執行程式時所需要的一些資訊。
RVA是程式入口點的參考位置,假設程式被放入到虛擬地址(virtual adress. VA)的位址為0x01,而RVA位於0x05,則實際的在記憶體位址中的程式入口點為VA+RVA=0x01+0x05=0x06
IAT是PE文件裡面的一種結構,它包含了Windows loader加載動態鏈接庫和導入API函數的位址資訊。
rootkit通常是用來隱藏自身或是木馬、後門的惡意程式
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run //Only for current user
Process hollowing是惡意程式使用的一種技術,目的在於規避檢測,先運行一個合法的進程,將惡意的進程掛到合法進程上,僅將合法進程用作惡意代碼的容器。
窩沒做過QQ
最後爆個料(?!,雖然應該也不算料
朋友之前分享過,去面試惡意程式分析相關工作時,
是直接丟一個惡意程式要他分析,寫個簡單的小報告。
所以建議大家如果是有想要挑戰這類型工作,
還是要有點實際der的實作練習經驗唷!
我自己是只有玩一些解題的CTF時,
有碰到過一些逆向跟數位鑑識的題目有點點相關而已。
然後在還很菜的時候,有參加過一次特別CTF,
那次是要產三個惡意程式分析報告,
不過那時候真的是菜逼八,完全靠別人Carry,
也只是一直把檔案丟到VirusTotal跟一堆雲端沙箱而已哈哈XD
若有要補充也都歡迎留言