一個來自美國NSA的木馬

這兩天,相信大家都在關注烏克蘭局勢,感受著21世紀現(xiàn)代化戰(zhàn)爭的殘酷與震撼。
其實除了熱戰(zhàn),網(wǎng)絡空間中沒有硝煙的戰(zhàn)爭也一直在暗中進行著。
就在前幾天,盤古安全實驗室發(fā)布了一個Paper:

這份報告詳細分析了一個跟蹤近十年的來自美國國家安全局NSA的頂級后門程序。
Paper本身有一定的技術門檻,缺乏網(wǎng)絡安全知識的小伙伴兒看起來可能有些吃力。今天軒轅嘗試用簡單易懂的方式帶大家來感受一下,來自這個星球上頂級的安全機構(gòu)開發(fā)的后門,到底是什么樣的。
事件始末
不知道具體是2013年還是2015年的時候(Paper中兩處表述時間不一致),盤古實驗室的某個客戶(一般都是敏感單位,你懂得)那里部署的安全產(chǎn)品突然告警了,告警顯示兩個重要的服務器之間存在一些可疑的通信行為。
有告警產(chǎn)生,自然就要派技術人員進行跟進分析。
通過對服務器的磁盤進行鏡像拷貝,分析出了初步結(jié)論:服務器被植入后門程序了!
這是一個經(jīng)過復雜加密的Linux平臺的后門程序,而且這家伙的自我保護機制做的極為到位,不能直接運行,需要與主機綁定的校驗碼才能正常運行。
研究人員好不容易花了大力氣破解了校驗碼,成功運行了這個后門程序,卻發(fā)現(xiàn)還需要攻擊者的非對稱加密私鑰才能激活遠控功能。
這一下就沒轍了,沒有秘鑰,后面的分析無法繼續(xù)下去,這事情就擱置了。
然而時間來到2016年,網(wǎng)絡安全界發(fā)生了一件事情,推動了這個后門程序的分析進程。
這件事,估計很多人都還有印象,那就是知名黑客組織“影子經(jīng)紀人”宣稱成功黑進了“方程式組織”,并公布了大量“方程式組織”的黑客工具和數(shù)據(jù)。

估計很多人一頭霧水,這都什么跟什么啊?
影子經(jīng)紀人是一個黑客組織,方程式組織又是另一個更加知名的黑客組織,前者宣稱入侵了后者,還把人家的數(shù)據(jù)和工具給偷出來了!

這件事我印象很深刻,當時看到這個消息后,大家伙都忙不迭的去下載公布出來的東西,而且量非常大,下都下了很久,至今還在我的網(wǎng)盤里躺著。
國內(nèi)安全公司,基本上當時都去下載了一份,畢竟,方程式組織的名頭如雷貫耳,能看一眼他們的技術方案和源代碼還是非常有吸引力的。
盤古實驗室也不例外,然而,他們卻在這份泄露的數(shù)據(jù)里,意外地發(fā)現(xiàn)了一個東西。
沒錯,正是激活那個后門程序所需要的的私鑰!
要知道,非對稱加密的公私鑰這東西,都是唯一配對的。
方程式組織擁有這個私鑰,那也就意味著,那個后門程序便是這個組織的手筆。
那方程式組織又是什么來頭呢?
一直以來,有各種消息顯示方程式組織跟美國政府有千絲萬縷的關系,但沒有太石錘的證據(jù)。
那影子經(jīng)紀人泄露的數(shù)據(jù)里,有沒有東西可以證實它與美國的關系呢?
還真有!
把時間往前再倒幾年,2013年,發(fā)生了一件更廣為人知的事件:美國“棱鏡門”事件。

這次事件的主角斯諾登,曝光了美國國家安全局NSA網(wǎng)絡攻擊平臺的操作手冊。
而這份操作手冊的唯一標識符居然也出現(xiàn)在了影子經(jīng)紀人泄露的數(shù)據(jù)中!
有理由相信,這個后門程序來自方程式組織,方程式組織隸屬美國NSA,所以這個后門程序出自美國NSA的手筆。
在泄露的資料包里還有一份名單,里面記錄了方程式組織系列后門程序的攻擊目標,遍及全球多個國家和地區(qū)。
注意看位于中國的攻擊目標數(shù)字:

美帝XX之心不死啊!
技術分析
接下來,我們來看一下這個后門程序用到的相關技術。
1、TCP SYN敲門
試想一下,假設你已經(jīng)在互聯(lián)網(wǎng)上的某臺服務器上安裝了一個木馬后門程序,你該怎么和它建立連接,把里面的數(shù)據(jù)偷出來呢?
讓木馬監(jiān)聽某個端口,你主動去連接?
NO,監(jiān)聽端口可是高危行為,防火墻100%過不了,做過網(wǎng)站服務器管理的都知道,一般都只會默認開放80、443等少數(shù)白名單端口的訪問。
寫一個固定的IP或者域名在木馬程序里,讓木馬定時來連接?
NO,寫在代碼里的IP和域名,分析人員逆向就能順藤摸瓜找過來了。
那怎么辦?
這個后門用了一個非常聰明的辦法:其他端口不行,但是80端口一般都不會攔截。
攻擊者給安裝了后門的服務器的80端口發(fā)送了一個TCP SYN的握手包。
我們知道TCP三次握手,SYN握手包一般不會攜帶數(shù)據(jù)的,但這個包,它帶了數(shù)據(jù),而且加密了。

后門程序檢測到這個特殊的握手包來了以后,將之解密之后就知道:上峰終于來信了!
接下來就可以根據(jù)“信”中的消息,悄悄的和上峰勾搭上了。
這個特殊包,一般稱為“敲門包”,意在告訴對方:我來了。
2、隱藏和保護
作為一個木馬后門,除了網(wǎng)絡通信,最重要的就是要活下去。
而活下去的最主要的方式就是:別被發(fā)現(xiàn)。
為此,這個木馬后門做了諸多的工作:
(1) 首先是最常見的程序文件的加密與分片

(2) 文件中的字符串全都要加密

(3) 然后函數(shù)名混淆,讓分析人員找不到邏輯

(4) HOOK系統(tǒng)內(nèi)核函數(shù)是基本操作

(5) 還要抹掉ELF特征,躲避內(nèi)存檢查

(6) 通過BPF技術檢測敲門數(shù)據(jù)包

除此之外,還有很多騷操作:

具體技術細節(jié)太多,公眾號上不便詳述,完整的分析報告可以在公眾號后臺回復:報告獲取。
報告長達五十多頁,對該后門程序進行了徹底的分析,該后門程序的開發(fā)涉及Linux系統(tǒng)編程、操作系統(tǒng)技術、加密與解密技術、計算機網(wǎng)絡知識于一體,是網(wǎng)絡安全和編程愛好者學習研究的極佳素材。
網(wǎng)絡安全也是一場看不見的戰(zhàn)爭,在我們看不到的地方悄悄發(fā)生著。


