日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【权威发布】360追日团队:Xshellghost技术分析——入侵感染供应链软件的大规模定向攻击

發(fā)布時(shí)間:2024/1/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【权威发布】360追日团队:Xshellghost技术分析——入侵感染供应链软件的大规模定向攻击 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文由 安全客 原創(chuàng)發(fā)布,如需轉(zhuǎn)載請(qǐng)注明來源及本文地址。
本文地址:http://bobao.360.cn/learning/detail/4280.html


概述


近日,NetSarang旗下的Xmanager、Xshell、Xftp和Xlpd等在全球流行使用的服務(wù)器遠(yuǎn)程管理軟件曝出被多家殺毒軟件報(bào)毒查殺的情況,經(jīng)過360科技集團(tuán)追日?qǐng)F(tuán)隊(duì)調(diào)查分析確認(rèn),NetSarang旗下多款軟件的關(guān)鍵模塊被植入了高級(jí)后門,這是一起入侵感染供應(yīng)鏈軟件的大規(guī)模攻擊事件,我們將其命名為“XshellGhost”(xshell幽靈)。

事件時(shí)間軸

2017年7月17日,NetSarang公司發(fā)布旗下多款產(chǎn)品的新版軟件,更新修復(fù)多處bug和增強(qiáng)了會(huì)話加密能力,用于對(duì)抗CIA木馬“BothanSpy”的密碼劫持功能。

2017年8月7日,NetSarang與卡巴斯基發(fā)布聯(lián)合聲明,聲稱7月18日發(fā)現(xiàn)軟件存在安全漏洞被攻擊。

2017年8月15日,NetSarang與卡巴斯基更新聯(lián)合聲明,發(fā)現(xiàn)在香港利用該軟件漏洞的案例。

攻擊形式

NetSarang系列軟件的關(guān)鍵網(wǎng)絡(luò)通信組件nssock2.dll被植入了惡意代碼,廠商在發(fā)布軟件時(shí)并未發(fā)現(xiàn)惡意代碼,并給感染組件打上了合法的數(shù)字簽名隨新版軟件包一起發(fā)布,用戶機(jī)器一旦啟動(dòng)軟件,將會(huì)加載組件中的惡意代碼,將主機(jī)的用戶信息通過特定DGA(域名生成算法)產(chǎn)生的DNS域名傳送至黑客的遠(yuǎn)程命令控制服務(wù)器,同時(shí)黑客的服務(wù)器會(huì)動(dòng)態(tài)下發(fā)任意的惡意代碼至用戶機(jī)器執(zhí)行。

攻擊影響面

使用被感染的軟件的用戶,將會(huì)被黑客竊取用戶信息,并在云端下發(fā)任意的惡意代碼進(jìn)行遠(yuǎn)程控制,由于該系列軟件在國(guó)內(nèi)的程序員和運(yùn)維開發(fā)人員中被廣泛使用,多用于管理企事業(yè)單位的重要服務(wù)器資產(chǎn),所以黑客極有可能進(jìn)一步竊取用戶所管理的服務(wù)器身份驗(yàn)證信息,秘密入侵用戶相關(guān)的服務(wù)器,請(qǐng)相關(guān)軟件用戶和企事業(yè)單位提高警惕。


XshellGhost技術(shù)分析


“XshellGhost”(xshell幽靈)是一個(gè)精密的定向攻擊平臺(tái),所有的功能模塊實(shí)現(xiàn)均為shellcode形式,客戶端攻擊通過感染供應(yīng)鏈軟件和各個(gè)shellcode模塊,實(shí)現(xiàn)了無(wú)自啟動(dòng)項(xiàng)、無(wú)落地文件和多種通信協(xié)議的遠(yuǎn)程控制,后門潛伏于受害者電腦等待黑客在云控制平臺(tái)下發(fā)shellcode數(shù)據(jù)執(zhí)行,黑客在云端甚至可能通過上傳的用戶信息進(jìn)行選擇性的定向攻擊。

遠(yuǎn)程控制邏輯分析

XshellGhost的遠(yuǎn)程控制主要分為5個(gè)步驟:

1.軟件啟動(dòng)加載被感染組件nssock2.dll,解密shellcode1執(zhí)行。

