DNSMessenger是PowerShell腳本多階段威脅,采用DNS作為與攻擊者雙向通信的信道。
針對性攻擊已經脫離了傳統惡意軟件,轉向更隱蔽的技術。這些技術濫用標準系統工具和協議,其中一些還并非總能被檢測到。
最近的例子,是名為DNSMessenger的攻擊。思科系統Talos團隊分析了該攻擊,發現其投放方式比較老套,就是用網絡釣魚郵件附帶惡意Word文檔。
該文檔被打開時,會偽裝成英特爾旗下邁克菲殺毒軟件的“受保護文檔”,要求用戶點擊啟用按鈕以查看文檔內容。但點擊動作實際上就是執行內嵌在文檔中的惡意腳本。
該惡意腳本是用PowerShell寫的。PowerShell是Windows自帶的腳本語言,功能很強大,可以自動化系統管理任務。有趣的是,到這一階段為止,所有這一切都是在內存中進行,磁盤上根本沒有寫入任何惡意文件。
第二階段同樣是用PowerShell完成,涉及檢查多個環境參數,比如已登錄用戶的權限和已安裝PowerShell的版本。這些信息被用來確定進入下一階段的方式,以及如何成功駐留。
取決于第二階段檢查的結果,另一個PowerShell腳本要么被存入NTFS文件系統的交換數據流(ADS),要么直接寫入注冊表。第三階段的PowerShell腳本包含另外的混淆腳本,可基于DNS建立起相當復雜的雙向通信信道。
DNS通常用于查詢與域名關聯的IP地址,但也支持多種記錄格式。TXT記錄就可在DNS服務器響應中附加無格式文本。
思科Talos團隊在博客( http://blog.talosintelligence.com/2017/03/dnsmessenger.html )中寫道:“該惡意軟件的所有命令與控制(C2)通信,都經由 DNS TXT 查詢和響應進行。”
攻擊者利用該隱秘通信信道發送指令,接收指令執行結果。
公司企業通常會花大力氣過濾進出公司網絡的HTTP和HTTPS流量,但很少有公司會監測DNS。攻擊者清楚這一點,將其他協議封裝進DNS協議中來躲避監測。
系統工具的采用,比如PowerShell,以及直接在內存執行的代碼,也逐漸成為讓攻擊檢測越來越難的常用技術。
該惡意軟件是一個極佳的樣本,展現出攻擊者在目標環境中隱秘行動的意愿強度。同時,除了HTTP/HTTPS、SMTP/POP3之類網絡協議,對其他協議的檢查和過濾也應引起重視。公司網絡中的DNS流量,也應列入攻擊者會用來實現完整雙向C2基礎設施的考慮之中。