成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Necurs僵尸網絡再次肆虐,威力強大可進行DDoS攻擊

安全 黑客攻防
在本文中,我們主要分析了該惡意軟件的DDOS功能和添加SOCKS/HTTP代理功能。

[[185343]]

前言

Necurs僵尸網絡是世界上最大的惡意網絡之一,曾經用于傳播各種致命威脅,但是在很長一段時間內它都沒有再出現過,似乎是已經消失了。然而現在,它又回來了,已知的主要功能是發送大量垃圾郵件,這里面最引人注目的是Locky勒索軟件。然而,Necurs并不僅僅是一個垃圾郵件程序,它是一個模塊化的惡意軟件,包含了一個主僵尸網絡模塊、一個用戶級Rootkit,并且它可以動態加載其它模塊。

幾年以來,已經有很多對它的研究,包括它的Rootkit(1、2、3)、DGA、通信協議和垃圾郵件模塊,然而,除了它的垃圾郵件模塊,其它模塊沒有太多的公共信息。

幾個月之前,我們在一些被Necurs感染的系統中注意到,Necurs除了使用常用的80通信端口以外,它還使用了一個IP集和多個不同的端口,它的通信協議似乎發生了變化,下圖顯示了該網絡流量的示例:

該網絡流量的示例

最近,在Necurs僵尸網絡的一個解密的C2通信數據中,我們觀察到了一個請求,目的是加載兩個不同的模塊,每一個模塊包含了不同的參數列表。下圖是解密的C2服務器響應數據包:

解密的C2服務器響應數據包

上半部分是C2服務器對垃圾郵件模塊的響應數據,這是Necurs的知名模塊,參數是C2服務器的地址(鏈接),可以從該地址上接收到新垃圾郵件活動的通知。下半部分是C2服務器對一個未知模塊的響應數據,通過判斷響應數據中的參數值,我們看到它使用了5222端口。

我們是在2016年9月注意到這個模塊的,該模塊的編譯時間是“2016年8月23日”,這個時間表明該模塊是從這個時候開始應用的。當然,也有可能相同模塊的另一個版本在以前部署過,只是沒有被注意到。

我們下載了該模塊,并對它進行逆向分析,試圖了解它到底實現了什么功能。第一眼看上去,它好像是一個簡單的SOCKS/HTTP代理模塊,但是當我們看到該僵尸程序可以接收C2服務器的命令時,我們意識到這是一個新添加的命令,它可以引起僵尸主機向任意目標無限循環的發送HTTP或UDF請求,這種方式只能解釋為是DDOS攻擊。考慮到Necurs僵尸網絡的規模很大,這將是非常有趣的,規模這么大的僵尸網絡可能會產生強大的DDOS攻擊力。

需要注意的是我們還沒有看到Necurs被用于DDOS攻擊,我們只是在它加載一個模塊中看到了它有這種能力。

接下來的內容里,我們會對該模塊進行技術分析,詳細介紹它的C2協議、SOCKS/HTTP代理功能、和DDOS攻擊功能。

一、模塊啟動/初始化

當該模塊被僵尸程序加載后,它會執行以下初始化操作:

1.對參數進行解析,并將解析結果存儲到一個內部C2地址列表中。

2.用以下信息填充一個內存數據結構(下圖中的botsettings數據結構),它包含了以下信息:

  • 僵尸主機ID:根據收集的獨特系統信息產生的唯一標識。
  • 內部IP地址:通過檢查出站套接字連接google.com時所用的IP地址。
  • 外部IP地址:通過ipv4.icanhazip.com或checkip.dyndns.org網站得到的主機外部IP地址。
  • 可用帶寬:通過從微軟下載Windows 7 Service Pack 1文件來測量下載速度。
  • SOCKS/HTTP代理服務端口:大于1024的一個隨機監聽端口。

3.檢查系統是否運行在NAT后面:通過檢查出站套接字IP地址是否與本地地址、外部地址相匹配。如果系統沒有在NAT后面,該僵尸程序會開啟一個SOCKS/HTTP代理服務,監聽一個大于1024的隨機端口。

botsettings的數據結構如下圖:

botsettings的數據結構

二、C2通信協議

在初始化之后,該僵尸程序會循環進入主C2連接過程,除非另有指令,否則,在這個過程中,它會每隔10秒鐘嘗試連接一次當前C2服務器,如果連接當前的C2服務器失敗了,它會嘗試連接C2地址列表中的下一個C2服務器。

該通信協議代碼是二進制的,并且使用了自定義算法進行了加密/模糊。發送到服務器的信息(消息)采用了相似的數據結構(請看下圖中botmsg和c2msg結構),并包含了下面的數據:

