溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

發(fā)布時(shí)間:2021-11-11 15:33:48 來源:億速云 閱讀:212 作者:柒染 欄目:編程語言

本篇文章給大家分享的是有關(guān)開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、簡介

如今,黑客越來越多的通過修改開源的病毒源碼來實(shí)現(xiàn)快速的病毒開發(fā),如Mirai、qbot等公開了源碼的病毒,常被黑客用于二次開發(fā),用以攻擊。前不久,一起針對巴基斯坦的APT攻擊中,發(fā)現(xiàn)黑客所使用的攻擊樣本是通過開源僵尸網(wǎng)絡(luò)病毒LiteHttp改造而來的,與后者的行為基本一致。分析開源惡意軟件源碼,能讓我們更直接地了解惡意軟件的工作原理,從而設(shè)計(jì)出更好的防護(hù)策略,下面,我們就來本地搭建LiteHttp并對其源碼進(jìn)行簡單分析。

LiteHttp是一個(gè)使用C#編寫的開源僵尸網(wǎng)絡(luò)惡意軟件,項(xiàng)目地址:

https://github.com/zettabithf/LiteHTTP

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 項(xiàng)目有3個(gè)目錄,Bot是病毒程序的代碼,Panel是控制端的代碼,使用PHP編寫,Builder是一個(gè)生成器,用于快速生成病毒程序。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 生成器運(yùn)行后如下圖,只要填入控制端的Url以及加解密密鑰,就能自動生成一個(gè)病毒程序,這樣就省去了修改病毒源碼重新編譯的步驟。Builder的代碼就是對Bot的一個(gè)封裝,下面重點(diǎn)分析Bot和Panel的代碼。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 控制端只需要將Panel文件夾復(fù)制到PHP網(wǎng)站目錄下即可運(yùn)行,不過運(yùn)行之前要先導(dǎo)入U(xiǎn)pload_to_database.sql初始化LiteHttp需要的數(shù)據(jù)庫。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 數(shù)據(jù)庫初始化完畢后,訪問Panel下的login路徑即可進(jìn)行登陸控制端,初始的賬戶名和密碼均為admin。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 Dashboard顯示了上線主機(jī)的概況,下發(fā)惡意命令的功能在Tasks標(biāo)簽處。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

二、源碼分析

2.1 代碼流程

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

2.2 主函數(shù)

程序一開始會創(chuàng)建兩個(gè)線程,分別用于執(zhí)行核心攻擊操作,以及持久化攻擊操作。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

2.3 持久化攻擊函數(shù)

持久化攻擊操作比較簡單,就是在注冊表下創(chuàng)建一個(gè)自啟動項(xiàng)“Catlyst Control Center”,實(shí)現(xiàn)每次開機(jī)自動運(yùn)行。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

2.4 核心攻擊函數(shù)

接下來看核心攻擊函數(shù)的代碼,主要做了3個(gè)主要操作:

[1] 收集主機(jī)信息,使用預(yù)先約定的密鑰進(jìn)行加密,然后將加密后的信息以Http的方式上傳至控制端服務(wù)器。

[2] 接受控制端的控制碼并執(zhí)行相應(yīng)的操作。

[3] 上傳執(zhí)行的結(jié)果。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

2.5C&C通信函數(shù)

與C&C通信的代碼在類Communication中,通過POST的方式將加密后的主機(jī)信息上傳到控制端服務(wù)器,這里有一點(diǎn)值得注意,發(fā)送數(shù)據(jù)包前會將Http頭中的UserAgent修改為一個(gè)隨機(jī)字符串,這個(gè)是控制端用來識別肉雞的標(biāo)識。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

2.6 惡意操作執(zhí)行函數(shù)

主要的核心惡意操作在函數(shù)processTask中,通過代碼我們可以發(fā)現(xiàn),控制碼是阿拉伯?dāng)?shù)字,接收的控制碼和執(zhí)行參數(shù)都是通過base64加密的,首先需要對它們進(jìn)行base64解密。主要的操作大致有4個(gè):下載&執(zhí)行可執(zhí)行文件、訪問網(wǎng)站、清除異己、更新&卸載病毒程序。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

三、平臺演示

在運(yùn)行病毒程序前,要現(xiàn)在Settings.cs中填入32位的加解密密鑰。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 同時(shí),在Panel的\inc\config.php中的$deckey中也填入上一步的密鑰,代碼中是使用AES-CBC算法進(jìn)行加密的,密鑰必須相同才能保證解密出的數(shù)據(jù)一致。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 調(diào)試病毒代碼的通信模塊,通過下圖藍(lán)色部分我們可以看到post的數(shù)據(jù)為一堆加密后的主機(jī)信息。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 第一次運(yùn)行時(shí)發(fā)現(xiàn)了一個(gè)bug,當(dāng)病毒程序嘗試與控制端服務(wù)器通信時(shí),服務(wù)器返回了一個(gè)404,這時(shí)就覺得納悶了,路徑?jīng)]錯呀,為什么會返回404,這里就得到Panel源碼中去找答案了。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 打開page.php,發(fā)現(xiàn)原來是只要控制端接收的數(shù)據(jù)不對,就會跳轉(zhuǎn)到404頁面,而通過調(diào)試,最后確認(rèn)了是如下藍(lán)色部分的代碼判斷失敗,這段代碼是用來判斷參數(shù)opsys(肉雞操作系統(tǒng))是否為英文和數(shù)字的組合,而我們中國地區(qū)的windows系統(tǒng)名帶有中文,所以判斷失敗,把這段代碼去掉就能成功執(zhí)行下去了。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 運(yùn)行病毒程序后,在控制端的Dashboard中可以看到一臺主機(jī)上線,由于我的IP是內(nèi)網(wǎng)地址,所以控制端沒有解析出IP的地理位置。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

 隨后,我們就能在Tasks標(biāo)簽頁下對該主機(jī)進(jìn)行相應(yīng)的惡意操作了,下發(fā)惡意命令,狀態(tài)欄中會顯示任務(wù)執(zhí)行的狀態(tài)。

開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析

以上就是開源僵尸網(wǎng)絡(luò)平臺LiteHttp的源碼分析,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI