首頁 > 企業動態 > 公司新聞 > 不咬鈎也被釣魚?當黑客團伙盯上了供應鏈,千里之堤竟毀於一旦

不咬鈎也被釣魚?當黑客團伙盯上了供應鏈,千里之堤竟毀於一旦

釋出日期:2021-01-04 作者:奇安信

分享到:

2015年,天眼實驗室(奇安信威脅情報中心前身)首次披露了一起針對中國的國家級黑客攻擊細節,這也是我國披露的第一起APT團伙攻擊事件。因為其攻擊目標多為我國海事機構、海域建設、航運企業等與“海”相關的重要領域,安全分析師為這個組織取了一個相當好聽的名字——海蓮花。


數年來,安全工程師們和“海蓮花”進行了無數輪的較量,併成功挫敗了多次攻擊。然而,在2020年,“海蓮花”依然猖獗並屢次得手,其變幻莫測的攻擊手法,讓政企機構防不勝防。

復工復產 一個新的陰謀正在醖釀

2020年2月9日元宵節剛過,復工復產的大幕已經悄然拉開。


出於疫情防控需要,軟件外包公司員工上門服務基本上是不被允許的。為了保證項目開發的進度,一些機構特地為他們的開放了VPN服務,允許外包公司員工遠程訪問內網代碼服務器。


達七正是眾多外包公司員工中的普通一位,他所在的公司正在為部委甲的OA(協同辦公軟件)進行定製化開發。
到公司後,達七從雙肩包裏掏出了自己的電腦,熟練地登上了VPN,準備開始新一天的工作。不過在每天開始工作之前,達七會檢查一篇自己的收件箱,看看是否有漏掉的重要郵件。

果然,“一封來自客户的郵件”吸引了達七的注意。正文部分空白,只有一個word附件,標題為《關於推進有序復工復產的通知》。

出於好奇,達七打開了附件。粗略一覽,文檔內容大多跟自己沒有關係。達七呵呵一笑,“誰這麼無聊把內部郵件轉給我了?”

隨手關掉郵箱,達七一天的工作開始了,口中還默唸着一個流傳已久的梗:PHP是世界上最好的語言。可他怎麼也沒想到,一次針對部委甲的網絡滲透,就從這封郵件這兒開始了。

恰在此時,位於東南亞的一台服務器上,收到了“海蓮花”組織特種木馬傳回來的信息。一場精心策劃的APT攻擊已經成功了第一步。

線索撲朔迷離 竟然難住了安全老鳥?

若干天后,轉眼又入冬。剛吃過午飯的DP半躺在辦公椅上打着盹,他是奇安信威脅情報中心的主力分析師,和“海蓮花”組織已經交手過太多次。

突然,負責人Star的一通電話讓DP睡意全無。客户側部署的奇安信天眼高級威脅檢測系統產生告警,疑似發現APT攻擊,需要DP到客户現場配合安全服務團隊進行排查。

這是個苦差事。

由於部委甲的特殊性,因此對來訪人員管制措施較為嚴格。DP緊了緊外套的領口,時不時還跺着腳,排隊等待進入客户現場。

天氣似乎顯得格外寒冷。

來到辦公區後,DP根據告警日誌第一時間找到了中招的電腦終端(失陷終端)。在將該終端的DNS解析記錄、域名訪問信息與奇安信威脅情報比對後,DP心裏已有了譜:“呵,又是‘海蓮花’,你就不能換個服務器地址麼?”

經驗告訴他,釣魚郵件是“海蓮花”等APT組織最常用的攻擊手法之一,簡單直接。如果黑客是通過釣魚郵件滲透進來的,那麼一定會在郵件服務器裏,發現一些蛛絲馬跡,從而找出所有失陷終端,並還原整個攻擊軌跡。

一下午的時間很快就過去了,DP雙眉緊鎖。郵件攔截記錄顯示,帶毒郵件或者其他垃圾郵件都被攔截了,黑客很難用這種方式攻進來。

