美創科技為了更好地進行入侵檢測和防御,參照各種安全威脅框架和自身的實踐與思考,提出了基于入侵生命周期的攻擊管理模型,作為美創新一代安全架構的三大支柱之一。
入侵生命周期v1.0把入侵過程劃分為7個階段:探索發現、入侵和感染、探索感知、傳播、持久化、攻擊和利用、恢復。入侵生命周期v1.0同樣以ATT&CK作為基本戰術知識庫,匹配到不同的入侵階段。需要注意的是,并非所有的入侵都會經歷這7個階段,也沒有絕對的線性次序。
1)探索發現
在這個階段中,攻擊者會先鎖定攻擊對象,然后利用某些技術手段,盡可能多地獲取目標暴露出來的信息,如通過端口掃描、指紋探測等方式,發現敏感端口及版本信息,進而尋找攻擊點,為下一步入侵做準備。
2)入侵和感染
在這個階段,攻擊者會根據“探索發現”階段所發現的重要信息,來對目標暴露出的攻擊面進行攻擊嘗試,在“探索發現”階段收集到的信息越多,攻擊對象所暴露的攻擊面也就越多,攻擊更易成功。
3)探索感知
攻擊者在成功進入系統內部后,由于是首次進入所以會出現對內部環境不熟悉的情況,這時攻擊者的動作一般會是對當前所處環境進行探索,摸清內部大致的網絡結構,常常伴隨著被入侵本機的敏感信息收集以及對內網大量的端口進行掃描,后續根據攻擊者的目的進行下一步操作。
4)傳播
在此階段,攻擊者根據上一階段在內網探索感知收集到的信息,選擇特定的攻擊手法。如若發現內部是域環境,攻擊者可能會嘗試先攻破域控服務器,再傳播其他機器。若是工作組環境,可能會利用收集到的端口和服務信息,選擇特定漏洞進行批量掃描攻擊,來盡可能多地繼續獲得其他計算機的控制權。
5)持久化
攻擊者在對資產進行惡意操作后,為了能夠減少再次連接的攻擊成本,方便下次進入,會進行“留后門”的操作,常見的后門如:建立計劃任務,定時連接遠程服務器;設置開機啟動程序,在每次開機時觸發執行特定惡意程序;新建系統管理員賬號等。這樣便于攻擊者下次快速登錄并控制該系統。
6)攻擊和利用
攻擊者在此階段便會開始對目標資產進行惡意操作,按照攻擊者意愿,對能利用的數據進行竊取、利用;對操作系統、敏感文件進行破壞、刪除。所有的防御手段都應該極力阻止攻擊者進行到這一階段。
7)恢復
攻擊者在執行所有的攻擊操作時,往往會在系統上留下大量的行為日志,因此在這一階段,攻擊者會對記錄自身痕跡的所有日志進行處理,或刪除或混淆,從而消滅證據,逃避追蹤。
本系列文章基于美創科技入侵生命周期1.0架構,細分各階段攻擊者的常用攻擊手段,并對相關攻擊手段的具體實施方式進行逐一剖析,為安全防御建設提供有力知識補充和反制準備。
遠程服務會話劫持攻擊(傳播)
當用戶使用有效憑證登錄主機時,如telnet、ssh、rdp等,主機將會建立一個會話,用來保持用戶與主機的遠程連接。攻擊者劫持這些會話,在沒有用戶憑證的情況下以用戶身份遠程登錄目標主機,從而利用用戶身份進行橫向移動等攻擊。
從攻擊者的角度來分析,遠程服務會話劫持攻擊的意義在于,攻擊者在成功入侵一臺主機后,即使沒有其他用戶的憑證,也可以從當前用戶劫持其他用戶的遠程服務會話,從而獲取更多用戶的控制權以及信息。
根據攻擊者的入侵流程和操作手段,利用遠程服務會話劫持進行攻擊在入侵過程的成功入侵之后,可以幫助攻擊者在入侵成功后執行惡意操作,從入侵生命周期角度分析,遠程服務會話劫持攻擊可作用于傳播階段、攻擊和利用階段、持久化階段。在傳播階段,攻擊者通過遠程服務會話劫持,進行橫向獲取更多主機用戶的控制權限。
從攻擊行為鏈條的上下文來看,針對遠程服務會話劫持的行為鏈條輸入輸出如下:
輸入:可以進行遠程服務會話劫持的惡意工具或者自帶服務、執行的命令操作
輸出:其他用戶的遠程服務會話
根據不同攻擊思路,攻擊者利用遠程服務會話劫持進行攻擊的手法通常有3種:
1. 管理員身份使用cmd創建一個使用系統級權限執行tscon的服務進行RDP劫持使用
管理員身份登錄,并添加一個普通用戶
開啟RDP遠程桌面服務,并添加新建的hijack用戶
使用新建的hijack用戶進行遠程桌面連接,連接成功后關閉
cmd執行query user命令可以查詢登錄會話
cmd執行sc create rdphijack1 binpath= "cmd.exe /k tscon 2/dest:console"命令
創建一個使用系統級權限執行tscon的服務,將劫持ID為2的會話。
cmd執行sc qc rdphijack1命令,查詢創建的服務配置
cmd執行sc start rdphijack1命令,可以成功切換到hijack用戶的遠程桌面會話,無需使用hijack用戶的有效憑證
2. 管理員身份運行mimikatz.exe進行RDP劫持
添加用戶以及遠程連接的步驟與上面一致
mimikatz執行ts::sessions命令
mimikatz執行privilege::debug命令,進行權限提升
mimikatz執行token::elevate
mimikatz執行ts::remote /id:1命令,可以成功切換到hijack用戶的遠程桌面會話,無需使用hijack用戶的有效憑證
3. 管理員身份運行微軟官方程序Psexec進行RDP劫持
添加用戶以及遠程連接的步驟與上面一致
下載微軟官方程序Psexec
https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec
cmd執行PsExec64.exe -s \\localhost cmd命令進行本地權限提升
然后依次執行
query user
tscon 1 /dest:console