国产精品久久久久久久网站_伊人久久精品影院_精品久久洲久久久久护士_亚洲精品高清国产一线久久

國家保密局網(wǎng)站>>保密科技

淺析PowerShell攻擊的檢測與防御

2020年05月09日    來源:國家保密科技測評中心【字體: 打印

PowerShell是微軟為Windows平臺制作的新一代命令行操作環(huán)境。和傳統(tǒng)的命令行環(huán)境相比,PowerShell的功能更加強(qiáng)大,使用方式也非常靈活。但這些新特性給用戶和系統(tǒng)運(yùn)維人員帶來便捷的同時(shí),也存在很大的安全風(fēng)險(xiǎn)。美國賽門鐵克公司發(fā)布的一份報(bào)告指出,該公司在2016年分析的49127個(gè)PowerShell腳本樣本中,有95. 4%的樣本是惡意的。騰訊公司發(fā)布的2019年度企業(yè)安全報(bào)告也指出,在被惡意利用的系統(tǒng)組件中,利用PowerShell組件實(shí)現(xiàn)遠(yuǎn)程下載占比達(dá)90%。敵對勢力在近年來對我國發(fā)起的網(wǎng)絡(luò)攻擊中,PowerShell惡意腳本也成為經(jīng)常使用的攻擊手段之一。本文將在介紹PowerShell的功能特點(diǎn)和安全機(jī)制的基礎(chǔ)上,概述部分安全機(jī)制繞過方法,并提出針對PowerShell攻擊的檢測和防御方法。

一、PowerShell簡介

從Windows 95正式脫離DOS系統(tǒng)、成為可獨(dú)立運(yùn)行的操作系統(tǒng)到現(xiàn)在,微軟在各版Windows系統(tǒng)中都保留了命令行窗口,即“命令提示符”,用于兼容DOS程序、便于用戶執(zhí)行命令操作。隨著技術(shù)的演進(jìn),功能有限的“命令提示符”已經(jīng)不能滿足運(yùn)維需求。為此,微軟于2006年發(fā)布了新一代命令行環(huán)境,即PowerShell1.0。從Windows7和Windows Server2008 R2開始,微軟正式將PowerShell集成到系統(tǒng)中,便于管理員進(jìn)行系統(tǒng)管理。在2016年,微軟將PowerShell開源,并提供了跨平臺支持,使用戶在Linux等系統(tǒng)中也可以使用PowerShell的部分功能。

PowerShell基于.Net架構(gòu)研制,既兼容原“命令提示符”的所有功能,又吸收了Linux系統(tǒng)中Bash命令行的諸多優(yōu)點(diǎn)。PowerShell的主要特性有:一是具備強(qiáng)大的系統(tǒng)管理功能,不僅可以直接操作注冊表,還可以通過WMI(WindowsManagement Instrumentation)接口對操作系統(tǒng)進(jìn)行各類配置;二是支持管道操作,即前一條命令的返回結(jié)果可直接作為后一條命令的參數(shù),因此可以通過管道將多條命令組合成一條命令,而且可以通過查詢、篩選等命令對經(jīng)過管道傳輸?shù)臄?shù)據(jù)進(jìn)行過濾;三是支持網(wǎng)絡(luò)和遠(yuǎn)程處理,除下載和傳輸文件等常規(guī)網(wǎng)絡(luò)操作之外,還支持通過遠(yuǎn)程管理的方式在一組網(wǎng)絡(luò)可達(dá)的計(jì)算機(jī)中執(zhí)行PowerShell命令或腳本。此外,PowerShell還支持對象操作、后臺異步運(yùn)行等特性。

PowerShell最大的優(yōu)勢是支持腳本解析運(yùn)行和調(diào)試,而且腳本編寫方式非常靈活。在腳本文件中,除PowerShell的內(nèi)置命令外,還可以直接調(diào)用.Ne t框架的類庫實(shí)現(xiàn)非常復(fù)雜的程序邏輯。PowerShell腳本文件的正文一般為純文本形式,語法規(guī)則與其他腳本語言類似,常用的擴(kuò)展名為ps1、psc1和psm1,分別表示通用腳本、命令行腳本和腳本模塊。可以根據(jù)上述特征初步判斷一個(gè)文件是否為PowerShell腳本文件。

