木馬(Trojan)/後門(Backdoor)逆向分析

Xtutlab
4 min readOct 8, 2020

--

以前在學習惡意程式分析,都會先了解此惡意程式是如何撰寫的,這樣才能直搗黃龍,那麼此篇就來分析最常遇到的惡意程式:

木馬(Trojan)/後門(Backdoor),通常駭客需要遠端控制受害者的電腦,就會透過未授權的連線,連回受害者端,所以學會識別它的行為,在分析大部分的惡意程式都可以游刃有余。

木馬(Trojan)/後門(Backdoor),主要有兩種運行的方式:

1. Port Binding Backdoor:會在受害者端的電腦開啟一個TCP Port,駭客會透過此TCP Port,來連到受害者端的電腦。

2. Reverse Backdoor:這是跟Port Binding Backdoor相反的運作,從受害者端連線到駭客中繼站的TCP Port,此種方式可以規避防火牆,因此惡意程式常用這個連線的方式。

一、木馬(Trojan)/後門(Backdoor)分析

從WSAConnect來看,它是屬於Reverse Backdoor,因此它會回連到駭客的中繼站,如果想要知道駭客是連到哪個IP和Port,可以繼續分析它的第二個參數,它是sockaddr_in的結構,裡面會存放連線的IP和Port。

在分析木馬(Trojan)/後門(Backdoor)時,最主要會運行CreateProcess,然後利用cmd.exe去執行系統指令,之後再回傳給中繼站,所以了解它的參數也是非常重要。

a. STARTUPINFOA結構:裡面可以設置標準輸出(hStdOutput)、輸入(hStdInput)、錯誤(hStdError),重導向到其它的I/O。

b. 運行的指令:如果CreateProcess的第一個參數是NULL,那麼此參數就要夾帶運行的程式路徑,例如cmd.exe \c dir。

c. CreateProcess:讓程式在記憶體上執行。

STARTUPINFOA結構,裡面的標準輸出(hStdOutput)、輸入(hStdInput)、錯誤(hStdError),重導向到網路連線(Winsock),這樣駭客只要傳送系統指令,就會被cmd.exe運行,然後會將結果回傳給駭客,不過這邊要注意一下,有些惡意程式會導向到Pipeline。

大多數的惡意程式一定會隱藏cmd.exe的字串,不讓分析者一下子就找到相關的字串,因此會重組字串或者加密它。

二、木馬(Trojan)/後門(Backdoor)運行結果

讓受害者端的電腦回連到駭客的中繼站(透過nc開啟Port 9999來接收受害者的連線),然後傳送ipconfig的指令,並回傳結果到中繼站。

更多技術文章

https://xtutlab.blogspot.com

https://www.facebook.com/Xtutlab-%E6%95%99%E5%AD%B8%E5%AF%A6%E9%A9%97%E5%AE%A4-345668095840741/

--

--

Xtutlab
Xtutlab

Written by Xtutlab

大家好,我是Shin,曾任職於行政院國家資通安全會報技術服務中心(NCCST),參與106金盾獎決賽出題以及在HoneyCon 2015、2016擔任Workshop講師,熱愛駭客技術、程式設計以及電腦科學,並且會不定期發表駭客技術教學文章,希望大家會喜歡!

No responses yet