国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

企業(yè)活動目錄域服務安全防護措施研究

2021-01-08 08:43:40張德政
信息安全研究 2021年1期
關鍵詞:域控制器組策略攻擊者

李 東 張德政

(核工業(yè)計算機應用研究所網(wǎng)絡安全研究室 北京 100048)

(lidong@cnnc.com.cn)

域是一個計算機群體的組合,是一個相對嚴格的組織,而域控制器則是這個域內(nèi)的管理核心.而目錄服務是由目錄服務數(shù)據(jù)庫和目錄訪問協(xié)議組成.以上構成了域環(huán)境.由于活動目錄域服務能夠實現(xiàn)企業(yè)資產(chǎn)的統(tǒng)一管理,所以很多企業(yè)選擇這種方式管理網(wǎng)絡資產(chǎn).

在網(wǎng)絡攻防中,對活動目錄域服務的滲透是攻防雙方的必爭之地.活動目錄域服務的失陷,意味著企業(yè)網(wǎng)絡的全部淪陷,同樣,域控制器的失陷也意味著企業(yè)整個網(wǎng)絡的失陷.目前企業(yè)實際安全運營中沒有有效的、一勞永逸的方法解決活動目錄域服務的安全問題,而有關活動目錄域服務的漏洞還在不斷地出現(xiàn).

本文將以攻擊者視角,找尋活動目錄域服務常見攻擊方法,并按照全生命周期各關鍵環(huán)節(jié)進行歸類,形成完整攻擊鏈條.并針對不同環(huán)節(jié)不同類型的常見攻擊方法,探討企業(yè)依據(jù)PDCA循環(huán),依次開展域環(huán)境加固、流量監(jiān)測、日志分析及安全檢查等全生命周期安全防護措施,以實現(xiàn)降低活動目錄域服務安全風險的目的.

1 活動目錄域服務攻擊方法

活動目錄域服務攻擊沿用傳統(tǒng)的攻擊滲透思路,主要涵蓋預攻擊階段(準備期)、域服務攻擊階段(攻擊期)、后攻擊階段(維持期),其中,結合活動目錄域服務特點及企業(yè)使用習慣,攻擊階段思路又可細分為票據(jù)盜取階段、權限提升階段、橫向移動階段.

1.1 預攻擊階段(準備期)

1) 利用SYSVOL漏洞收集密碼

域管理員在使用組策略批量管理域內(nèi)主機時,如果配置組策略的過程中需要填入密碼,那么該密碼會被保存到共享文件夾SYSVOL下,默認所有域內(nèi)用戶可訪問,雖然密碼通過AES 256進行加密,但密鑰是公開在微軟官網(wǎng)的[1],一旦攻擊訪問共享文件夾SYSVOL文件并獲得密碼加密后的密文,是能夠將密文解密并還原密碼的.這個密碼的泄露會威脅到活動目錄域服務安全性.

2) 通過SAMR協(xié)議探測

SAMR協(xié)議即Security Account Manager Remote Protocol[2].在進行域滲透過程中攻擊者使用的net user,net time等等DOS命令利用此協(xié)議,攻擊者能夠查詢到域控制器、管理員等重要信息.

3) SPN掃描

服務主體名稱(service principal names, SPN)是服務實例(可以理解為一個服務,比如HTTP,MSSQL)的唯一標識符.SPN將服務實例與服務登錄賬戶相關聯(lián).SPN可以注冊在機器賬戶下和域用戶賬戶下[3].SPN掃描是對活動目錄域服務中應用服務的信息收集.

1.2 域服務攻擊階段(攻擊期)

1) 票據(jù)盜取

① 利用MS14-068漏洞:MS14-068漏洞是Microsoft Windows Kerberos KDC漏洞.CVE編號為CVE-2014-6324.該漏洞允許攻擊者提升任意普通用戶權限成為域管理員(domain admin)身份,提升到域管理員權限后即可訪問域控制器,進而獲得域內(nèi)所有主機的票據(jù)[4],實現(xiàn)全域控制.

