紅隊演練訓練環境
建立靶機環境與知識庫
透過上一篇文章,分析三十六個 Techniques 為範例,分析攻擊手法後作為紅隊演練的訓練,可以制定一套學習 Windows 的流程與進度表:
第零步:了解 Windows 歷史與文件
- Windows 版本與Windows 伺服器版本
- 各版本的差異與功能不同
- 已知弱點(如 CVE)也需要注意版本
第一步:了解基本指令的操作
分析 ATT&CK® 針對 Windows 相關的 Techniques,可以發現 APT 組織皆以 Cmd 或是 Powershell 作為攻擊媒介,因此可以針對兩種指令進行訓練。
可以針對 ATT&CK® 所使用的指令,進行學習,作為補充指令。
cmd 命令提示字元,可參考 初學者之卷 所撰寫的教學。
Powershell:可參考微軟官方文件。
Get-Help Command-Name
:取得幫助內容。Get-Command
了解目前主機安裝多少 cmdlet。Invoke-WebRequest
:送出請求,取得網頁內容。- 嘗試了解 APT 組織所使用的 PowerShell 指令
第二步:了解 Windows File System
- Logical drives:硬碟 C 槽
- 預設資料夾(PerfLogs、Program Files and Program Files (x86)、Users)
- 預設檔案(作業系統的程式碼)
了解這些預設資料夾的功能與預設檔案的功能。
第三步:Windows 權限檔案
權限主體分成 Users 跟 Group ,而可以設定的權限可以分成以下七個:
- Full control:允許使用者、群組設定資料夾與其他人的所有權限(修改、讀取、寫入、執行)。
- Modify:允許使用者和群組修改、讀取、寫入和執行檔案。
- Read & execute:允許使用者和群組讀取和執行檔案。
- List folders content:允許使用者和群組列出資料夾內容,含子資料夾。
- Read:僅允許使用者和群組讀取檔案。
- Write:允許使用者和群組寫入指定資料夾。
- Special permissions:特殊存取權限。
使用 icacls 檢查檔案權限和資料夾權限:
- I:從父容器繼承的權限
- F:完全控制
- M:修改權限
- OI:對象繼承
- IO:僅繼承
- CI:容器繼承
- RX:讀取並執行
- AD:追加子資料夾
- WD:寫入資料
第四步:Windows 身分驗證
驗證身分該使用者的合法性。
- 身分驗證帳戶:本機使用者帳戶和系統管理員帳戶。
登入概念
- 認證:確認身分過程,認證 = 憑證 + 驗證
- 授權:該使用者可以做什麼操作與可以存取什麼資源。
- 憑證:身分證明:系統使用者帳號和密碼
驗證階段透過 Local Security Authority(本機安全性驗證),管理本機安全性原則,進行驗證。
- 了解 Windows 驗證的原理與流程
- Windows 內建帳號與群組的關係
net
指令的相關應用- Windows 密碼與雜湊(NTLM)
第五步:Windows 內建功能
一、Computer Management:電腦管理
- 工作排程器:可以指定特定條件自動執行定義與操作。
- 事件檢視器:查看 windows Log 相關事件(成功、失敗登入事件與系統錯誤),可以將 Log 轉發到 SIEM 中確認惡意動作。
- 共用資料夾:在網路上共享可以被多個使用者存取的目錄或資料夾。
- 本機使用者和群組:可以新增使用者,可以管理群組。
- 效能:監視設備的 CPU 使用率、記憶體使用率。
- 裝置管理器:硬體管理,網路介面卡、滑鼠、韌體。
- 磁碟管理:可以縮小、擴展、新增分區並格式化。
- 服務和應用程式:可以檢查系統上正在執行的服務,啟動、停止、重新啟動。
二、Local Security Policy:本機安全性原則
三、Disk Cleanup
四、Registry Editor
Win + R + RegEdit
五、Registry Editor (Regedit)
第六步:Windows Server
了解 Windows Server 的伺服器可衍生出多種功能。
第七步:Windows Log
Windows 預設路徑 C:\Windows\System32\winevt\Logs
。
三種查看 Windows 事件的工具
- Event Viewer
- Wevtutil.exe
- Get-WinEvent
五種 Windows 紀錄的事件
- 關閉 Windows IIS HTTP Logging 的手法
C:\Windows\System32\inetsrv\appcmd.exe set config “website_name” /section:httplogging /dontLog:true
第八步:Active Directory
了解 Active Directory 與 Azure Active Directory 的差別,以及驗證方式的不同。
Active Directory
- NTLM
- LDAP / LDAPS
- KERBEROS
Azure Active Directory
- SAML(安全性聲明標記語言)
- OAUTH 2.0
- OpenID連接
第九步:惡意腳本撰寫
分析 APT 組織所撰寫的惡意腳本內容,並學習該程式語言以及了解惡意腳本執行方式與內容。
- PowerShell
- VBScript
- JavaScript
以上為透過分析 Techniques 初步制定紅隊演練的學習流程,可以再繼續透過分析 Technique 了解更多攻擊手法,將紅隊演練的知識樹擴展。
參考網址
- https://github.com/redcanaryco/atomic-red-team/
- https://blog.malwarebytes.com/threat-analysis/2020/02/fraudsters-cloak-credit-card-skimmer-with-fake-content-delivery-network-ngrok-server/
Terms of use
- MITRE ATT&CK® and ATT&CK® are registered trademarks of The MITRE Corporation.