超過3萬9千個未經身份驗證的Redis實例暴露在互聯網上
一個未知的攻擊者針對暴露在互聯網上的數萬臺未經身份驗證的 Redis 服務器,試圖安裝加密貨幣礦工。
目前尚不清楚所有這些主機是否都被成功入侵。盡管如此,它還是通過一種“鮮為人知的技術”實現的,該技術旨在欺騙服務器將數據寫入任意文件——這是 2018 年 9 月首次記錄的未經授權訪問的案例。
“這種利用技術背后的總體思路是配置 Redis 以將其基于文件的數據庫寫入一個目錄,該目錄包含一些授權用戶的方法(例如向 '.ssh/authorized_keys' 添加密鑰),或啟動一個進程(例如添加'/etc/cron.d'的腳本),”Censys在一篇新文章中說。

攻擊面管理平臺表示,它發現了證據(即 Redis 命令),表明部分攻擊者努力將惡意crontab 條目存儲到文件“/var/spool/cron/root”中,從而導致執行托管的 shell 腳本在遠程服務器上。
仍然可以訪問的 shell 腳本被設計為執行以下操作 -
- 終止安全相關和系統監控進程
- 清除日志文件和命令歷史
- 將新的 SSH 密鑰(“backup1”)添加到 root 用戶的authorized_keys 文件以啟用遠程訪問
- 禁用iptables防火墻
- 安裝masscan等掃描工具,以及
- 安裝并運行加密貨幣挖掘應用程序 XMRig
據說 SSH 密鑰已設置在 31,239 個未經身份驗證的 Redis 服務器中的 15,526 個上,這表明該攻擊是在“互聯網上超過 49% 的已知未經身份驗證的 Redis 服務器上”進行的。

然而,這種攻擊可能失敗的一個主要原因是,Redis 服務需要以提升的權限(即 root)運行,以使攻擊者能夠寫入上述 cron 目錄。
“雖然,在容器(如 docker)中運行 Redis 時可能會出現這種情況,該進程可能會認為自己以 root 身份運行并允許攻擊者編寫這些文件,”Censys 研究人員說。“但在這種情況下,只有容器受到影響,而不是物理主機。”
Censys 的報告還顯示,大約有 350,675 個可通過 Internet 訪問的 Redis 數據庫服務,跨越 260,534 個獨立主機。
“雖然這些服務中的大多數都需要身份驗證,但 11% (39,405) 不需要,”該公司表示,并補充說“在我們觀察到的 39,405 臺未經身份驗證的 Redis 服務器中,潛在的數據暴露超過 300 GB。”
暴露和未經身份驗證的 Redis 服務排名前 10 的國家包括中國(20,011)、美國(5,108)、德國(1,724)、新加坡(1,236)、印度(876)、法國(807)、日本(711)、香港( 512)、荷蘭 (433) 和愛爾蘭 (390)。
在每個國家暴露的數據量方面,中國也處于領先地位,占 146 GB 的數據,美國以大約 40 GB 的數據排在第二位。
Censys 表示,它還發現了許多配置錯誤的 Redis 服務實例,并指出“以色列是唯一一個配置錯誤的 Redis 服務器數量超過正確配置的地區之一。”
為了緩解威脅,建議用戶啟用客戶端身份驗證,將 Redis 配置為僅在面向內部的網絡接口上運行,通過將 CONFIG 命令重命名為不可猜測的名稱來防止濫用,并將防火墻配置為僅接受來自受信任主機的 Redis 連接。
Redis數據庫裸露