② 獲取NTDS.dit文件:NTDS.dit文件是主要的AD數(shù)據(jù)庫,該數(shù)據(jù)庫存儲有關域用戶、組和組成員身份的信息,還包括域中所有用戶的密碼哈希值.攻擊者通過調(diào)用Volume Shadow Copy服務能夠完成NTDS.dit文件的拷貝,進而破解域內(nèi)所有域用戶的密碼.

③ AS-REP Roasting:當域用戶賬戶選項設置為不需要Kerberos預身份驗證(Kerberos版本5之前允許不使用密碼進行身份認證)時,攻擊者可以發(fā)起AS-REP Roasting攻擊,從而獲取賬戶密碼的哈希值,進行離線破解[5].

④ Kerberoasting:某些情況下,用戶賬戶被創(chuàng)建為“服務賬戶”并注冊為服務主題名稱.由于密鑰分發(fā)中心(key distribution center,KDC)不執(zhí)行服務授權,因此域內(nèi)任何人都可以請求任何服務的TGS(票證授予服務).這意味著,如果用戶“服務賬戶”已注冊為SPN,則任何人都可以通過請求某個服務的TGS,獲得該服務密碼哈希,通過對該哈希的離線破解,能夠獲得該用戶賬戶密碼[6].

⑤ DCSync:DCSync是mimikatz在2015年添加的一個功能,能夠用來導出域內(nèi)所有用戶的哈希值.但是只有Domain Controllers和Enterprise Domain Admins權限能夠使用DCSync.我們也可以對域內(nèi)普通用戶添加ACL,實現(xiàn)普通用戶調(diào)用DCSync導出域內(nèi)所有用戶的哈希值.DCSync是利用DRS(directory replication service)協(xié)議從域控制器復制用戶憑據(jù)實現(xiàn)的[7].

2) 權限提升

① 修改訪問控制列表(ACL):攻擊者通過PowerView等工具,能夠修改某些用戶的GenericAll,GenericWrite,WriteDACL,WriteOwner等權限,從而實現(xiàn)某些用戶的權限提升[8].

② 新增組策略:通過新增組策略,攻擊者能夠在域控制器上以管理員身份運行腳本,以達到權限提升的目的.也可以通過新增組策略,人為地“制造”SYSVOL漏洞,從而達到預留后門的目的.

3) 橫向移動

① 賬戶暴破和遠程登錄:攻擊者可以使用Metasploit,Nmap,Rubeus,Kerbrute等工具,對Kerberos協(xié)議用戶賬戶進行暴力破解[9],也可以對域環(huán)境內(nèi)開放3389端口、22端口的主機進行暴力破解,從而進行遠程登錄.

② 遠程代碼執(zhí)行:遠程代碼執(zhí)行一般是在已知目標憑據(jù)的情況下,獲得目標計算機的shell.PsExec,wmi_exec,smb_exec,PsRemoting等工具能夠進行遠程代碼執(zhí)行,這些工具特點和使用場景不盡相同,需要根據(jù)實際條件靈活運用.域環(huán)境中利用Windows系統(tǒng)遠程代碼執(zhí)行漏洞也可以較好實現(xiàn)橫向移動,比如利用MS17-010漏洞.

1.3 后攻擊階段(維持期)

1) DSRM重置

每個域控制器都有一個本地管理員賬戶,而這個賬戶也是目錄服務還原模式(DSRM)賬戶.DSRM的密碼是在DC安裝時就需要設置,并且很少會被重置.利用DSRM密碼同步機制,能夠建立后門賬戶,并且擁有域管理員權限[10].

2) SSP后門

SSP(security support provider)又名Security Package,即使用動態(tài)鏈接庫來實現(xiàn)身份認證功能.Local Security Authority進程用于身份認證,常見進程為lsass.exe.特別的地方在于LSA是可擴展的,在系統(tǒng)啟動時SSP會被加載到進程lsass.exe中,而攻擊者可以自定義一個dll,在系統(tǒng)啟動時被加載到進程lsass.exe中,從而捕捉密碼,并記錄在特定目錄文件中[11].

