Bad Packet 測量在野 IoT 僵尸網絡活動
工作來源
GLOBECOM 2021
工作背景
典型的 Mirai 是集中式而不是分布式(P2P)的,如下所示:

各角色分工為:
- Bot:被攻陷的物聯網設備
- C&C:向 Bot 發出指令的命令與控制服務器
- Scanner:掃描發現特定服務/設備
- Report:記錄掃描結果、活躍 Bot 與可用憑證的服務器
- Loader:從 Report 服務器獲取掃描結果與憑據,在設備下載惡意樣本
- Malware:部署惡意代碼提供下載的服務器
掃描通常可分為:
- 垂直掃描,同一個目標掃描多個端口
- 水平掃描,同一個端口掃描多個目標
現代僵尸網絡表現出垂直掃描與水平掃描混合的特性。
工作準備
- 使用 MaxMind 作為地理定位數據
- 使用四個 IP 黑名單(Spamhaus、Barracuda、Spam Open Relay Blocking System、Composite Blocking List)
- 使用 Bad Packet 十一個全球蜜罐(美國 7 個、俄羅斯 2 個、巴西 2 個)
通過首個 TCP SYN 包的序列號等于 IP 地址的特征確定 Mirai 類的活動。

2020 年 7 月至 2021 年 2 月,收集到遍布 203 個國家/地區的 7265 個自治系統中 422003 個獨立 IP 地址的 1599647 次連接嘗試。
感染者總量前十五位的國家/地區如下所示,前五位的國家/地區總計占到了總量的 60%。

按照自治系統的口徑進行統計,前十位的自治系統總計占到了總量的 56%。

工作評估
掃描
目標端口 TOP 10 如下所示,Mirai 的源碼中會主動隨機掃描 TCP 端口 23 與 2323。可見攻擊者現在不僅局限于此,對各種 HTTP/HTTPS 服務也不放過。

低熵值表示 IP 地址只掃描很少的 TCP 端口,高熵值表示 IP 地址隨機掃描很多 TCP 端口。分布如下所示,可見大部分 IP 地址的熵值還是比較低的,說明很多都是只掃描特定 TCP 端口與特定服務的。

如下所示,統計分析每個掃描與唯一端口的數量。每個掃描源最多掃描 15 個端口、最少掃描 2 個端口。

感染
大多數利用的漏洞都是 DVR 的 RCE 漏洞,有些設備甚至七年都沒有打補丁。

569 個 IP 成功實現了入侵,其中近 400 個 IP 地址都傳播 Mozi 的。

活躍
大部分 IP 地址的活躍時間都小于十天,這些 IP 地址在 0-8000 的范圍內對 2063 個不同的 TCP 端口進行掃描。而長時間活躍的 IP 地址僅掃描 47 個不同的 TCP 端口,最長超過了兩百天。

IP 信譽
Spamhaus 擁有數據集中 79% 的 IP 地址、SORBS 有 24.5%、Barracuda 有 23.6%,CBL 的命中率最低只有 6%。

黑名單列表還是在針對特定自治系統時會更有效,可能是特定位置的可見性更高。

列出的相關 IP 地址有 6% 過去被標記為惡意軟件,有 0.58% 涉及垃圾郵件傳播。
工作思考
Bad Packet 通過全球分布的蜜罐,在長達七個月的時間里分析在野僵尸網絡活動。經常看 Twitter 的應該很熟悉 Bad Packet 了,可以認為是 GreyNoise 的同類,下次有機會也寫一下 GreyNoise。
通過數據可以看出,Mozi 的量是非常大的,實際上即使到現在 Mozi 也是死而不僵。其次 Beastmode 的量也非常大,這一僵尸網絡也一直活躍至今。僵尸網絡的攻擊者除非被捕,否則是不會放棄控制的,會持續更新進行規模擴張。