1.密鑰:32位加密密鑰。

2.加密頭:消息本身的一個被加密的頭部數據結構(下圖中botmsgheader和c2msgheader結構),里面的信息用密鑰加密了,包含了以下信息:

  • 消息類型:定義了發送的消息/命令類型,大小為1字節。
  • 載荷長度:發送的載荷長度。
  • 頭部HASH:代表了消息中第一字節的HASH值(key,msgtype,unknown和datalength)。
  • 數據HASH:載荷的HASH,用于檢查數據的完整性。

3.加密的載荷:一組被發送的數據,用密鑰的反向值加密過。

.加密的載荷

這就是僵尸程序發送到C2服務器的三種類型的消息,可以通過頭部信息中的msgtype字節來區分它們。通常,有以下三種類型的消息:

1.信標(msgtype 0):這是僵尸程序每10秒鐘發送會給C2服務器的主要消息,該消息的結構是前面提到過的botsettings結構。

2.連通性檢查(msgtype 1):這是一個簡單的虛擬消息,除了加密的消息頭,不包含其它數據。這個消息是在僵尸程序連接C2服務器超時時發送的,目的是查看當前C2服務器還能不能用。

3.代理回連(proxybackconnect)(msgtype 2):在僵尸主機收到C2的開啟socks回連命令時,僵尸主機會建立到C2服務器的連接,并給C2服務器發送這條消息,并且會將發送這條消息時建立的套接字(復用該套接字)直接用到SOCKS/HTTP代理連接中,這樣做的好處是連接發起動作看起來就像是代理客戶端發起的。

作為信標的響應包,C2服務器發送給僵尸程序的消息(或命令)也有三種類型,也可以通過頭部信息中的msgtype字節來區分它們:

1.開始回連代理(start proxybackconnect)(msgtype 1):

起初,僵尸主機給C2服務器發送一個代理回連(proxybackconnect)消息,然后,C2服務器給僵尸主機發送這條(start proxybackconnect)消息,告訴僵尸主機開始回連代理會話。該會話的套接字將會被重用,允許作為一個代理被僵尸程序使用,即使僵尸主機在防火墻之后,并且沒有建立到它的直接連接。

2.睡眠(msgtype 2):

這會使僵尸主機睡眠5分鐘。

3.開始DDOS(msgtype 5):

該命令下達后,會對消息有效負載中指定的目標開始進行DDoS攻擊,攻擊活動有兩種模式:

  • HTTP洪水攻擊:如果消息載荷的前幾個字節是“http:/”,僵尸程序會對目標開啟HTTP洪水攻擊。
  • UDP洪水攻擊:如果消息載荷的前幾個字節不是“http:/”,僵尸程序會對目標開啟UDP洪水攻擊。

三、代理功能

該SOCKS/HTTP代理服務和命令,允許僵尸網絡擁有者將該僵尸主機作為一個代理(HTTP,SOCKSv4和SOCKv5協議)來使用,并使用兩種操作模式來進行中繼連接(直接代理和回連代理)。

在直接代理模式下,客戶端會連接代理服務,然會代理服務會將連接轉向到目的地,如下圖所示:

這只有在僵尸主機沒有受到NAT和防火墻保護時才有可能,這種情況在大多數僵尸網絡中是不行的。

在代理回連模式下,客戶端會連接到代理控制器,然后會從代理控制器的可用代理池中獲得一個出站代理,并通過它來進行連接中繼。如下圖所示:

這種操作模式有幾個優點。最大的一個優點是,即使被感染的系統運行在NAT后面也能正常工作,并且,這將允許僵尸網絡能連接到內部網絡資源中,就好像是來自內部機器的連接。這種代理的另一個常見用法是可以頻繁的變換IP地址,方法是通過頻繁和自動的改變僵尸主機的配置(充當代理的僵尸主機)。

簡要的看一下這種代理方法是如何實施的,下圖顯示的是該C2命令處理函數的一部分:

該C2命令處理函數的一部分

在僵尸程序收到C2發來的“開始回連代理”(startproxybackconnect)命令時(msgtype 1),僵尸程序會向C2服務器發送一個“回連代理”(proxybackconnect)命令(msgtype 2),然后,C2服務器會使用相同的套接字(該套接字所在的連接是僵尸主機給C2服務器發送proxybackconnect命令的套接字),并進入到startprocessincoming函數(請看上圖)中處理實際的代理工作。這意味著用于連接C2服務器的通信連接同時也被用于了代理連接中。Processincomming函數會從傳入連接中讀取2字節(直接代理或通過回接代理),然后,它會檢查前面的值是否是5(SOCKSv5)、4(SOCKSv4)、或包含數字和字母(HTTP代理)然后,它會調用每個支持協議的相應函數,去處理實際的代理工作。