2.Shellcode1解密Shellcode2執(zhí)行如下功能:

a)創(chuàng)建注冊(cè)表項(xiàng),上報(bào)數(shù)據(jù)到每月對(duì)應(yīng)的DGA域名當(dāng)中;

b)通過發(fā)往知名的域名解析器當(dāng)中上傳用戶信息給攻擊者;

c)將接收的數(shù)據(jù)寫入到創(chuàng)建的注冊(cè)表項(xiàng)當(dāng)中;

d)通過獲取的key1和key2解密Shellcode 3并執(zhí)行;

3. ?Shellcode3會(huì)創(chuàng)建日志文件并寫入信息,啟動(dòng)系統(tǒng)進(jìn)程Svchost.exe,修改其oep處的代碼,并注入shellcode形式的Root模塊執(zhí)行。

4. ?Root模塊的初始化過程中,會(huì)加載并初始化Plugins、Config、Install、Online和DNS等功能模塊,然后調(diào)用函數(shù)Install->InstallByCfg以獲取配置信息,監(jiān)控注冊(cè)表并創(chuàng)建全局互斥體,調(diào)用Online-> InitNet;

5. 函數(shù)Online-> InitNet會(huì)根據(jù)其配置初始化網(wǎng)絡(luò)相關(guān)資源,向指定服務(wù)地址發(fā)送信息,并等待云端動(dòng)態(tài)下發(fā)代碼進(jìn)行下一步攻擊。?

初始加載模塊分析

此次攻擊的所有模塊調(diào)度加載實(shí)現(xiàn)方式都是通過shellcode形式,采用了模塊化的方法進(jìn)行統(tǒng)一管理。每個(gè)Shellcode的入口函數(shù)都會(huì)根據(jù)傳入的第2個(gè)參數(shù)的數(shù)值決定將其具體要執(zhí)行的功能,參數(shù)數(shù)值和對(duì)應(yīng)的功能列表如下所示:

根據(jù)Shellcode編號(hào)102、103和104所對(duì)應(yīng)的功能,可以獲取每個(gè)Shellcode的信息列表:

關(guān)鍵的網(wǎng)絡(luò)通信模塊,除DNS協(xié)議通信,此后門還會(huì)利用其他5種網(wǎng)絡(luò)協(xié)議進(jìn)行遠(yuǎn)程控制。

基礎(chǔ)管理模塊分析

Root模塊是該次攻擊的基礎(chǔ)管理模塊,其它各個(gè)模塊的功能的展開和運(yùn)行都依賴于Root模塊提供的函數(shù)接口列表:

Root模塊的初始化邏輯如下圖所示:

?

插件功能模塊分析

Plugins模塊為其他插件提供接口,包括讀寫注冊(cè)表指定字段的加密數(shù)據(jù),加載DLL等,以及監(jiān)控注冊(cè)表指定字段變化并將其數(shù)據(jù)解密作為插件加載:

在調(diào)用Install模塊的InstallByCfg函數(shù)時(shí),會(huì)調(diào)用Plugins模塊的MonitorRegLoadShellCode函數(shù)。該函數(shù)負(fù)責(zé)監(jiān)控注冊(cè)表指定key,如果key值被改變,該函數(shù)將會(huì)讀取注冊(cè)表中的數(shù)據(jù)并調(diào)用Root模塊的LoadAndInsertShellcodeEx函數(shù)將其加載。

如果網(wǎng)絡(luò)控制端下發(fā)調(diào)用Plugins模塊的OpByCmd函數(shù)的指令,將會(huì)設(shè)置其注冊(cè)表指定key的數(shù)據(jù),過后MonitorRegLoadShellCode函數(shù)將會(huì)監(jiān)控到key值發(fā)生改變,讀取注冊(cè)表數(shù)據(jù)動(dòng)態(tài)加載下發(fā)的Shellcode代碼。

C&C配置模塊分析

配置模塊Config主要負(fù)責(zé)管理當(dāng)前機(jī)器當(dāng)中的配置文件以及對(duì)應(yīng)機(jī)器的ID:

該模塊包含了一個(gè)大小最大為0x858的配置數(shù)據(jù)塊,其中配置數(shù)據(jù)塊是從文件中讀取的,文件位置是由該模塊的第三個(gè)函數(shù)RandomStr提供

隨機(jī)串生成的過程跟系統(tǒng)的卷序列號(hào)相關(guān),所以在不同的機(jī)器上其位置并不相同。但是其有固定的格式,RandomStr均為大寫字母:

%ALLUSERSPROFILE%\RandomStr\ RandomStr\ RandomStr\ RandomStr

配置信息是加密存儲(chǔ)在配置文件中的,通過調(diào)用該模塊的接口函數(shù),可以獲取解密后的配置文件,配置數(shù)據(jù)塊的結(jié)構(gòu)如下:

配置塊的頭部是一個(gè)OffsetTable,其中記錄了各項(xiàng)配置串相對(duì)于EncryptStringStub的偏移,

目前已知的配置位置:

OffsetTable[8]配置塊0x10要注入的進(jìn)程路徑

OffsetTable[0xC]配置塊0x18CC URL地址和CC類型

原始串的前2個(gè)字節(jié)為本串加密的Key,之后通過解密函數(shù)解密獲取解密后的串,所以解密后的串長(zhǎng)度要比原始串的長(zhǎng)度少2。經(jīng)分析還原的解密函數(shù)如下:

?

通過對(duì)程序自身的配置文件進(jìn)行分析:

?

注入程序路徑,加密前的字符:

1 \x1F\xE5\x3A\x86\xF4\x31\xFF\xB8\x9F\x64\x81\x96\xAA\xC4\xB1\xF0\x02\x5E\xC5\xB1\x3E\xAF\x98\x19\xF6\x00\x21\x39\x20\xC5\xC4\x39

解密后:%windir%\system32\svchost.exe

CC遠(yuǎn)程命令控制服務(wù)器的 URL,加密前的串:

1 \x7B\x3C\x1F\x9F\x7E\x01\xA0\x08\xF0\xF6\x1C\x7F\x71\x60\xBD\x63\x66\x95\x7B\xE6\x62\x4C\xB3

解密后:dns://www.notped.com

DNS查詢地址:

8.8.8.8

8.8.4.4

4.2.2.1

4.2.2.2

代碼注入模塊分析

主體代碼注入模塊Install,負(fù)責(zé)將Root模塊代碼注入到指定的進(jìn)程當(dāng)中,以及調(diào)用Online模塊的相關(guān)初始化工作:

函數(shù)InstallByCfg的邏輯如下所示:

?

功能A:

1、調(diào)用Plugins的MonitorRegLoadShellCode函數(shù),創(chuàng)建并監(jiān)控指定注冊(cè)表鍵,讀取注冊(cè)表數(shù)據(jù)加載shellcode執(zhí)行;

2、調(diào)用Config的RandomStr函數(shù)獲取字符串,用來創(chuàng)建全局互斥體

a)如果全局互斥體已存且Root的Op數(shù)值為3,結(jié)束自身進(jìn)程。

b)調(diào)用 Online的 InitNet,初始化網(wǎng)絡(luò)模塊

功能B:

1、調(diào)用Plugins的MonitorRegLoadShellCode函數(shù),打開并監(jiān)控指定注冊(cè)表鍵, 讀取注冊(cè)表數(shù)據(jù)加載shellcode執(zhí)行;

2、查詢Shellcode 106,如果不存在,則休眠1秒繼續(xù)查詢

3、調(diào)用Shellcode 106的第2個(gè)接口函數(shù)

功能C:

1、調(diào)用Config的函數(shù)GetCfgCon獲取配置文件中保存的Pe路徑

2、啟動(dòng)Pe,修改Oep處的代碼,注入Shellcode Root

a)如果失敗,則創(chuàng)建線程調(diào)用功能A

b)如果成功,則結(jié)束自身

網(wǎng)絡(luò)通信模塊分析

Online模塊是本次攻擊的網(wǎng)絡(luò)通信管理模塊,在本次攻擊事件當(dāng)中我們已經(jīng)發(fā)現(xiàn)了DNS模塊,其它幾個(gè)網(wǎng)絡(luò)模塊(TCP、HTTP、UDP、HTTPS、SSL)雖然在代碼當(dāng)中有所體現(xiàn),但是在shellcode當(dāng)中尚未主動(dòng)運(yùn)行,各個(gè)網(wǎng)絡(luò)模塊的函數(shù)接口及其作用如下表所示:

各個(gè)網(wǎng)絡(luò)模塊的功能的展開和運(yùn)行依賴于Online模塊提供的函數(shù)接口列表:

InitNet在讀取網(wǎng)絡(luò)代理配置以后每隔1秒調(diào)用功能A,如果功能A返回20000,則函數(shù)徹底結(jié)束,功能A邏輯:

?

功能B邏輯,用于等待云端下發(fā)代碼執(zhí)行:

?

此次攻擊已知使用的通信模塊是DNS模塊,該后門基于DNS隧道技術(shù)進(jìn)行通信:

該模塊發(fā)送的數(shù)據(jù)包有3種類型:

1.初始化數(shù)據(jù)包,大小為0x18?

?

2.Data數(shù)據(jù)包,大小0x8+

?

3.關(guān)閉數(shù)據(jù)包, 大小0x8

其發(fā)送函數(shù)如下:

?

在調(diào)用DNS模塊2號(hào)函數(shù)返回自定義對(duì)象時(shí),其調(diào)用了GetAdaptersAddresses獲取適配器的DNS

?

最多收集0x10個(gè)DNS,隨后在調(diào)用該模塊第3號(hào)函數(shù)時(shí),其使用收集到的DNS,合并Config文件中的4個(gè)DNS地址,循環(huán)往每一個(gè)DNS發(fā)送查詢,等到到任何一個(gè)返回?cái)?shù)據(jù),或者超時(shí),并記錄下第一個(gè)返回應(yīng)答的DNS數(shù)據(jù)包,以后再次發(fā)送的時(shí)候,只會(huì)給第一個(gè)返回應(yīng)答的DNS發(fā)送數(shù)據(jù)。

?

在發(fā)送數(shù)據(jù)包時(shí),會(huì)將數(shù)據(jù)嵌套到DNS協(xié)議中發(fā)送,其中數(shù)據(jù)會(huì)編碼成特定的字符串,添加在要配置文件中的CC DNS URL前,實(shí)現(xiàn)DNS隧道通訊。


總結(jié)


通過技術(shù)分析,我們發(fā)現(xiàn)“XshellGhost”(xshell幽靈)是一整套復(fù)雜的模塊化的精密木馬病毒,這是一起黑客入侵供應(yīng)鏈軟件商后進(jìn)行的有組織有預(yù)謀的大規(guī)模定向攻擊,我們?nèi)詫?huì)持續(xù)關(guān)注此次攻擊的進(jìn)一步發(fā)展,建議廣大用戶使用360安全衛(wèi)士查殺“XshellGhost”(xshell幽靈)木馬病毒和防御供應(yīng)鏈軟件攻擊。


360追日?qǐng)F(tuán)隊(duì)(Helios Team)


360 追日?qǐng)F(tuán)隊(duì)(Helios Team)是360科技集團(tuán)下屬的高級(jí)威脅研究團(tuán)隊(duì),從事APT攻擊發(fā)現(xiàn)與追蹤、互聯(lián)網(wǎng)安全事件應(yīng)急響應(yīng)、黑客產(chǎn)業(yè)鏈挖掘和研究等工作。團(tuán)隊(duì)成立于2014年12月,通過整合360公司海量安全大數(shù)據(jù),實(shí)現(xiàn)了威脅情報(bào)快速關(guān)聯(lián)溯源,獨(dú)家首次發(fā)現(xiàn)并追蹤了三十余個(gè)APT組織及黑客團(tuán)伙,大大拓寬了國(guó)內(nèi)關(guān)于黑客產(chǎn)業(yè)的研究視野,填補(bǔ)了國(guó)內(nèi)APT研究的空白,并為大量企業(yè)和政府機(jī)構(gòu)提供安全威脅評(píng)估及解決方案輸出。

已公開APT相關(guān)研究成果


總結(jié)

以上是生活随笔為你收集整理的【权威发布】360追日团队:Xshellghost技术分析——入侵感染供应链软件的大规模定向攻击的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。