二、 PowerShell安全機(jī)制

PowerShell強(qiáng)大的功能在給運(yùn)維人員和用戶帶來方便的同時(shí),也給攻擊者帶來了可乘之機(jī)。從上節(jié)介紹的PowerShell特性可以看出,攻擊者一旦能夠從遠(yuǎn)程執(zhí)行PowerShell腳本,或誘使用戶執(zhí)行惡意的PowerShell腳本,就可能執(zhí)行非常危險(xiǎn)的操作,例如修改系統(tǒng)安全配置、竊取用戶數(shù)據(jù)文件等,甚至可以進(jìn)一步植入后門進(jìn)行持續(xù)性攻擊。為了降低可能存在的安全風(fēng)險(xiǎn),微軟為PowerShell提供了一些基本安全機(jī)制,限制惡意腳本的直接運(yùn)行。最常見的安全機(jī)制有“執(zhí)行策略” 和反惡意程序掃描接口(Anti-Malware ScanInterface,AMSI)。

“執(zhí)行策略”主要通過檢測和驗(yàn)證簽名的方法限制腳本文件的運(yùn)行,該策略的默認(rèn)取值為Restricted,即除了部分帶有微軟數(shù)字簽名的腳本文件外,其他腳本一律無法直接運(yùn)行。此外常見的取值還有:AllSigned,即經(jīng)數(shù)字簽名后的腳本才可運(yùn)行;RemoteSigned,即本地腳本可直接運(yùn)行,遠(yuǎn)程腳本則需數(shù)字簽名才能運(yùn)行;Unrestricted,即所有腳本文件均可運(yùn)行。用戶可以在PowerShell命令行中運(yùn)行Get-ExecutionPolicy命令查看當(dāng)前的策略取值。

AMSI用于為Microsoft Defender等殺毒軟件提供PowerShell腳本檢測接口。腳本在運(yùn)行時(shí),AMSI將對腳本的代碼進(jìn)行檢測,并通過接口傳遞給系統(tǒng)內(nèi)的殺毒軟件。如殺毒軟件發(fā)現(xiàn)代碼存在惡意特征,將中止腳本的執(zhí)行,并將結(jié)果反饋給用戶。

除了以上2種安全機(jī)制外,PowerShell還能夠?qū)蛇\(yùn)行的語言和函數(shù)進(jìn)行限制,這些機(jī)制都可以在一定程度上提高PowerShell運(yùn)行環(huán)境的安全性。

三、PowerShell攻擊方法

利用PowerShell進(jìn)行攻擊一般分為2個(gè)方面:一方面是攻擊者利用系統(tǒng)漏洞向用戶終端釋放惡意的PowerShell腳本,另一方面是攻擊者通過發(fā)送釣魚郵件等方式誘導(dǎo)用戶下載和運(yùn)行惡意PowerShell腳本。盡管PowerShell提供了相應(yīng)的安全機(jī)制,但是攻擊者依然可以通過多種方法繞過這些機(jī)制進(jìn)行攻擊。針對“執(zhí)行策略”對運(yùn)行腳本文件的限制,攻擊者可誘導(dǎo)用戶關(guān)閉這一限制,或通過參數(shù)設(shè)置等方法繞過該限制,而由于腳本文件大多為純文本形式,攻擊者可以很容易地對腳本的內(nèi)容進(jìn)行編碼、混淆,使其繞過AMSI機(jī)制的檢測,也繞過用戶肉眼的識別。

