Technical Aspects of Cyber Kill Chain === ###### tags: `論文研討` `2015` --- ## Abstract(摘要) - Cyber kill chain是一條攻擊鍊 - 入侵者會按每個時間點滲透不同的目標系統 --- ## Introduction(前言) - kill chain 主要是描述APT的過程 --- ## Cyber kill chain(網路攻擊鍊) - 針對黑客的個人或組織發動的攻擊進行建模分析 - 主要有七個階段組成 - 每個階段都是龐大的研究 --- ## Cyber kill chain(網路攻擊鍊)(續) ```flow op1=>operation: Reconnaissance(偵查) op2=>operation: Weaponize(武器化) op3=>operation: Delivery(部屬武器) op4=>operation: Exploitation(攻擊) op5=>operation: Installation(安裝/植入) op6=>operation: Command and Control(命令控制) op7=>operation: Act on Objective(後續動作) op1->op2->op3->op4->op5->op6->op7 ``` --- ## Technical aspects of cyber kill chain(網路攻擊鍊的技術方面) - 研究攻擊鍊有助於識別或緩解網路威脅 - 下面將介紹歷年的網路攻擊與惡意程式 --- ## Reconnaissance(偵查) - 被動 - 主要為收集目標相關資訊,並且不讓受害者知道 - 主動 - 泛指可能被對方知曉的收集方式 --- ## Reconnaissance(偵查)(續) - 被動: 域名查找, whois, 社群網站, 等公開情資 - 主動: ping, 掃描端口或服務, 釣魚郵件, 社交工程 ![](https://i.imgur.com/LQJ7iOF.png =60%x60%) --- ## Weaponize(武器化) - 此階段主要目的為利用偵查收集後的訊息來設計後門等惡意程式與滲透計劃 - 主要為以下兩類 - RAT(remote access tool)(遠端存取工具) - Exploit(漏洞利用) --- ## Weaponize(武器化)(續) - RAT 開發RAT主要的限制為病毒檢測與擴展性,通常以PHP、C++、JAVA撰寫 - 功能: 系統目錄瀏覽、檔案上傳下載、遠端執行、螢幕截圖、提權 - Client: 被放置在受害端,主要目的為向C2取得命令,通常用組合語言編譯成shellcode執行,有的也會使用C編譯 - Server: 利用UI控制受害端 --- ## Weaponize(武器化)(續) - Exploit 利用漏洞階段通常會選擇MS office、PDF、影像、網頁等漏洞來進行提權,再利用先前提到的RAT來進行擴散,如果漏洞皆不成功,還能使用社交工程等方式 --- ## Delivery(部屬武器) 此階段是kill chain中最關鍵的部分 ![](https://i.imgur.com/tMHoXIt.png) --- ## Delivery(部屬武器)(續) - 利用釣魚郵件,誘使受害者點選郵件後下載惡意檔案 - 利用釣魚網站,誘使受害者連結至惡意網站 - 利用免費軟體、圖片、檔案夾帶惡意程式的方式,誘使受害者下載執行 - 利用USB等熱插拔裝置,刻意使受害者撿到或持有後插入公司或家中的主機等裝置 - 利用汙染DNS,使受害者連線網域導向黑客的惡意IP --- ## Exploitation(滲透) 部屬武器完成後,等待惡意程式被受害者觸發 - 觸發條件 - 惡意程式需與對應的軟體與作業系統才能作用 - 需保持被感染的軟體與作業系統不更新 - 使防毒軟體無效 --- ## Exploitation(滲透)(續) 並非所有的漏洞都能取得權限,有的只能做到阻斷服務或低權限的shell ![](https://i.imgur.com/3JtW7wE.png =60%x60%) --- ## Exploitation(滲透)(續) - 作業系統漏洞 - kernel漏洞 - 硬體漏洞 - 網路類型漏洞 - 協定漏洞 - 路由漏洞 - 軟體/應用程式漏洞 - 網站漏洞 - MS office漏洞 - PDF漏洞 - Java/Flash漏洞 --- ## Exploitation(滲透)(續) 漏洞的型態大致上可以分成 - Dos(阻斷服務攻擊) - RCE(遠端程式碼執行) - PE(提升權限) - Pwn(程式漏洞、緩衝區溢出、UAF) --- ## Exploitation(滲透)(續) - 通常大規模的APT攻擊都是運用大量的漏洞交叉使用完成 - 可以利用Fuzzing查找針對目標應用的全新漏洞 --- ## Installation(安裝/植入) - 過去的惡意程式行為簡單,只要找出後送至防毒軟體公司拆解逆向,即可取得對應的卸載方式 - 現代惡意程式複雜,基本上至少都具備<font color="#f00">Dropper</font>或<font color="#f00">Downloader</font> --- ## Installation(安裝/植入)(續) - Dropper 1. 關閉安全機制 2. 安裝惡意程式 3. 隱藏惡意程式 - Downloader 1. 關閉安全機制 2. 至C2下載並安裝惡意程式 3. 隱藏惡意程式 --- ## Installation(安裝/植入)(續) 此階段在關閉安全機制與防止查殺也有許多方式 - 利用打包、加密、反虛擬機等方式使debug工具無法分析 - 使防毒與IDS無法正常運作 - 更改DNS,造成受害電腦無法正常更新 --- ## Installation(安裝/植入)(續) 此階段在關閉安全機制與防止查殺也有許多方式 - 利用Dropper或Downloader回傳相關受害電腦參數,藉此判斷此受害端是否為Honey Pot或沙箱等系統 - 將惡意連線在本地先加密,再以HTTP或SMTP等未加密的協定傳輸,目的是為了使防護機制認為未加密協定是能被防毒檢查的封包,進而規避DLP(資料外洩防護)與異常檢測系統 - 安裝<font color="#f00">Rootkit</font>或<font color="#f00">Bootkit</font>無效受害端的保護或確保惡意程式能高權限運行 --- ## Installation(安裝/植入)(續) - Rootkit - 利用安裝驅動的方式植入作業系統中 - Bootkit - 利用修改MBR(master boot record)影響開機磁碟的運作,藉此從底層控制受害端 --- ## Command and Control(命令與控制) 通常稱為C2或C&C,主要目的為向受害端下達指令。由於近年的防護機制提升,可以大致區分為三類 - 集控式 - 易於管理 - bot故障並不影響整體運作 - bot的數量取決於C2的效能 - 若C2故障,則系統完全癱瘓 --- ## Command and Control(命令與控制)(續) - 分散式 - 利用P2P等方式進行構連 - 較難控制大型的bot net - 利用具有固定IP的bot當作節點,增加伸縮性 - 社群網路結構 - 大部分的社群軟體都被判定為無害 - 利用集中/分散的方式將命令下達至受害端 --- ## Command and Control(命令與控制)(續) 早期查找C2的方式主要是以流量分析或通信模式,近日的惡意程式利用隱藏通信模式、匿名技術、創建加密通道等方式,使C2的查找變得更為困難 - 利用IRC(Internet relay chat) - 利用TCP/FTP/HTTP - 利用隱寫術將命令寫入至網路上的圖片或聲音中 - 利用TOR隱藏C2的位置與躲避流量的分析 --- ## Command and Control(命令與控制)(續) 通常黑客保護C2的方式為 - DNS Fast Flux([殭屍網路連接技術(上)](http://download.icst.org.tw/attachfilearticles/%E6%AE%AD%E5%B1%8D%E7%B6%B2%E8%B7%AF%E9%80%A3%E6%8E%A5%E6%8A%80%E8%A1%93(%E4%B8%8A)%20-%20Fast-flux.pdf)) - 將大量C2的IP藏在domain後,藉以逃脫以IP列入黑名單的機制 - DNS as a medium - 利用DNS當作命令下達的協定 - 像是feeder bot([Feederbot Botnet Using DNS as Carrier for Command and Control (C2)](https://chrisdietri.ch/post/feederbot-botnet-using-dns-command-and-control/)) - Domain Generation Algorithms([殭屍網路連接技術(下)](https://download.nccst.nat.gov.tw/attachfilearticles/%E6%AE%AD%E5%B1%8D%E7%B6%B2%E8%B7%AF%E9%80%A3https://www.youtube.com/?gl=TW&hl=zh-tw%E6%8E%A5%E6%8A%80%E8%A1%93(%E4%B8%8B)%20-%20Domain-flux.pdf)) - 域名生成演算法就是當域名被加入黑名單時,會利用相同的演算法來算出下一個該連線的域名,以防止連線中斷 --- ## Act on objectives(後續行動) 當bot與C2成功連上後此階段就看攻擊者的目的發起相應的攻擊 - 大規模攻擊(無差別) - DDos攻擊 - 挖礦 - 針對性 - 偷取機敏資料 - 取得受害端帳戶 --- ## 結論 - 詳述網路攻擊鍊的技術層面 - 理解黑客的手段與方法 - 闡述良性的網路功能如何被黑客使用 --- ## End