最後可以看到使用一個命令 -s regsvr32下載檔案,直接cmd process檢視一下程式;
檢視process tree 可以知道利用了execl去作為Dridex下載器,病毒直接呼叫了dridex中的一個方法,regsvr32為了能夠索引到xxx.dll後建立元件,呼叫了函式DllEntryPoint完成元件的註冊。
我們可以看到下載的檔案也是一個dll的格式,符合上面的regsvr,嘗試直接用od附加進行除錯DLL,檢視一下匯出函式;
或者也可以直接用OD中的外掛loaddll 直接除錯。
直接bp LoadLibraryExW 找到那個dll檔案(如果不知道斷那個LoadLibrary可以ExW ExA A W都下斷,f9進行分析);
引數這裡寫我們的dll位置,定位檢視;
直接定位到位置後下斷點,重新執行到該斷點的位置,
可以直接停在這裡分析,類似一個解壓縮的過程,最後的地址載入到EAX中,進行跳轉;
執行後,解密提取PE檔案到可執行記憶體空間,類似於正常PE的拉伸的一個過程;
發現以下可疑點:
正常來說恢復現場應該是pop,但是這裡用了push edx 加上 retn = jmp edx,相當於呼叫了Dridex核心的部分;
每一個dll檔案都會提供一個匯出功能,這裡regsvr32呼叫了GetProcAddress從Dridex中獲取了export:DllRegisterServer,主要查詢匯出函式的地址,幾乎所有的惡意操作都在DllRegisterServer中,相當於執行了惡意操作的主函式main;
在這個DllRegisterServer函式中,Dridex從終端獲取資訊,傳送到一個伺服器,它獲取自身電腦的使用者名稱和完整的計算機名,然後從登錄檔中讀取Windows安裝時間,將獲取的資訊放在一起,加密成MD5。
資料長度+計算機名稱+ MD5值,他會獲取我們計算機登錄檔中,所有已安裝的軟體登錄檔資訊。
例如經常玩的wegame:
用的一些工具wireshark:
*Roaming資料夾是用於存放一些使用程式後產生的資料檔案。
將收集到的資訊傳送到一個伺服器上
以下四個地址是硬編碼寫入的,用來傳送收集到的終端資料資料。
31 39 39 2E 36 36 2E 39 30 2E 36 33 3A 34 34 33 199.66.90.63:443
35 31 2E 36 38 2E 32 32 34 2E 32 34 35 3A 34 36 51.68.224.245:46
38 35 2E 32 31 34 2E 32 36 2E 37 3A 33 33 38 39 85.214.26.7:3389
31 30 37 2E 31 37 35 2E 38 37 2E 31 35 30 3A 33 38 38 39 107.175.87.150:3889
總結
該惡意程式透過垃圾郵件進行分發,會對銀行以及公司造成很嚴重的後果,雖然Dridex病毒很久沒有大量出現,但是一旦感染,會導致計算機內大量的資料洩漏,所以我們也要去做好相應的防範措施,避免這種事情的發生。