下面以輸出“Hello World”為例介紹幾種常見的繞過“執(zhí)行策略”、對代碼進(jìn)行編碼和混淆的方法。為了便于介紹,我們首先創(chuàng)建一個(gè)腳本文件,內(nèi)容為“write-host'HelloWorld'”,保存在D:\test.ps1。如果用戶在該文件的圖標(biāo)上點(diǎn)擊右鍵,選擇“使用PowerShell運(yùn)行”,是可以作為主動(dòng)執(zhí)行的方式運(yùn)行該腳本文件的。如果在PowerShell命令行中直接輸入上述內(nèi)容,同樣可以運(yùn)行,如圖1的①所示。但是,受“執(zhí)行策略”的限制,在PowerShell命令行中無法直接運(yùn)行該腳本文件,如圖1 的②所示。然而,如果通過Get-Content方法讀取文件內(nèi)容,再將內(nèi)容通過管道作為PowerShell的輸入,則可繞過這一限制,如圖1的③所示。

圖1  在Pow erShell中執(zhí)行命令

即使用戶依然將“命令提示符”作為默認(rèn)的命令行環(huán)境,也同樣可以調(diào)用PowerShell來執(zhí)行腳本文件和命令。例如:(1)可以通過臨時(shí)修改“執(zhí)行策略”的方式運(yùn)行腳本文件;(2)可以將圖1在PowerShell中執(zhí)行命令經(jīng)過Base64編碼后的命令直接解碼執(zhí)行;(3)可以從網(wǎng)絡(luò)直接下載腳本文件并執(zhí)行;(4)經(jīng)過內(nèi)容混淆的命令依然可以執(zhí)行。上述事例分別如圖2的①~④所示。

圖2  在傳統(tǒng)的“命令提示符”中執(zhí)行Pow erShell命令

此外,PowerShell的很多安全機(jī)制需要3.0或更高的版本才能支持。然而,由于兼容性等原因,系統(tǒng)中可能同時(shí)存在多個(gè)版本的PowerShell。在高、低版本共存的環(huán)境下,即使默認(rèn)使用的是高版本,攻擊者也可能通過命令行參數(shù)調(diào)用低版本PowerShell,發(fā)起“降級攻擊”,從而繞過某些安全機(jī)制。

需要說明的是,PowerShell腳本的執(zhí)行權(quán)限和當(dāng)前用戶的權(quán)限是一致的。如當(dāng)前用戶具有系統(tǒng)管理員權(quán)限,且未通過Windows內(nèi)的用戶賬戶控制(UserAccountControl,UAC)進(jìn)行必要的防護(hù),則以該用戶權(quán)限執(zhí)行的PowerShell腳本就可能對系統(tǒng)造成非常大的危害。但是,即使當(dāng)前用戶是普通用戶,通過PowerShell腳本也能夠竊取該用戶有權(quán)訪問的所有文件,包括其工作文件和私人文件等。

四、 PowerShell攻擊的檢測

從上面的介紹可以看出,PowerShell腳本文件可以通過編碼、混淆、網(wǎng)絡(luò)下載、轉(zhuǎn)換為命令行命令等多種方式執(zhí)行。如果將這些方式復(fù)合起來,可以僅用一條命令就從網(wǎng)絡(luò)下載經(jīng)編碼和混淆的腳本文件并在本地運(yùn)行。這使得PowerShell攻擊不僅難以被發(fā)現(xiàn),還可能因?yàn)椴宦浔P存儲等原因難以被追蹤。但是,攻擊事件依然可能會在終端系統(tǒng)中留下一些痕跡,這為我們檢測攻擊事件提供了可能。下面介紹幾種檢測方法。

查看系統(tǒng)日志是最有效的檢測方法之一。Windows系統(tǒng)默認(rèn)會記錄包括PowerShell引擎啟動(dòng)事件等在內(nèi)的一些基礎(chǔ)日志。在系統(tǒng)的管理工具中找到“事件查看器”的圖標(biāo),或在命令行中運(yùn)行eventvwr.msc,打開“事件查看器”。然后在左側(cè)依次展開“應(yīng)用程序和服務(wù)日志—Windows PowerShell”,即可查看關(guān)于PowerShell的日志,如圖3所示。

圖3  查看Pow erShell的事件日志

在系統(tǒng)日志中,事件ID為400的事件表示引擎啟動(dòng)成功,403則表示引擎停止。用戶主動(dòng)打開PowerShell命令行,命令行加載時(shí)會生成400事件。如用戶通過命令行調(diào)用PowerShell執(zhí)行腳本文件,則會在腳本執(zhí)行開始時(shí)生成400事件,在腳本執(zhí)行完成時(shí)生成403事件。根據(jù)事件的時(shí)間,結(jié)合其他異常情況,可以對是否發(fā)生過PowerShell攻擊做出一定的判斷。此外,其他類型的事件日志也可以提供相應(yīng)的輔助參考。

系統(tǒng)默認(rèn)記錄的PowerShell事件類型是有限的,可通過修改系統(tǒng)策略的方法補(bǔ)充其他需記錄的事件類型。具體方法是:首先在系統(tǒng)的管理工具中找到“編輯組策略”的圖標(biāo),或在命令行中運(yùn)行g(shù)pedit.msc,打開“組策略編輯器”;然后依次展開“本地計(jì)算機(jī)策略—計(jì)算機(jī)配置—管理模板—Windows組件—WindowsPowerShell”,在右側(cè)選擇“啟用模塊日志記錄”,設(shè)置為“已啟用” ,并根據(jù)需要將相應(yīng)模塊名稱添加到列表中,如“Microsoft.PowerShell.* ”等;最后再在右側(cè)選擇“打開PowerShell腳本塊日志記錄”,設(shè)置為“已啟用”,并勾選下方的“記錄腳本塊調(diào)用啟動(dòng)/停止日志”。這些操作將進(jìn)一步豐富PowerShell日志的內(nèi)容,為分析后續(xù)可能發(fā)生的攻擊事件提供支持。

除了系統(tǒng)日志外,PowerShell攻擊還可能留下其他一些蛛絲馬跡。例如,有的PowerShell攻擊腳本需周期性執(zhí)行,或在終端開機(jī)時(shí)自動(dòng)運(yùn)行,那么系統(tǒng)的計(jì)劃任務(wù)列表和啟動(dòng)項(xiàng)中可能會保留有相應(yīng)的記錄,可通過相應(yīng)的管理工具或微軟提供的autoruns等工具進(jìn)行檢查。

此外,對于一些落盤存儲和執(zhí)行的PowerShell腳本,攻擊者為確保攻擊成功,通常會使用絕對路徑。因此,一些權(quán)限較低的目錄很可能成為惡意腳本文件臨時(shí)存儲的地方,特別是用戶的數(shù)據(jù)目錄(如C:\Users\用戶名\AppData下的各個(gè)子目錄)等。可以檢查相應(yīng)目錄中是否存在異常的腳本文件,特別是以ps1、psc1和psm1等為擴(kuò)展名的PowerShell腳本文件。必要時(shí),還可以通過數(shù)據(jù)恢復(fù)工具檢查相關(guān)目錄中是否存在被刪除的腳本文件。

五、針對PowerShell攻擊的防御方法

在Windows 7及更高版本的系統(tǒng)中,PowerShell是內(nèi)置組件,無法直接卸載。為了降低PowerShell攻擊的風(fēng)險(xiǎn)隱患,提高系統(tǒng)的安全性,可采取以下措施。

升級PowerShell 到更新版本。在命令行中運(yùn)行“Get-Host”即可查看當(dāng)前PowerShell的版本號。為使用PowerShell內(nèi)置的安全特性,建議升級到5.0 以上版本。

檢查是否存在舊版本。由于PowerShell支持多版本并存,即使已安裝高版本,也應(yīng)當(dāng)在命令行中嘗試運(yùn)行形如“PowerShell.exe -version 2 Get-Host”的命令,判斷系統(tǒng)中是否依然存在較低版本的PowerShell,避免“降級攻擊”。

檢查“執(zhí)行策略”是否已設(shè)置為“Restricted”。如果不是,可通過“Set-ExecutionPolicy Restricted”命令進(jìn)行設(shè)置。