“不是通過釣魚郵件?”DP揉了揉有些發酸的眼睛,轉過頭問客户道,“咱們這兒應該不讓用自己的電腦吧。”

“嗯,不讓。我們也裝了終端安全管理的軟件,對接入內網的電腦、手機,都有非常嚴格的管控。”該部委的安全負責人説到,“今天先到這兒吧,快下班了,按規定我得把你們送出去。”

“行,那我先回去,中毒的那台電腦別用了。”

蹲點摸排 終於鎖定23台失陷主機

離開客户現場之後,DP並沒有立即回家,而是就近訂了一家快捷酒店住下,想着明天早點過去。他知道,接下來幾天就要交代在這裏了,自己住得太遠不太方便。

房間裏,DP簡單向Star彙報了一下今天下午排查的基本情況。Star倒是沒有覺得奇怪:“嗯,沒關係。像他們這種安全防護做的比較完善的單位,釣魚郵件已經很難了,你注意排查一下網絡邊界設備,比如防火牆、VPN這些,我估計‘海蓮花’這次是通過邊界滲透進來的。這幾天你就在那盯着,有困難後方隨時支援。”

第二天一大早,DP就出門了。“今天這麼早啊。”客户寒暄了一句。

“嗯,這不想早點搞定問題麼。”DP説,“對了,你們最近遠程辦公多麼?”

“最近應該是沒有,你也知道我們單位比較特殊,都是要求在辦公區的。不過早些時候我們給一家外包公司開放過VPN端口開發OA,那時候不是不讓上門麼,我們又要趕項目進度。你懷疑?”

“嗯,昨天晚上我們仔細覆盤了一下,有這個可能。前段時間VPN曝出很多漏洞,也出現了一些漏洞利用的事件。”

正説着話,DP似乎發現了一絲端倪。漏洞掃描工具顯示,VPN存在一個遠程繞過漏洞,允許攻擊者在未經授權的情況下訪問內網。順着這條線,DP果然找到了來自外包公司的異常訪問,木馬應該是從外包公司帶進來的。

DP隨即通過流量分析工具和惡意文件分析工具,分別針對異常流量和可疑文件進行了特徵提取,得到了非常完整的失陷威脅情報(IOC)信息,包括文件MD5和與木馬通信的C2(命令與控制)服務器域名、IP地址等。

這些域名均為“海蓮花”所使用的C2服務器域名和IP地址。

“接下來應該就容易了,只需要排查哪些終端與這些地址發生了連接就行。”完成了最關鍵的一步,DP終於鬆了一口氣。經過兩天的蹲點排查,日誌分析結果顯示,與這些域名發生通信的共有23台終端。

還原攻擊過程:國內首次基於VPN漏洞的供應鏈攻擊

從客户那裏回來後,DP向威脅情報團隊覆盤了整個攻擊事件。

事實上,“海蓮花”組織並非一開始就嘗試這種滲透方法,而是走他們的老路子,釣魚郵件攻擊。只不過後來他們發現,發出去的釣魚郵件如同泥牛入海,沒什麼太大效果,因此黑客繞了個彎,把目標放在了部委甲的上游供應商上。

外包公司的安全防護水平參差不齊,黑客也知道“老太太捏柿子——挑軟的欺負”的道理。一封略加偽裝的釣魚郵件,便攻破了達七的電腦。

恰逢疫情爆發,遠程辦公需求猛增,很多機構不得不開放VPN端口,這就給了攻擊者可乘之機,等於多了一個入口。有調查數據顯示,疫情期間,VPN使用率較平時提升了30%左右。

“可能平時的漏洞管理工作不夠細緻,這次‘海蓮花’利用遠程繞過漏洞並不是0day,而是一個Nday。意思就是VPN廠商很早就公開披露過漏洞詳情,並提供了補丁,但該部委並沒有及時更新。”

