銀行木馬QakBot分析
QakBot,也稱為QBot、QuackBot和Pinkslipbot,是一款已存在了十多年的銀行木馬。它于2007年在野外被發現,此后一直在維護和發展,它的主要目的是竊取銀行憑證。時至今日,QakBot在功能方面仍在不斷發展,擁有更多的功能,如鍵盤記錄、后門功能和逃避檢測功能。它還能夠竊取電子郵件,以便攻擊者利用這些信息向受害者發送有針對性的郵件,引誘受害者打開這些電子郵件。
QakBot感染鏈
QakBot主要通過垃圾郵件感染受害者,電子郵件附件包含Microsoft Office文檔(Word、Excel)或帶有密碼保護的壓縮文件。包含宏的文檔會提示受害者打開附件,在某些情況下,電子郵件中包含指向傳播惡意文檔的網頁的鏈接。它還可以通過已感染機器將QakBot有效負載傳播到受害者的機器。
最近QakBot版本(2020-2021變體)的感染鏈如下:
(1) 用戶收到一封帶有ZIP附件的釣魚電子郵件,其中包含一份帶有嵌入宏的Office文檔或惡意鏈接。
(2) 用戶打開惡意附件/鏈接,并被誘導單擊“啟用內容”。
(3) 執行惡意宏。一些變體通過“GET”請求“PNG”,但該文件實際上是一個二進制文件。
(4) 加載的有效負載(stager)包括加密資源模塊。其中一個加密資源具有DLL二進制文件(加載器),該文件在運行時解密。
(5) “Stager”將“Loader”加載到內存中,內存在運行時解密并運行有效負載。
(6) 有效負載與C2服務器通信。
典型的QakBot具有如下功能:收集主機信息;創建計劃任務;證書獲?。簯{證轉儲;密碼竊取;
網絡注入;密碼暴力破解;修改注冊表;創建副本;注入進程。
C2通信
QakBot惡意軟件的資源中包含150個硬編碼IP地址列表,其中大多數屬于其他受感染的系統,這些系統被用作向其他代理或realС2轉發流量。
被感染機器與С2的通信是帶有Base64編碼數據的HTTPS POST請求。數據用RC4算法加密,靜態字符串“jHxastDcds)oMc=jvh7wdUhxcsdt2”和隨機16字節序列用于加密,數據本身是JSON格式。
感染后,機器會發送“PING”消息、“SYSTEM INFO”消息和“ASK for COMMAND”消息,C2會回復“ACK”和“COMMAND”消息。
‘PING’ message:發送 ‘BOT ID’判斷С2是否存活

‘ACK’ message:C2響應消息,字段“16”包含受感染系統的外部IP地址
‘SYSTEM INFO’ :向C2發送受感染系統的信息和以下查詢結果
- whoami /all
- arp -a
- ipconfig /all
- net view /all
- cmd /c set
- nslookup -querytype=ALL -timeout=10 _ldap._tcp.dc._msdcs.{DOMAIN}
- nltest /domain_trusts /all_trusts
- net share
- route print
- netstat -nao
- net localgroup
- qwinsta
- WMI Query ROOT\CIMV2:Win32_BIOS
- WMI Query ROOT\CIMV2:Win32_DiskDrive
- WMI Query ROOT\CIMV2:Win32_PhysicalMemory
- WMI Query ROOT\CIMV2:Win32_Product
- WMI Query ROOT\CIMV2:Win32_PnPEntity
‘ASK for COMMAND’ :請求C2執行命令,其中一個主要字段是“14”——SALT。此字段唯一,并在每個請求中都會更改。它用于防止受感染機器被劫持或接管。收到此請求后,С2在簽名過程中使用SALT,并在響應中放置簽名,以便機器可以檢查簽名數據,機器只執行有效且已簽名的命令。
‘COMMAND’ message:當前版本的bot支持24個命令,其中與下載、執行、刪除或設置/更新配置值有關。消息包含SALT的簽名值(從bot的請求字段“14”獲取)、命令ID和模塊ID。
如果C2推送模塊,則會將Base64編碼的二進制文件放入消息字段“20”中。
其他模塊
Cookie Grabber:從流行瀏覽器中手機cookie信息
Hidden VNC:允許攻擊者在受感染機器無感狀態下連接操作計算機
Email Collector:嘗試在受感染的計算機上查找Microsoft Outlook,然后將收集到的電子郵件發送到遠程服務器
Hooking module:Hook編碼的WinAPI和Mozilla DLL用于執行web注入、嗅探流量、鍵盤記錄、阻止DNS解析
Passgrabber module:從各種來源收集登錄名和密碼:Firefox和Chrome文件、Microsoft Vault存儲等。
Proxy module:使用UPnP端口轉發和tier 2С2查詢確定哪些端口可用
確定端口可用后代理模塊啟動多線程SOCKS5代理服務。SOCKS5協議被封裝到QakBot代理協議中,該協議由以下部分組成:QakBot代理命令(1字節)、版本(1字節)、會話id(4字節)、總數據包長度(dword)、數據(總數據包長度-10)。通常代理模塊命令如下:
C2服務器數據包:
單次代理數據包:
IOC
部分C2服務器地址:
- 75.67.192[.]125:443 24.179.77[.]236:443 70.163.161[.]79:443
- 72.240.200[.]181:2222 184.185.103[.]157:443 78.63.226[.]32:443
- 83.196.56[.]65:2222 95.77.223[.]148:443 76.168.147[.]166:993
- 105.198.236[.]99:443 73.151.236[.]31:443 64.121.114[.]87:443
- 213.122.113[.]120:443 97.69.160[.]4:2222 77.27.207[.]217:995
- 105.198.236[.]101:443 75.188.35[.]168:443 31.4.242[.]233:995
- 144.139.47[.]206:443 173.21.10[.]71:2222 125.62.192[.]220:443
- 83.110.109[.]155:2222 76.25.142[.]196:443 195.12.154[.]8:443
- 186.144.33[.]73:443 67.165.206[.]193:993 96.21.251[.]127:2222
- 149.28.98[.]196:2222 222.153.122[.]173:995 71.199.192[.]62:443
- 45.77.117[.]108:2222 45.46.53[.]140:2222 70.168.130[.]172:995
- 45.32.211[.]207:995 71.74.12[.]34:443 82.12.157[.]95:995
- 149.28.98[.]196:995 50.29.166[.]232:995 209.210.187[.]52:995
- 149.28.99[.]97:443 109.12.111[.]14:443 209.210.187[.]52:443
- 207.246.77[.]75:8443 68.186.192[.]69:443 67.6.12[.]4:443
原文鏈接:securelist