從2017-09-13 01:02:13開始,360網絡安全研究院捕獲到一個新的針對iot設備的惡意樣本出現,在隨後的這個一個多月時間裡,這個新的IoT殭屍網絡家族不斷持續更新,開始在網際網路上快速大規模的組建殭屍網絡軍團。
該殭屍網絡脫胎於mirai,但是在諸多方面比mirai更進一步,特別是開始放棄弱口令猜測,完全轉向利用IoT設備漏洞收割,成為IoT殭屍網絡裡的新興玩家。我們將之命名為IoT_reaper。
IoT_reaper規模較大且正在積極擴張,例如最近的數據昨日(10月19日)在我們觀察到的多個C2中,其中一個C2上活躍IP位址去重後已經有10k個,此外還有更多的易感設備信息已經被提交到後臺,由一個自動的loader持續植入惡意代碼、擴大殭屍網絡規模。
所幸目前該殭屍網絡還尚未發出植入惡意代碼以外的其他攻擊指令,這反映出該殭屍網絡仍然處在早期擴張階段。但是作者正在積極的修改代碼,這值得我們警惕。
我們公開IoT_reaper的相關信息,希望安全社區、設備供應商、政府能夠採取共同行動,聯合遏制該殭屍網絡的擴張。
源於mirai,高於mirai
該殭屍網絡部分借用了mirai的原始碼,但是在幾個關鍵行為上顯著區別於mirai,包括:
惡意代碼投入時不再使用弱口令猜測、而是使用iot設備漏洞,掃描發現效率大大提高;
惡意代碼中集成了LUA執行環境,從而支持通過lua腳本編寫複雜的攻擊指令;
主動抑制了掃描速度, 被安全研究者發現的風險大大降低;
樣本的投入、C2的布局和流量變化
以hxxp://162.211.183.192/sa樣本為例,樣本的投入過程如下。可以注意到downloader是IoT_reaper特有,這個 C2 布局與mirai有顯著區別:
211.183.192:downloader,樣本下載伺服器,一般以"d"作為二級域名,d.hl852.com
102.101.121:controller,能夠控制BOT、發送控制指令,一般以"e"作為二級域名,e.hl852.com
112.82.231:reporter,接收BOT掃描到的易感染設備信息,一般以"f"作為二級域名,f.hl852.com
82.26.157:loader,基於reporter獲得的IP信息,通過漏洞植入bot
下圖是上述4個IP位址自9月1日以來的流量變化:
圖1
樣本中集成了9個IoT漏洞
IoT_reaper完全放棄了mirai中利用弱口令猜測的方式,轉為利用IoT設備的漏洞植入,當前樣本中集成了了9個IoT設備漏洞。最近十天以來,攻擊者正在積極的將漏洞利用集成進入樣本中,其中一個漏洞在公開後僅2天就被集成。
Dlink https://blogs.securiteam.com/index.php/archives/3364
Goahead https://pierrekim.github.io/blog/2017-03-08-camera-goahead-0day.html
JAWS https://www.pentestpartners.com/blog/pwning-cctv-cameras/
Netgear https://blogs.securiteam.com/index.php/archives/3409
Vacron NVR https://blogs.securiteam.com/index.php/archives/3445
Netgear http://seclists.org/bugtraq/2013/Jun/8
Linksys http://www.s3cur1ty.de/m1adv2013-004
dlink http://www.s3cur1ty.de/m1adv2013-003
AVTECH https://github.com/Trietptm-on-Security/AVTECH
圖2
可以注意到作者在積極的改進代碼:
樣本中集成了lua執行環境
Md5: CA92A3B74A65CE06035FCC280740DAF6
基於lua執行環境,攻擊者可以編寫出非常複雜而且高效的攻擊腳本。
樣本中集成了約100個DNS伺服器
比照我們的DRDoS數據,100+的DNS伺服器中,有大約三分之一的伺服器曾經在現實世界中用來做為DNS反射攻擊的反射點。這在之前mirai及其變種中是沒有觀察到的。
攻擊者是否能夠進一步充分組合使用 IoT 殭屍網絡 + DNS反射點 打出大流量的DDoS攻擊,有待進一步觀察。
目前為止沒有實質性的攻擊指令
攻擊指令方面,雖然我們在lua的源文件中看到了N中ddos攻擊方式,但目前為止除了下載樣本的指令以外,沒有看到實際DDoS攻擊指令,這顯示出攻擊者目前工作重心仍在構建殭屍網絡上。
感染規模
基於一些統計技巧,我們對感染規模做了一個相對精確的統計
攻擊能力
雖然目前為止我們沒有監測到該殭屍網絡除植入惡意代碼以外的任何攻擊行為,但是我們判定該殭屍網絡有較強的攻擊潛力:
IoC URLs
hxxp://cbk99.com:8080/run.lua
hxxp://bbk80.com/api/api.php
hxxp://103.1.221.40/63ae01/39xjsda.php
hxxp://162.211.183.192/down/server.armel
hxxp://162.211.183.192/sa
hxxp://162.211.183.192/sa5
hxxp://162.211.183.192/server.armel
hxxp://162.211.183.192/sm
hxxp://162.211.183.192/xget
hxxp://198.44.241.220:8080/run.lua
hxxp://23.234.51.91/control-ARM-LSB
hxxp://23.234.51.91/control-MIPS32-MSB
hxxp://23.234.51.91/htam5le
hxxp://23.234.51.91/htmpbe
hxxp://27.102.101.121/down/1506753086
hxxp://27.102.101.121/down/1506851514
IoC Hashes
3182a132ee9ed2280ce02144e974220a
3d680273377b67e6491051abe17759db
41ef6a5c5b2fde1b367685c7b8b3c154
4406bace3030446371df53ebbdc17785
4e2f58ba9a8a2bf47bdc24ee74956c73
596b3167fe0d13e3a0cfea6a53209be4
6587173d571d2a587c144525195daec9
6f91694106bb6d5aaa7a7eac841141d9
704098c8a8a6641a04d25af7406088e1
726d0626f66d5cacfeff36ed954dad70
76be3db77c7eb56825fe60009de2a8f2
95b448bdf6b6c97a33e1d1dbe41678eb
9ad8473148e994981454b3b04370d1ec
9f8e8b62b5adaf9c4b5bdbce6b2b95d1
a3401685d8d9c7977180a5c6df2f646a
abe79b8e66c623c771acf9e21c162f44
b2d4a77244cd4f704b65037baf82d897
ca92a3b74a65ce06035fcc280740daf6
e9a03dbde09c6b0a83eefc9c295711d7
f9ec2427377cbc6afb4a7ff011e0de77
fb7c00afe00eeefb5d8a24d524f99370
自360網絡安全研究院披露該殭屍網絡病毒後,收到了來自安全社區和各方很多問題。這裡360網絡安全研究院給出一個快速的更新,以澄清各方可能的疑問。
IoT_reaper樣本投遞歷史情況
我們通過蜜罐觀察到的 IoT_reaper 樣本歷史投遞情況如下:
圖3
可以看出,IoT_reaper 最主要傳播的惡意代碼位於下面這個URL上:
這個URL上的樣本之間內聚關係比較強,我們稱為S簇。
後來進一步的分析,認為S簇還包括其他一些樣本;而在S簇之外,還有一個LUA簇,以及其他更小一些的未知簇。
S簇的樣本構成
我們認為S簇包含下面這些URL上的樣本:
hxxp://162.211.183.192/sa
hxxp://162.211.183.192/sa5
hxxp://162.211.183.192/sm
hxxp://162.211.183.192/sml
簇內的命名策略可能是這樣的,頭部的s代表S簇:
sa: arm
sa5:arm5
sm:mips
sml:mips 小端
S簇的C2 布局、感染機制和數字疑問
圖4
如上圖:
與 S 簇感染相關的有一組不同的數字,近日來容易引起安全社區的混淆。我們看到的數字如下:
這兩個數字之間有 顯著差距,原因尚不明確。這可能是因為攻擊者的實現導致在隊列中加入了大量的不存在相應漏洞的設備, 或者是攻擊者的 loader 處理能力不足而被動積壓,也有可能是攻擊者主動抑制了感染速度以減少暴露風險,或者是因為其他我們不得而知的原因。
S 簇單臺 C2 感染情況統計(2017-10-13 ~ 2017-10-23)
時間分布:
圖5
國家分布:
圖6
被感染的前十國家:
圖7
與 mirai 初期感染情況對比
圖8
S簇的近期樣本變化情況
我們會監控視野範圍內樣本變化情況。在10月23日,我們檢測到S簇的如下URL內容發生變化:
變化情況如下表所示:
圖9
在原始報告的「樣本的投入、C2 的布局和流量變化」一節已經提及:這是一個惡意代碼樣本,被控制者放置在downloader伺服器上,被loader伺服器投遞,投遞成功後會向controller報告心跳,啟動掃描並將掃描到的易感染設備信息報告給reporter。
我們仔細觀察更新後的樣本發現:
新集成了一個新的漏洞利用:http://roberto.greyhats.it/advisories/20130227-dlink-dir.txt
心跳會指向hl852.com/e.hl859.com
樣本中內置了9個硬編碼的IP位址,掃描時,掃描目標地址會包含;
上述9個IP位址上有共計 34個埠會被頻繁掃描:其中17個埠是硬編碼的,樣本會隨機掃描其中的部分;另外17個埠雖然會被頻繁掃描,但是並未被直接硬編碼到樣本中。我們推測樣本中隱藏了某段邏輯來掃描後面17個埠。
這第十個漏洞利用在樣本中的調用過程:
圖10
上述9個硬編碼的IP位址是:
217.155.58.226
85.229.43.75
213.185.228.42
218.186.0.186
103.56.233.78
103.245.77.113
116.58.254.40
201.242.171.137
36.85.177.3
對應的,我們可以觀察到大網上這9個IP位址的流量在上述時間點以後開始增加:
圖11
34 個硬編碼、沒有硬編碼但是會被掃描的埠號:
圖12
S 簇的 C2 DNS流量變化
S 簇先後使用了下面一組C2,對應的 DNS 流量圖見後
hi8520.com:對應圖中最上方藍色曲線;
hl852.com:對應圖中中間綠色曲線;
ha859.com:對應途中底部黃色曲線;
圖13
IoC
hxxp://162.211.183.192/sa 41ef6a5c5b2fde1b367685c7b8b3c154
hxxp://162.211.183.192/sa f9ec2427377cbc6afb4a7ff011e0de77
hxxp://162.211.183.192/sa 76be3db77c7eb56825fe60009de2a8f2
hxxp://162.211.183.192/sa5 95b448bdf6b6c97a33e1d1dbe41678eb
hxxp://162.211.183.192/sa e9a03dbde09c6b0a83eefc9c295711d7
hxxp://162.211.183.192/sa 3d680273377b67e6491051abe17759db
hxxp://162.211.183.192/sa 726d0626f66d5cacfeff36ed954dad70
http81新型殭屍網絡來襲 國內超5萬臺攝像頭遭控制
Dorothy2:一個開源的殭屍網絡分析框架
Ramnit殭屍網絡歸來,被猜測為同一團隊所為