丁香婷婷激情俺也去俺来也,吃奶呻吟打开双腿做受视频,婷婷综合久久中文字幕蜜桃三电影,免费无线乱码不卡一二三四

揭秘基于注冊表隱藏的無文件攻擊

2016-08-01

發(fā)展

一直以來,文件是惡意代碼存在的最常見形式,安全軟件也通常把磁盤上的文件作為重點檢測對象。然而,一旦惡意代碼以無文件形式存儲在系統(tǒng)中,便難以對其追蹤。 

早在十幾年前,紅色代碼、Slammer蠕蟲就利用緩沖區(qū)溢出進行攻擊,通過網(wǎng)絡(luò)傳播,完全存在于內(nèi)存之中,而不以文件作為載體。不過,這種基于內(nèi)存的無文件(Fileless)攻擊一旦進程或系統(tǒng)關(guān)閉,也就不復存在。

為了實現(xiàn)攻擊持久化,攻擊者們找到新的突破口——將惡意軟件實體隱藏在注冊表的某個鍵值里,并通過各種加密手段,來逃脫安全軟件的查殺。最早使用該技術(shù)的是2014年GData公司發(fā)現(xiàn)的點擊欺詐軟件Poweliks。隨后,多款惡意程序甚至APT組織使用這種無文件持久化攻擊技術(shù)。

攻擊流程


1、初始樣本執(zhí)行

當初始樣本通過釣魚郵件、漏洞或其他方式感染系統(tǒng)后,就會在Windows注冊表配置單元中以加密形式寫入完整的負載,為無實體惡意代碼執(zhí)行做準備。

2、無實體惡意代碼注冊表執(zhí)行

通常,惡意代碼被創(chuàng)建為幾個注冊表子鍵,每個鍵值中會分別存儲腳本代碼或者二進制數(shù)據(jù),自啟動后,通過層層解密,最終執(zhí)行核心代碼。

a)第一階段鍵值A(chǔ)uto-Start

系統(tǒng)啟動后會自動讀取某些特殊的鍵值,這就為惡意代碼自啟動創(chuàng)造了條件。一般通過在rundll32.exe里運行RunHTMLApplication來執(zhí)行一段JS腳本。引申來看,任何能加載MSHTML模塊都是潛在的利用對象。詳細了解該原理可以參考鏈接[1]

b)第二階段鍵值Loader

第一階段的代碼會用來解密并執(zhí)行第二階段的數(shù)據(jù)。在調(diào)研的幾個案例中,第二階段的數(shù)據(jù)通常會是一段加密腳本,例如PowerShell、VBScript等,這里主要是為了執(zhí)行第三階段的數(shù)據(jù)。

c)第三階段鍵值Binary

第三階段的鍵值通常用來存儲Payloads。通過階段二的腳本命令來將其注入到系統(tǒng)合法進程之中,實現(xiàn)無進程ShellCode執(zhí)行。

當然,并不是所有的無文件惡意軟件都是按照三個階段執(zhí)行,像Poweliks則是將二、三階段的數(shù)據(jù)存放在一個子鍵中,通過PowerShell腳本解密并執(zhí)行對應模塊的數(shù)據(jù),其基本原理和目的是一致的。一旦惡意代碼被注入內(nèi)存之中,就會按照攻擊者最初的設(shè)計來實施惡意行為,比如連接控制服務(wù)器、收集主機信息、接受命令執(zhí)行其他操作等。

代碼隱藏

存儲在注冊表中的腳本和數(shù)據(jù)經(jīng)過了精心的加密隱藏,以達到讓安全軟件和用戶不可見的目的。

a)撤銷訪問權(quán)限:在訪問控制列表(ACL)中撤銷用戶對注冊表訪問權(quán)限。

b)添加無效字符:利用Windows注冊表編輯器無法顯示包含無效字符的注冊表鍵,在注冊表鍵值中寫入一個或多個無效字符,用戶訪問時會顯示錯誤消息。

結(jié)束語

基于注冊表的無文件攻擊利用操作系統(tǒng)特性來達到數(shù)據(jù)隱藏的意圖,并將惡意程序運行在合法進程之中,這種方式能讓基于文件監(jiān)測的查殺手段失效,為此安全廠商們也積極做出響應,然而隨著技術(shù)的進一步發(fā)展,惡意代碼的隱藏方式很可能并不只局限于Windows注冊表。攻防對抗,永無止境。