難以捉摸的馬爾瓦里歷險記,第一部分

難以捉摸的馬爾瓦里歷險記,第一部分

從本文開始,我們開始發布一系列有關難以捉摸的惡意軟體的出版物。 無檔案駭客程序,也稱為無檔案駭客程序,通常使用 Windows 系統上的 PowerShell 以靜默方式執行命令來搜尋和提取有價值的內容。 在沒有惡意檔案的情況下偵測駭客活動是一項艱鉅的任務,因為... 防毒軟體和許多其他檢測系統都是基於簽名分析來工作的。 但好消息是這樣的軟體確實存在。 例如, 布巴系統,能夠偵測檔案系統中的惡意活動。

當我第一次開始研究壞駭客這個主題時 不使用傳統的感染方法,但只有受害者電腦上可用的工具和軟體,我不知道這很快就會成為一種流行的攻擊方法。 安全專業人員 他們說這正在成為一種趨勢,並且 可怕的文章標題 - 確認這一點。 因此,我決定就這個主題出版一系列出版品。

偉大而強大的PowerShell

我之前曾寫過其中一些想法 PowerShell混淆系列,但更多的是基於理論概念。 後來我遇到了 混合分析網站,您可以在其中找到在野外「捕獲」的惡意軟體樣本。 我決定嘗試使用這個網站來尋找無文件惡意軟體的樣本。 我成功了。 順便說一句,如果您想進行自己的惡意軟體狩獵探險,則必須經過此網站的驗證,以便他們知道您正在以白帽專家的身份從事這項工作。 作為一個安全博主,我毫無疑問就通過了。 我相信你也可以。

除了範例本身之外,您還可以在網站上看到這些程式的用途。 混合分析在自己的沙箱中運行惡意軟體,監視系統呼叫、運行進程和網路活動,並提取可疑文字字串。 對於二進位檔案和其他可執行文件,即您甚至無法查看實際的高級程式碼,混合分析可以根據軟體的執行時間活動來確定軟體是惡意的還是可疑的。 之後樣品已經被評估。

對於 PowerShell 和其他範例腳本(Visual Basic、JavaScript 等),我能夠看到程式碼本身。 例如,我遇過這個 PowerShell 實例:

難以捉摸的馬爾瓦里歷險記,第一部分

您也可以以 base64 編碼執行 PowerShell 以避免檢測。 請注意非互動式和隱藏參數的使用。

如果您閱讀過我關於混淆的文章,那麼您就會知道 -e 選項指定內容是 base64 編碼的。 順便說一句,混合分析也可以透過解碼所有內容來幫助解決這個問題。 如果您想嘗試自行解碼base64 PowerShell(以下簡稱PS),則需要執行以下命令:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

更深入

我使用這種方法解碼了我們的PS腳本,下面是程式的文本,儘管我稍作修改:

難以捉摸的馬爾瓦里歷險記,第一部分

請注意,該腳本與 4 年 2017 月 XNUMX 日的日期相關聯並傳輸會話 cookie。

我在中寫過關於這種攻擊方式的文章 PS混淆系列,其中載入了 base64 編碼的腳本本身 遺失的 來自另一個網站的惡意軟體,使用 .Net Framework 庫的 WebClient 物件來完成繁重的工作。

它有什麼作用?

對於掃描 Windows 事件日誌或防火牆的安全軟體,base64 編碼可防止純文字模式偵測到字串“WebClient”,從而防止發出此類 Web 請求。 由於惡意軟體的所有「邪惡」內容都會被下載並傳遞到我們的 PowerShell 中,因此這種方法使我們能夠完全逃避偵測。 或者更確切地說,這就是我最初的想法。

事實證明,啟用 Windows PowerShell 進階日誌記錄(請參閱我的文章)後,您將能夠在事件日誌中看到已載入的行。 我長得像 其他 )我認為微軟應該預設啟用這種等級的日誌記錄。 因此,啟用擴充日誌記錄後,我們將在 Windows 事件日誌中看到根據上面討論的範例從 PS 腳本完成的下載請求。 因此,激活它是有意義的,您不同意嗎?

讓我們增加額外的場景

駭客巧妙地將 PowerShell 攻擊隱藏在用 Visual Basic 和其他腳本語言編寫的 Microsoft Office 巨集中。 這個想法是受害者收到一條訊息,例如來自送貨服務的訊息,並附有 .doc 格式的報告。 您開啟包含該巨集的文檔,它最終會啟動惡意 PowerShell 本身。

通常,Visual Basic 腳本本身會被混淆,因此它可以自由地逃避防毒和其他惡意軟體掃描程式。 本著上述精神,我決定用 JavaScript 寫上述 PowerShell 作為練習。 以下是我的工作成果:

難以捉摸的馬爾瓦里歷險記,第一部分

混淆的 JavaScript 隱藏了我們的 PowerShell。 真正的駭客會這樣做一兩次。

這是我在網路上看到的另一種技術:使用 Wscript.Shell 運行編碼的 PowerShell。 順便說一下,JavaScript 本身是 手段 惡意軟體的傳遞。 許多版本的 Windows 內建了 Windows腳本宿主,它本身可以運行JS。
在我們的例子中,惡意 JS 腳本被嵌入為擴展名為 .doc.js 的檔案。 Windows 通常只會顯示第一個後綴,因此它對受害者來說將顯示為 Word 文件。

難以捉摸的馬爾瓦里歷險記,第一部分

JS 圖示僅出現在捲動圖示中。 毫不奇怪,許多人會認為它是 Word 文件而開啟此附件。

在我的範例中,我修改了上面的 PowerShell 以從我的網站下載腳本。 遠端 PS 腳本僅列印“Evil Malware”。 正如你所看到的,他一點也不邪惡。 當然,真正的駭客有興趣透過命令 shell 存取筆記型電腦或伺服器。 在下一篇文章中,我將向您展示如何使用 PowerShell Empire 來執行此操作。

我希望在第一篇介紹文章中我們沒有深入探討這個主題。 現在我讓您喘口氣,下次我們將開始研究使用無文件惡意軟體進行攻擊的真實範例,而無需任何不必要的介紹文字或準備。

來源: www.habr.com

添加評論