3) SID歷史屬性修改

每個用戶賬號都有一個關聯(lián)的安全標識符(SID),SID用于跟蹤安全主體在訪問資源時的賬戶與訪問權限.為了支持AD牽移,微軟設計了SID歷史屬性,SID歷史允許一個賬戶的訪問被有效地克隆到另一個賬戶.可以利用SID歷史屬性將域管理員的SID賦值給普通用戶,從而實現(xiàn)權限維持[12].

4) Skeleton Key

Skeleton Key能夠讓所有域用戶使用同一個萬能密碼進行登錄,而現(xiàn)有的所有域用戶使用原密碼仍能繼續(xù)登錄.該后門重啟后失效[13].Skeleton Key一般被安裝在64 b的域控制器上.

5) 黃金票據(jù)

密鑰分發(fā)中心(KDC)在發(fā)布TGT(ticket granting ticket)時,TGT使用KRBTGT賬戶密碼哈希進行加密.默認情況下,KRBTGT密碼不會手動設置.黃金票據(jù)原理是攻擊者盜用KRBTGT密碼偽造TGT憑據(jù)[14].

6) 白銀票據(jù)

白銀票據(jù)主要的目的是偽造服務Kerberos認證體系中的服務票據(jù).為了創(chuàng)建或偽造白銀票據(jù),攻擊者必須獲得目標服務賬號的密碼哈希值.對于設置了SPN的服務賬戶,攻擊者可以為該SPN生成白銀票據(jù),進而訪問該服務[15].

2 活動目錄域服務防護措施

針對活動目錄域服務攻擊方法,本文將依照PDCA循環(huán)方法,參照Plan(計劃)、Do(執(zhí)行)、Check(檢查)和Action(處理)標準,針對活動目錄域服務各薄弱環(huán)節(jié)設計安全防護措施.

2.1 活動目錄域服務安全措施實施計劃

在企業(yè)中,考慮到域控制器的重要性和穩(wěn)定性,針對域控制器的安全防護措施,應制定明確的目標、實施路徑及可執(zhí)行的災難恢復預案,實施手段應包括但不限于漏洞修復、策略調(diào)整、訪問控制、日志審計等.

2.2 活動目錄域服務環(huán)境安全加固

1) Windows系統(tǒng)補丁

截至目前,已公開披露的Windows活動目錄域服務補丁主要包括KB2962486,KB2871997,KB3011780,KB3004375等,主要涉及組策略首選項漏洞、MS14-068漏洞、CMD命令行漏洞等各類問題.因此,在開展安全加固的初期應優(yōu)先進行打補丁操作,解決此類漏洞問題及功能性薄弱問題,以盡最大可能降低系統(tǒng)失陷風險.

2) 白銀票據(jù)防護

建議通過開啟PAC(privileged attribute certificate)特權屬性證書保護功能防御白銀票據(jù)攻擊.PAC會使KDC驗證收到的票據(jù)是否有效,從而使偽造的票據(jù)無法使用[16].

3) 本地管理員憑證加固

通過限制本地賬戶網(wǎng)絡登錄,能夠有效防護攻擊者橫向移動.同時建議每臺域內(nèi)主機使用唯一的密碼,可以通過本地管理員密碼解決方案(LAPS)解決[17].

4) PowerShell安全防護

PowerShell作為微軟Windows系統(tǒng)自帶命令行工具,為域管理員提供強有力的支持的同時,也為攻擊者提供了強大的利用平臺.目前很多后滲透平臺的開發(fā)環(huán)境都是基于PowerShell.

我們可以利用PowerShell環(huán)境本身的安全功能,能夠快速降低域環(huán)境的安全風險.利用PowerShell的腳本快日志查詢功能和設置系統(tǒng)級記錄,能夠及時發(fā)現(xiàn)域環(huán)境中的攻擊行為;通過約束PowerShell執(zhí)行環(huán)境,能夠在一定程度上限制PowerShell腳本的執(zhí)行,從而增加攻擊者的攻擊成本和時間[18].

