前面一週,我們利用 Wazuh FIM 建立了 Honeyfile,成功偵測:
檔案遭到修改
↓
Wazuh FIM
↓
產生 Alert
從今天開始,我們要進入另一個階段:
SSH 暴力破解攻擊偵測。
不過在真正開始攻擊之前,我想先了解一個資安領域很常出現的框架:
MITRE ATT&CK
因為之後在 Wazuh Dashboard 裡,我們也會看到 MITRE ATT&CK 相關資訊。
MITRE ATT&CK 是一套整理攻擊者行為的知識框架。
它不是單純列出:
病毒 A
病毒 B
漏洞 C
而是試著描述:
攻擊者進入系統後,可能會使用哪些方法完成他的目的?
因此我們可以把實際觀察到的攻擊行為,對應到 ATT&CK 中的分類。
例如:
攻擊者行為
↓
SSH 不斷嘗試密碼
↓
MITRE ATT&CK
↓
T1110 - Brute Force
這樣不同的資安工具與分析人員,就可以使用比較一致的方式描述攻擊行為。
剛開始看 MITRE ATT&CK 時,我最容易搞混的就是:
Tactic
Technique
可以簡單理解成:
代表攻擊者:
「想要達成什麼目的?」
例如取得帳號密碼,就屬於:
Credential Access
代表攻擊者:
「使用什麼方法達成目的?」
例如:
Credential Access
↓
Brute Force
↓
T1110
所以 T1110 Brute Force 是 Technique,不是 Tactic。
Brute Force 可以理解成:
透過反覆嘗試帳號或密碼,希望找到可以成功登入的 Credential。
例如攻擊者已經知道帳號:
user
接著不斷嘗試:
user : 123456
user : password
user : admin123
user : qwerty
user : password123
只要其中一組成功,就可能取得系統存取權限。
MITRE ATT&CK 將這類行為歸類為:
T1110 - Brute Force
而它屬於:
Credential Access
也就是「取得帳號憑證」這個攻擊目的。
T1110 底下還可以再分成不同的 Sub-technique:
| ID | Technique |
|---|---|
| T1110.001 | Password Guessing |
| T1110.002 | Password Cracking |
| T1110.003 | Password Spraying |
| T1110.004 | Credential Stuffing |
例如:
一個帳號
↓
嘗試很多不同密碼
則比較像:
一個常見密碼
↓
嘗試很多不同帳號
兩者看起來很像,但攻擊方式其實不太一樣。
SSH 通常使用:
TCP Port 22
它可以讓管理者遠端登入 Linux Server。
但如果 SSH 開放密碼驗證,攻擊者也可能反覆嘗試帳號與密碼。
例如:
Windows 攻擊機
↓
SSH Login
↓
Ubuntu Server
↓
帳號 / 密碼錯誤
↓
登入失敗
↓
再次嘗試
大量登入失敗累積起來,就可能形成值得注意的 Brute Force 行為。
這就是接下來幾天真正要研究的問題。
Wazuh 並不是看到:
SSH
就直接判斷:
攻擊!
而是需要經過一連串流程:
SSH 登入失敗
↓
Linux Authentication Log
↓
Wazuh Agent
↓
Decoder
↓
Rule
↓
多次事件關聯
↓
Brute Force Alert
↓
MITRE ATT&CK T1110
因此接下來我們不會馬上研究 Wazuh Rule。
而是先從最源頭開始:
當 SSH 密碼輸入錯誤時,Linux 到底記錄了什麼?
接下來幾天會使用目前的實驗環境:
Windows
攻擊端
│
│ SSH
▼
Ubuntu Server
Wazuh Agent
│
▼
Wazuh Manager
│
▼
Wazuh Dashboard
Windows 會負責模擬攻擊來源。
Ubuntu 則是被監控的端點。
最後觀察 Wazuh 能不能從大量 SSH 登入失敗中,判斷出可能的暴力破解行為。
今天還沒有真正開始攻擊,而是先理解 MITRE ATT&CK 如何描述接下來要測試的行為。
最重要的關係就是:
MITRE ATT&CK
↓
Credential Access
↓
T1110 - Brute Force
↓
T1110.001 - Password Guessing
接下來就要開始往 Linux 登入機制深入。
因為 Wazuh 想要發現 SSH Brute Force,第一步一定是:
系統必須先留下登入失敗的紀錄。
下一篇會先故意輸入錯誤的 SSH 密碼,然後直接到 Ubuntu 查看登入紀錄。
看看一個簡單的:
Permission denied
背後到底留下了哪些資訊。
等我們看懂原始 Log 之後,才開始研究 Wazuh 到底怎麼把這些 Log 變成資安警報。