# BlackEnergy 研究與分析 - 以烏克蘭電網攻擊事件為例 ## 簡介 ![](https://i.imgur.com/k6ByVIV.png) <!--BlackEnergy最初在2007出現,起初是在DDoS攻擊中作為協助建立殭屍網路的工具,但在後來發展出各式擴充功能,以在烏克蘭攻擊電廠機構聞名。變種包括BlackEnergy 2與BlackEnergy 3。通常被俄羅斯的Sandworm所使用。--> ## 歷代版本 繼承前代優點(?)同時加以改良 ### BlackEnergy * 對複數ip address進行DDOS攻擊 <!--包含ICMP、TCP、UDP、HTTP、DNS--> * 自我加密 * 偽裝自身 <!-- 將process隱藏在syssrv.conf來偽裝 --> ### BlackEnergy2 * 模組化BlackEnergy <!-- 改寫其針對DDOS的架構 --> * 高度隱蔽性 <!-- 當其中一個模組被發現,只需要更新此模組 --> * 自我更新 <!-- module會以加密的驅動從感染者的系統進行自我更新 --> * 新增木馬module * 執行文件權限 * 下載遠端文件 ### BlackEnergy3 * 取消使用rookit <!-- 直接將dll檔直接放入如svchost.exe的process Rootkit是指其主要功能為:隱藏其他程式行程的軟體--> * 針對性 <!-- 主動掃描特定的HMI,一但找到漏洞將會下載遠端文件並且部屬BlackEnergy3。 --> * BlackEnergy3 攻擊手法 | 模組 | 功能 | | -------- | -------- | | SYN | SYN攻擊 | | HTTP | HTTP攻擊 | | DDOS | DDOS攻擊 | | spm_v1 | 垃圾郵件攻擊 | | Ps | 密鑰和密碼竊取 | | ibank.dll | 銀行證書竊取 | | weap_hwi | 編譯ARM系統上的DDOS工具 | | FS | 文件搜索 | | RD | 遠端控制 | | Ciscoapi.tcl | 針對Cisco路由器 | | KillDisk | 系統攻擊 | <!-- DDOS KillDisk 破壞filesystem清除目標系統上選定的檔案,使其無法操作。嵌入在遠端終端中的基於Windows的HMI也被破壞以致無法控制。 也清除系統日誌 Ps 密鑰和密碼竊取用以遠程訪問 --> ## 烏克蘭電網攻擊事件 ## 前哨戰 * 2014/05/12 散布假造Microsoft Word文件的PE執行檔 <!-- 對烏克蘭多間鐵路運輸相關企業公司以郵件散布假造成Microsoft Word文件的PE執行檔,裝有BE2/3,此次攻擊較為粗糙,被將近1/3的防毒軟體發現,但仍感染部分受害者。此次運用了BE3收集了各種Proxy相關資料,供後續攻擊使用。 --> * 2014/08/14 對多個學術、歷史、檔案保存組織散布郵件 <!-- 對烏克蘭多個學術、歷史、檔案保存組織散布郵件,此次入侵在整整兩個月內沒有被VirusTotal任何防毒機制發現,直到後來才知道該攻擊利用了Microsoft PowerPoint的0日漏洞進入使用者裝置,是為CVE-2014-4114。這次攻擊是BE3先進入電腦,進而安裝BE2,並用之下載payload。 --> * 2015/03 惡意文件的郵件被寄到廣播媒體 <!-- 包有兩個惡意文件的郵件被寄到廣播媒體相關機構,分別是包有巨集的.xls檔和包有Java的.pps檔,並會開啟PE執行檔攻擊了從事檔案和圖書館活動的烏克蘭國家機構(對象與2014/8/14的相似),以及西部的一座發電廠。 --> > 對發電廠的攻擊中還發現了多個後門工具 > reDuh - 用於通過 HTTP 請求隧道傳輸 TCP,後門;允許從外部存取內部網路。 weevely3 - 命令列 web shell後門;允許從外部訪問內部網絡對象。 dropbear - 特殊版本的 SSH 服務器;打開一個socket並允許使用hardcoded的密碼遠距連接。 DSEFix - 用於加載未簽名的驅動,繞過現有的操作系統保護機制 * 2015/10/25 攻擊多家電視台,破壞影像資源、伺服器設備 * 2015/12/23 電廠遭到攻擊 ## 本戰 因為PMU直接感染的可能性低,於是選擇透過HMI中未加密的IEEE C37.118和IEC 61850‑90‑5中的GDOI安全機制來侵入。 ### 1. 魚叉式網路釣魚 * 漏洞編號 CVE-2014-4114 * 漏洞概述 OLE封裝管理程式漏洞 <!-- 使用魚叉式網路釣魚寄發難辨真偽之檔案,誘使員工輸入帳號密碼。利用存在於Microsoft Windows系統與伺服器當中的OLE封裝管理程式漏洞,傳送附件檔,執行文件內的PE病毒,使駭客得以遠端執行程式碼。 --> * 實際使用 透過將BE 3偽裝成Office文件並將信件寄至電廠員工電腦,要求開啟者啟用巨集,藉以植入木馬。 ![](https://i.imgur.com/ZlPMLrF.png) 通過25個函數寫入二進制數據(PE文件)到指定的路徑隨後執行。執行後會利用BE3下載模組對系統進行攻擊。 ![](https://i.imgur.com/iim5WIN.png) ### 2. 跳板取得 * 漏洞編號 T1548 * 漏洞概述 繞過UAC設置取得管理員權限 * 實際使用 執行釣魚信件後T1548手法為繞過UAC設置取得管理員權限來當作跳板。 * 防禦方法 監視filesystem中任何要求API或要求更高權限的行為。 <!-- 當用戶屬於root階級時,有很多種方法可以繞過UAC,因此不能期待所有變體的檢測。主要都是修改註冊表,啓動sdclt.exe程序提權,預防方法為四種,分別是補強系統上弱點、 阻止不合法資料庫的下載流程、要求管理員密碼、嚴格限制sudoers文件--> ### 3. 進入SCADA工作站與伺服器偵查資訊 * 漏洞編號 T1046、T1120 * 漏洞概述 T1046在主機上進行連接埠掃描,T1120蒐集USB設備相關資訊 * 實際使用 BE3首先要求存取C&C IP Address以獲得周邊環境資訊並取得相關權限,得以進入SCADA調度工作站與伺服器的網段,並在此階段偵查出多種現場資訊,包括用來讓SCADA對SCS下達命令的序列轉乙太網路(serial-to-ethernet)裝置位置,以及distribution management systems (DMSs)。 * 防禦方法 關閉不必要的連接埠同時分割網路,並安裝IPS系統於主機上 <!-- 主要關閉80、443或是22這些會受到外界刺探的連接埠,並且建設防火牆的鏡像流量,來偵測出主機端是否有受到連接埠掃描或蒐集資訊動態--> ### 4.從HMI開啟SSH後門 * 漏洞編號 T1057、T1055、T1021 * 漏洞概述 * 實際使用 運用已存在工作站(operator workstations)的遠端管理工具直接與各ICS元件互動,並使用VPN存取IT環境。 使用開源的Dropbear SSH,加以修改。利用VBS啟動SSH客戶端,開啟port等待連接,如此攻擊者加以攻擊。 ![](https://i.imgur.com/7g2C4D7.png) Dropbear SSH有可能正是烏克蘭電力部門使用的SSH管理工具,帶有後門的Dropbear SSH的出現,不排除是此次攻擊的環境預置的一部分。同時攻擊者使用開源代碼為基礎,構造可疑功能,可以起到躲避防毒軟體檢測的目的。 * 防禦方法 利用相關端點監控方案,阻止特定的過程注入,並設立多重身分驗證流程。 <!-- VBS代碼自動把客戶端加入你的網域,能利用相關端點監控,來讓連接埠還有SSH的客戶端,不容易被惡意程式注入或執行任意程式碼,同時特權帳號設置密碼管理還有多重身分驗證也是保護方式--> ### 5.引入KillDisk * 漏洞編號 T1070 * 漏洞概述 * 實際使用 在整個環境植入了特製的KillDisk並隨後接管了整個工作站,令操作人員無法存取。用來讓受害系統無法開機。受害系統因而無法還原、無法從遠端控制,而不斷電系統(UPS)也失效,刪除Windows事件日誌,使後續追蹤更加困難。KillDisk的樣本可能被用於針對烏克蘭一家大型礦業公司和一家大型烏克蘭鐵路公司。 ![](https://i.imgur.com/v0q9K0f.png) 延時操作 ![](https://i.imgur.com/EDGfFTC.png) 貼心的格式化硬碟(x ![](https://i.imgur.com/WW2WRbW.png) 清理系統日誌 ![](https://i.imgur.com/Sdc1vgu.png) 主動結束除了BH3模組以外的process ![](https://i.imgur.com/Z5PkQbi.png) <!-- 觀察主機日誌是否有異常行為,並關閉相關的連接埠還有管理特權帳戶,--> ### 6. 對ICS攻擊 1. * 漏洞編號 ZDI-CAN-1623(CVE-2014-0751) * 漏洞概述 允許遠端攻擊者在通用電氣專業的裝置上執行任意程式。不要求身份驗證。是存在於CimWebServer的特定缺陷。 ![](https://i.imgur.com/GNGUmSo.png) * 實際使用 未有明確造成嚴重損失,但是應該可搭配Aurora漏洞造成相當大的危害。 <!--主要開放port為10212,過去有緩衝區溢出問題--> 2. * 攻擊概述 斷路器癱瘓元件,惡意韌體拖延恢復 * 實際使用 攻擊者用SCADA環境中的HMI啟動了斷路器。在三小時中,合計27個變電站無法使用。期間在系統中植入了惡意韌體,讓操作員即便重得控制亦無法恢復使用。 3. * 攻擊概述 Serial-to-Ethernet攻擊 * 實際使用 停用序列轉乙太網路(Serial-to-Ethernet)裝置,這讓損害復原的速度大為延遲。多數的系統都必須等到韌體復原之後才能使用。讓遠端管理失去作用 <!--解決方法為限制他人遠端存取資料,並且管理主機中的權限跟身分驗證,同時加密檔案保護機敏資訊--> ### ex.Aurora漏洞 * 相位不同步 <!-- Aurora漏洞可讓駭客將發電機與電網斷開一段足以造成相位不同步的時間,然後再恢復連接。這樣的非同步會對轉子瞬間造成嚴重負擔,進而產生機械式能量導致發電機震動,造成培林損壞並讓溫度瞬間升高。Aurora漏洞就是藉由快速地斷開並重新連接發電機與電網之間的迴路來造成發電機在三分鐘之內損毀。 --> * 常見處理 機械式繼電器 安全系統 <!-- 為了避免發電機自我損壞,製造商都會在發電機內設置一套安全系統,一旦發電機與電網斷開超過15個週期(約 ¼ 秒)就不允許再重新連接電網。某些發電機可能會運用機械式繼電器,但更常見的是由軟體所控制的安全系統。而且為了監控及營運上的方便,這些系統還會連上網路。 --> * 目前無法有效防範。 ## 游擊戰 * DDOS客服中心 * 漏洞編號 * 漏洞概述 * 實際使用 攻擊期間攻擊者遠端阻斷了電話服務,此舉起初被認為是避免讓內部員工接收到客戶投訴而發現電力故障,然而後續研究認為應是讓顧客因無法聯絡電廠了解狀況而不滿。 ![](https://i.imgur.com/l3RfO0t.png) ## 後續追蹤 ### Win32/Industroyer ![](https://i.imgur.com/cO65I8B.png) * 模組化 * 具有一核心後門並可安裝及控制不同元件,透過HTTPS用遠端伺服器接收指令並回報 <!--主要開放port為8080--> * 與其他面向基礎設施的惡意軟體不同之處為其payload被設計成直接用來攻擊變電所的開關和斷路器,共有四種,分別用於攻擊以下通訊協定的設備: * IEC 60870-5-101 * IEC 60870-5-104 * IEC 61850 * OLE for Process Control Data Access (OPC DA) * 大多數的惡意軟體通常是分階段進行,先偵查整個網路並測試各種指令對不同工控設備的效力,包含前面所提的事件。然而Industroyer的payload設計方式顯示作者對工控的高度了解。 * 該軟體也設計了多種匿蹤手法,包含: * 將用Tor與C&C伺服器通訊的時間限縮在非上班時間 * 安裝一個偽裝成記事本的備用後門,在主後門被發現或無法使用的時仍可使用 * 將影響系統運作的Registry Key刪除並覆寫重要檔案讓系統無法開機 * 另也使用了CVE-2015-5374的漏洞進行DoS攻擊,讓西門子Siemens SIPROTEC無法回應 * 在2016/12對烏克蘭電廠攻擊時使用 ## reference [ATT&CK ICS相關文獻](https://collaborate.mitre.org/attackics/index.php/Main_Page) [CVE-2014-4114](https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2014-4114) [SANS 烏克蘭電網攻擊研究報告](https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2016/05/20081514/E-ISAC_SANS_Ukraine_DUC_5.pdf) [Kapersky 烏克蘭電網攻擊過程](https://securelist.com/blackenergy-apt-attacks-in-ukraine-employ-spearphishing-with-word-documents/73440/) [CYS 烏克蘭多次遭BlackEnergy攻擊之報告](https://cys-centrum.com/ru/news/black_energy_2_3) [MITRE APT29介紹]( https://attack.mitre.org/groups/G0016/ ) [MITRE BlackEnergy相關手法](https://attack.mitre.org/software/S0089/) [MITRE Sandworm Team相關資料](https://attack.mitre.org/groups/G0034/) [ZDI-14-016](https://www.zerodayinitiative.com/advisories/ZDI-14-016/) [CVE-2014-4114 資安趨勢部落格](https://blog.trendmicro.com.tw/?p=10171) [NVD ZDI-CAN-1623](https://nvd.nist.gov/vuln-metrics/cvss/v2-calculator?calculator&version=2.0&vector=(AV:N/AC:M/Au:N/C:P/I:P/A:P)) [KillDisk and BlackEnergy 趨勢科技](https://www.trendmicro.com/en_us/research/16/b/killdisk-and-blackenergy-are-not-just-energy-sector-threats.html) (https://media.kasperskycontenthub.com/wp-content/uploads/sites/43/2016/05/20081514/E-ISAC_SANS_Ukraine_DUC_5.pdf) [ESET Industroyer: Biggest threat to industrial control systems since Stuxnet](https://www.welivesecurity.com/2017/06/12/industroyer-biggest-threat-industrial-control-systems-since-stuxnet/) (簡介) [ESET WIN32/INDUSTROYER:A new threat for industrial control systems](https://www.welivesecurity.com/wp-content/uploads/2017/06/Win32_Industroyer.pdf) (完整白皮書)