正是這個不起眼的漏洞,讓“海蓮花”組織原本在達七電腦上植入的木馬,放到了部委甲存儲代碼的服務器上,並以此獲取了服務器的控制權。DP説,這是奇安信威脅情報中心發現的國內首次基於VPN漏洞的供應鏈攻擊。

拿下服務器後,為了獲取更多敏感信息,“海蓮花”針對員工辦公終端開始了滲透。

理論上,內部任意一台電腦都可能與服務器發生互聯,所以“海蓮花”可以向任意一台電腦下發他們的遠程控制木馬。但這一次,他們只選擇了一台登錄口令強度不高並且連接互聯網的電腦作為目標。

為了對抗檢測手段,“海蓮花”組織做了很多工作。

第一項是免殺,通俗理解就是躲過殺毒軟件的檢測。

海蓮花組織一旦發現其下發的木馬被殺毒軟件幹掉了,就會遠程修改木馬配置,直到殺毒軟件檢測不出來為止。DP説,最多的時候“海蓮花”組織曾做過5次修改。

第二項是與電腦的物理地址(MAC地址)綁定。

由於物理地址具有唯一性,因此在木馬與其綁定後,便不能在其他電腦上運行。它有一個很重要的作用就是逃避沙箱(沙盒)檢測。沙箱可以理解成一個虛擬電腦,把可以文件放在沙箱裏運行,觀察其行為、特徵,從而判斷文件到底是不是病毒。

由於“海蓮花”植入的木馬只能在綁定的電腦上運行,在沙箱裏便不能運行了,因此普通的沙箱並不能得到檢測結果。但經驗豐富的DP耍了一個“小聰明”,把沙箱的MAC地址調整為和宿主電腦一樣,對木馬來了個“將計就計”。

第三項是持久化。

為了防止木馬文件意外丟失,“海蓮花”組織將其木馬模塊與輸入法進行綁定,從而保證開機自動運行,實現長久潛伏。

“‘海蓮花’這次內部橫移是怎麼做的?”有同事提問。

“還是老套路,基本上都是通過局域網裏面的445、80這些沒有關閉的高危端口,進行橫向弱口令暴力破解。破解成功後,再次重複上面的三個動作。”DP回答。

當年,大名鼎鼎的“永恆之藍”勒索病毒也是通過445端口在內網傳播的。


後來,DP跟筆者聊起了這次攻擊事件,他拿起了一張事先準備好的草圖▲。拿起來一看,此次攻擊的軌跡一目瞭然。

這種利用上游供應鏈完成攻擊滲透的方式,業界喜歡它們叫做供應鏈攻擊。

舉例來説,不久前,奇安信披露的2020年度最嚴重APT攻擊事件,即導致200多家全球重要機構受害的SolarWinds(太陽風)事件,就是典型的供應鏈攻擊,其幕後組織“金鍊熊”更是多達數百人。

海蓮花的牌還沒出完 獵人狐狸的遊戲還在繼續

“‘海蓮花’遠不止採用這一種攻擊方式。”DP説,“後來排查的時候,還發現了他們獲取了殺毒軟件後台的控制權。”説起來也巧了,“海蓮花”組織在對部委甲進行端口掃描時,恰好發現了處在同一網段的殺毒軟件,進而挖出兩個0day漏洞,完成攻擊。

當然,在安全廠商的圍追堵截之下,“海蓮花”的日子也不好過。單説奇安信威脅情報中心,每年都能抓住他們很多次。每抓住一次,就把他們使用的C2服務器域名、IP地址、木馬文件配置等信息提取下來並生成威脅情報,下次他們如果再使用相同的IP地址發動網絡攻擊,就會直接被攔截了。

再加上奇安信和友商之間的威脅情報共享機制,時間一長,他們手上的服務器被查的七七八八,不得不換新的服務器。

那麼問題來了,下一次如果“海蓮花”用全新的服務器,還能查出來麼?

“你説第一次披露海蓮花組織攻擊的時候,是怎麼發現的呢?” DP反問了一句。