5) 限制域間主機訪問

限制域間主機訪問主要是防止攻擊橫向移動.首先對域中的主機,根據(jù)實際業(yè)務需求,使用Windows防火墻限制入站流量,主要是對3389,22等遠程管理端口進行控制.如果確實需要3389遠程管理主機,可以使用RDP受限管理模式進行RDP協(xié)議訪問的控制.

6) 域控制器主機防護

域控制器的防護是重中之中,有條件的企業(yè)可以將域控制器放置于單獨的物理空間,首先確保其物理安全.其次,在域控制器上不要安裝與域控制器功能無關的軟件,避免引入其他風險.最后,域控制器的操作系統(tǒng)最好保持最新并做相應的加固,并且域控制器不要訪問互聯(lián).通過以上措施能有效減少域控制器失陷的風險.

2.3 活動目錄域服務安全監(jiān)測

1) 日志監(jiān)測

在進行活動目錄域服務日志監(jiān)測之前,在域控制器和域內(nèi)主機配置合理的審核策略是必要的,這里推薦微軟官方的活動目錄域服務審核策略[19].配置好審核策略后,結合活動目錄域服務常見的攻擊方法,建議對如下事件進行重點監(jiān)測.在實際日志監(jiān)控工作中,應不拘泥于如下事件(如表1所示),可以擴大監(jiān)控范圍,以達到更好的監(jiān)控效果[20].

表1 事件ID與攻擊手段關系表

在對事件ID為4688的事件進行監(jiān)測時,尤其要關注一些PowerShell命令的關鍵字,這些關鍵字都是惡意PowerShell命令行經(jīng)常使用的.比如:“.NetWeb Client download” “EncodedCommand“ “Invoke-Expression”“iex” “Bypass” “-enc”等.具體PowerShell命令行功能還要根據(jù)實際命令行含義判斷是否為惡意的.

2) 流量監(jiān)測

活動目錄域服務流量監(jiān)測主要是對攻擊特征流量進行監(jiān)測,很多攻擊在進行Kerberos協(xié)議攻擊時會留下細微的特征.判斷實際攻擊時最好結合流量監(jiān)測和日志監(jiān)測2個結果共同判斷.表2是部分Kerberos攻擊的流量特征[21].

表2 部分Kerberos協(xié)議攻擊流量特征表

2.4 活動目錄域服務安全檢查

1) 域賬戶檢查

檢查未更改初始密碼的域賬戶,對這類賬戶應督促用戶盡快修改默認密碼.檢查一段時間內(nèi)未登錄的賬戶,若確定為無效賬戶,應及時清理.檢查配置可逆加密、密碼永不過期和不需要密碼的賬戶,對這類賬戶進行合理配置.檢查啟用DES Kerberos加密、不需要Kerberos預認證和配置SID歷史記錄的賬戶,根據(jù)實際業(yè)務需要對這類賬戶進行配置.

2) 密碼策略檢查

域密碼策略確定密碼的創(chuàng)建方式以及需要更改的頻率等.活動目錄域服務默認密碼最少為7個字符,建議密碼長度設置為14~16個字符.

3) Active Directory重復服務主體名稱(SPN)

Kerberos服務主體名稱(SPN),用于通過服務賬戶將支持Kerberos身份驗證的服務器上的服務連接起來.如果存在重復的SPN,則由于域控制器無法識別與SPN關聯(lián)的單個賬戶,因此Kerberos身份驗證會中斷.身份驗證將需要回退到NTLM身份驗證.如果身份認證機制從Kerberos機制回退到NTLM身份驗證機制,安全風險將大大增加.

4) 組策略首選項密碼

組策略首選項于2008年發(fā)布,其具有提供和更新憑據(jù)的功能.這些憑據(jù)使用靜態(tài)密碼的AES256加密,并且能夠被破解.具有組策略首選項功能的憑證有Drives.xml,DataSources.xml,Services.xml,Printers.xml等.應確保SYSVOL中沒有組策略首選項密碼.