限制PowerShell的語言模式。如僅需保留PowerShell最基本的運(yùn)行環(huán)境,不需要調(diào)用.Net 框架的類庫,則可限制PowerShell支持的語言種類。具體做法是,首先在系統(tǒng)的環(huán)境變量中添加名為“__PSLockdownPolicy”的變量,取值為“4”;然后可以在PowerShell命令行中輸入“$ExecutionContext.SessionState.LanguageMode” 進(jìn)行驗(yàn)證,如返回結(jié)果由“FullLanguage” 變?yōu)椤癈onstrainedLanguage”,則表明語言模式修改成功。此時(shí),大部分惡意程序都會因無法調(diào)用.Net 框架的類庫而無法正常運(yùn)行,從而不會對系統(tǒng)造成顯著破壞。

安裝殺毒軟件并定期升級。一些殺毒軟件能夠檢測PowerShell 腳本文件的惡意特征,有的還能夠在執(zhí)行PowerShell 腳本文件時(shí)發(fā)現(xiàn)其惡意行為,這也有助于防范惡意PowerShell 腳本的運(yùn)行。

對于Windows XP系統(tǒng),由于PowerShell是可選組件,如在日常工作中確實(shí)無需使用PowerShell的,還可通過控制面板中的“添加/刪除程序”功能卸載該組件。

與此同時(shí),用戶還應(yīng)提高辨別意識,養(yǎng)成良好的上網(wǎng)習(xí)慣,不訪問來路不明的網(wǎng)站、郵件及其附件,不運(yùn)行可疑的程序和腳本文件,定期更新殺毒軟件和系統(tǒng)補(bǔ)丁,防止PowerShell惡意腳本的植入和運(yùn)行。

(原載于《保密科學(xué)技術(shù)》雜志2020年2月刊)