四、DDOS攻擊功能

DDOS攻擊方法可能是該模塊最有趣、最意想不到的一個功能,這個模塊只包含了兩個基本的DDOS攻擊方法,沒有類似于“源IP地址欺騙”或“放大技術”的特殊功能。然而,考慮到Necurs僵尸網絡的規模(每24小時有超過100萬個活性IP),即使是最基本的技術也能產生非常強大的攻擊力。

來看一下它是怎么實施的,在僵尸程序接收到開始DDOS(startDDOS)命令后(msgtype 5),如果在消息的有效載荷中發現“http:/”字符串,那么就調用HTTPflood函數,如果沒有,就調用UDPFlood函數,如下圖所示:

僵尸程序接收到開始DDOS(startDDOS)命令后(msgtype 5)

1. HTTP洪水攻擊模式

使用該模式后,僵尸程序會開啟16個線程用于HTTP攻擊工作,并會發送一個無限循環的HTTP請求。下圖顯示的是16個線程隊列,及發送HTTP請求的部分代碼:

HTTP洪水攻擊模式

HTTP請求使用了以下格式的字符串:

HTTP請求使用了以下格式的字符串

2. UDP洪水攻擊

UDP洪水攻擊工作時,會發送一個128字節到1024字節之間的隨機載荷,該函數包含了一個0.1秒的睡眠,這個時間是根據可用帶寬而定的(在僵尸程序初始化時生成),可能是為了避免在DDoS攻擊時失去對僵尸主機的訪問。下圖顯示了UDP洪水攻擊的主循環:

UDP洪水攻擊的主循環

五、結論

盡管主要以其垃圾郵件模塊而著稱,但是Necurs是一個模塊化的惡意軟件,它可以被用于多種不同的目的。在本文中,我們主要分析了該惡意軟件的DDOS功能和添加SOCKS/HTTP代理功能。盡管我們還沒有看到Necurs實施過DDOS攻擊,但是這種能力目前已經被Necurs部署到了被感染的系統上,并且考慮到該僵尸網絡的規模,它可以產生強大的攻擊力。

責任編輯:趙寧寧 來源: 安全客
相關推薦

2022-02-09 11:51:42

卡巴斯基Roaming Ma觀察

2017-12-17 20:53:22

僵尸網絡無線路由器安全

2021-04-26 23:27:41

僵尸網絡漏洞惡意代碼

2013-06-20 13:59:16

2019-08-05 10:32:58

病毒MyDoom

2013-04-02 10:15:00

2021-12-01 14:57:37

惡意軟件黑客網絡攻擊

2016-04-13 11:35:30

2021-07-08 15:48:51

僵尸網絡IoTDDoS攻擊

2023-07-06 14:26:43

2010-09-02 13:55:37

2009-07-08 19:14:19

2012-08-17 17:18:24

數據中心萬國數據

2009-10-12 13:12:16

木馬病毒QVOD防范

2009-12-10 10:23:32

垃圾郵件網絡安全

2021-11-22 11:11:39

僵尸網絡DDoS攻擊黑客

2012-02-08 10:32:26

ARM服務器ARM芯片

2014-08-27 18:00:18

2017-05-26 16:01:38

2010-09-25 15:50:24

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区久久精品 | 黄视频网站免费观看 | 午夜影院在线观看 | 欧美一级毛片久久99精品蜜桃 | 中文字幕蜜臀av | 欧美高清一级片 | 久久成人人人人精品欧 | 一级看片免费视频囗交动图 | 一区二区久久 | 亚洲精品一级 | 波多野结衣一区二区 | 亚洲性人人天天夜夜摸 | 玖玖玖在线观看 | 羞羞视频免费在线观看 | 国产精品福利在线观看 | 一级毛片免费视频 | 欧美日韩亚洲国产 | 亚洲成人精品一区 | 在线视频第一页 | 成人av一区 | 成年人在线观看视频 | 午夜成人免费视频 | 中文字幕av网 | 国产a级黄色录像 | 91精品国产乱码久久久久久久久 | 国产精品一区二区三区在线 | 色婷婷国产精品综合在线观看 | 中文字幕二区 | 国产乱码精品一区二区三区中文 | 欧美激情网站 | 日日摸夜夜爽人人添av | 九九热免费视频在线观看 | www性色| 国产精品一区二区视频 | 亚洲欧美国产视频 | 国产日韩欧美 | 久久久国产亚洲精品 | 香蕉婷婷 | 欧美亚洲日本 | 国产激情在线 | 亚洲视频中文字幕 |