5) Active Directory管理員賬戶檢查

我們應著重于識別“AD Admins”,其中包括Domain Administrators組、Domain Admins、Enterprise Admins等成員.這些賬戶具有完整的AD權限,需要仔細檢查.應確保這些管理員賬戶密碼定期修改,并停用無效賬戶,刪除禁用賬戶,確保與人相關聯(lián)的賬戶沒有SPN.

6) 使用舊密碼的域管理員

使用舊密碼的Active Directory Admin賬戶(尤其是5年以上的舊密碼)容易受到密碼噴霧(和密碼猜測)的攻擊.應確保特權賬戶每年更改1次.

7) 檢查默認域管理員賬戶是否存在問題

應檢查管理員組、域管理員組、企業(yè)管理員組、服務操作員組和賬戶操作員的權限.應把檢查結果和默認權限進行對比,從而發(fā)現(xiàn)異常.

8) Krbtgt密碼定期更改

Krbtgt賬戶是域服務賬戶.該賬戶已禁用,但用于發(fā)布Kerberos票證.設置的密碼在創(chuàng)建后幾乎不會更改.如果攻擊者獲得了該密碼,他們就可以創(chuàng)建黃金票據(jù).建議每年更改此密碼2次.域管理員離開后該密碼需變更.

9) 檢查組策略對象權限

我們應檢查具有能夠更改權限組策略對象(GPO)的賬戶,確保GPO所有者只為Domain Admins或Enterprise Admins組成員.

10) 查看域權限

應該檢查域權限是否配置正確.查看域根權限時要特別注意具有GenericAll(完全控制)、WriteDACL(更改權限)、write屬性(修改)權限和任何非默認管理組(域管理員、域管理員、Enterprise Admin等)擴展權限.

3 結束語

從某種意義上來說,Windows域服務是企業(yè)重要的信息基礎資源,它給企業(yè)信息化及日常運營管理帶來高效和便捷的同時,也產(chǎn)生了不同程度的安全隱患,且隨著攻擊者對域服務認識的提高及攻擊滲透手段的不斷變化,域服務安全隱患將一直存在,無法根治.如何有效地降低及控制Windows域服務安全隱患帶給我們的危害.本文模擬黑客攻擊滲透思路,采用常見的活動目錄域服務攻擊方法,找出域服務運行使用過程中的薄弱環(huán)節(jié).依據(jù)PDCA循環(huán)方法,有針對性提出安全防護措施,并引入日常安全運營工作各環(huán)節(jié)中,形成通用的、可復制推廣的安全防御思路.

猜你喜歡
域控制器組策略攻擊者
基于微分博弈的追逃問題最優(yōu)策略設計
自動化學報(2021年8期)2021-09-28 07:20:18
靈活備份GPO 組策略
處理域控制器時間誤差
正面迎接批判
愛你(2018年16期)2018-06-21 03:28:44
基于軟件定義網(wǎng)絡的分層式控制器負載均衡機制
修復域控制器故障
檢測組策略故障
轉移域控角色到中轉服務器
有限次重復博弈下的網(wǎng)絡攻擊行為研究
組策略用戶配置應用大全
時代金融(2012年20期)2012-04-29 19:23:48
平昌县| 建平县| 梁平县| 泾川县| 尼玛县| 荣成市| 朔州市| 永川市| 北辰区| 江都市| 南木林县| 无棣县| 小金县| 张家口市| 黎川县| 石渠县| 广宁县| 谷城县| 金塔县| 兴隆县| 彰化县| 林周县| 高唐县| 唐海县| 临邑县| 北京市| 沙坪坝区| 竹溪县| 平定县| 金阳县| 阜宁县| 达州市| 林西县| 彭州市| 兰坪| 绥芬河市| 青川县| 新竹县| 栾城县| 东乡族自治县| 新民市|