国产精品久久久久久久网站_伊人久久精品影院_精品久久洲久久久久护士_亚洲精品高清国产一线久久
<tr id="i20gg"></tr>
<strike id="i20gg"></strike>
<samp id="i20gg"></samp>
  • <ul id="i20gg"></ul>
  • <strike id="i20gg"></strike>
  • <ul id="i20gg"><tbody id="i20gg"></tbody></ul>
    欧美中在线观看| 国产麻豆精品视频| 午夜精品美女久久久久av福利| 9i看片成人免费高清| 亚洲一区二区三区国产| 久久国内精品自在自线400部| 嫩草成人www欧美| 国产精品欧美在线| 亚洲人成毛片在线播放| 亚洲男人第一av网站| 美女视频一区免费观看| 国产美女一区二区| 亚洲另类自拍| 欧美在线日韩精品| 欧美日韩色婷婷| 在线观看日韩av先锋影音电影院| 亚洲一区欧美二区| 欧美日韩爆操| 亚洲黄色在线看| 久久精品视频在线观看| 欧美香蕉视频| 9色porny自拍视频一区二区| 久久久五月婷婷| 国产偷久久久精品专区| 亚洲综合好骚| 国产精品久久激情| 亚洲无线视频| 欧美深夜福利| 亚洲色图在线视频| 欧美三级电影精品| 一本大道久久a久久精二百| 欧美电影电视剧在线观看| 黄页网站一区| 久久久99国产精品免费| 国产拍揄自揄精品视频麻豆| 亚洲伊人色欲综合网| 欧美午夜免费| 亚洲欧美综合| 国产亚洲aⅴaaaaaa毛片| 亚洲免费一在线| 国产精品一区2区| 久久www成人_看片免费不卡| 国产午夜精品在线| 久久久亚洲午夜电影| 在线免费不卡视频| 欧美精品日韩三级| 亚洲一区二区三区在线播放| 国产精品羞羞答答| 欧美在线视频在线播放完整版免费观看| 国产精品激情偷乱一区二区∴| 亚洲欧美日韩中文视频| 国产亚洲观看| 久久天堂精品| 亚洲精品国产精品国自产在线| 欧美日韩国产二区| 午夜免费久久久久| 亚洲第一精品久久忘忧草社区| 欧美黄污视频| 午夜精品久久久久久久久久久| 国产午夜精品久久| 免费成人av在线看| 亚洲视频精品在线| 国外成人网址| 欧美日韩精品在线播放| 午夜精品福利一区二区三区av| 很黄很黄激情成人| 欧美精品一区二区三区蜜臀| 亚洲欧美成人综合| 亚洲大胆女人| 国产精品三级久久久久久电影| 久久香蕉国产线看观看av| 一本到高清视频免费精品| 国产日韩欧美一二三区| 欧美激情成人在线| 欧美中在线观看| 在线亚洲免费视频| 亚洲高清资源| 国产精品毛片va一区二区三区 | 亚洲视频电影在线| 国产三级欧美三级日产三级99| 免费不卡视频| 欧美一区二区免费视频| 亚洲精品一二三区| 精东粉嫩av免费一区二区三区| 欧美日韩国产三级| 免费成人在线视频网站| 午夜精品久久久久久久蜜桃app | 久久久久在线观看| 一本色道久久88综合日韩精品| 国产欧美在线| 欧美日韩在线观看视频| 免费成人网www| 久久九九国产精品怡红院| 在线亚洲欧美视频| 亚洲精品国产欧美| 韩国成人福利片在线播放| 欧美日韩一二三四五区| 欧美成黄导航| 麻豆精品视频| 久久综合影音| 久久久五月婷婷| 久久精品国产77777蜜臀| 亚洲性视频网址| 亚洲四色影视在线观看| 日韩图片一区| 亚洲精品欧美日韩| 亚洲精品一区二区网址| 亚洲激情精品| 最新日韩精品| 99综合精品| 99re66热这里只有精品4| 最新国产成人在线观看| 日韩写真在线| 一区二区欧美在线| 中文一区二区| 亚洲欧美亚洲| 久久在线免费视频| 欧美成人中文| 欧美图区在线视频| 久久综合色播五月| 麻豆精品视频| 欧美精品久久一区二区| 免费日韩av电影| 欧美黄在线观看| 欧美色网一区二区| 国产欧美精品一区aⅴ影院| 国产在线日韩| 亚洲精品综合| 午夜精品www| 久久综合狠狠综合久久激情| 欧美国产日本韩| 国产精品九九| 精品69视频一区二区三区| 亚洲精品视频免费在线观看| 亚洲午夜激情网站| 久久欧美中文字幕| 欧美日韩一区二区三区视频| 国产精品国码视频| 亚洲黄网站在线观看| 亚洲午夜三级在线| 欧美成人精品一区二区| 国产精品自在在线| 亚洲国产高潮在线观看| 亚洲伦理自拍| 久久黄金**| 国产精品av久久久久久麻豆网| 黄色成人av网站| 亚洲午夜精品在线| 麻豆精品国产91久久久久久| 国产精品一区二区久久久| 亚洲福利电影| 亚洲综合第一| 欧美乱妇高清无乱码| 国产亚洲精品久久久久久| 亚洲毛片在线看| 久久综合伊人| 国产精品ⅴa在线观看h| 激情成人在线视频| 亚洲免费小视频| 欧美精品亚洲| 国产亚洲观看| 亚洲午夜电影在线观看| 欧美国产综合| 国产伊人精品| 亚洲午夜精品| 欧美人交a欧美精品| 在线成人性视频| 亚洲综合精品一区二区| 另类激情亚洲| 国产综合久久久久久鬼色| 亚洲欧美日韩在线不卡| 欧美日韩精品在线播放| 亚洲精品资源| 欧美伦理影院| 9人人澡人人爽人人精品| 欧美激情一二三区| 亚洲精品在线观| 欧美日韩中文字幕| 在线亚洲一区观看| 欧美日韩视频在线观看一区二区三区| 亚洲国产成人在线| 欧美成人久久| 亚洲美女av在线播放| 欧美日韩不卡视频| 一区二区欧美激情| 国产精品女主播在线观看| 午夜精品久久久久久久白皮肤| 国产欧美一区二区白浆黑人| 欧美一区二区啪啪| 黄色国产精品| 欧美高清视频一区| 在线午夜精品自拍| 国产乱码精品1区2区3区| 欧美在线播放| 在线观看欧美日本| 欧美日韩视频在线一区二区观看视频| 在线视频精品一区| 狠狠色狠狠色综合| 欧美日韩国产bt| 午夜一区二区三区在线观看|