超過 39,000 個未經身份驗證的 Redis 服務以加密貨幣活動為目標
Redis,是一種流行的開源數據結構工具,可用作內存分布式數據庫、消息代理或緩存。該工具并非旨在公開在互聯網上。但是,研究人員發現數以萬計的 Redis 實例無需身份驗證即可公開訪問。
研究員Victor Zhu詳細介紹了一個 Redis 未授權訪問漏洞,該漏洞可被利用來破壞在線暴露的 Redis 實例。
“在某些情況下,如果 Redis 使用 root 帳戶運行(甚至不使用),攻擊者可以將 SSH 公鑰文件寫入 root 帳戶,直接通過 SSH 登錄到受害服務器。這可能讓黑客獲得服務器權限,刪除或竊取數據,甚至導致加密勒索,嚴重危及正常的業務服務。”
來自 Censys 的研究人員警告稱,互聯網上暴露的數以萬計未經身份驗證的 Redis 服務器正受到攻擊,威脅行為者正在針對這些實例安裝加密貨幣礦工。
在公共互聯網上的 350,675 個 Redis 服務中,有 39,405 個未經身份驗證的 Redis 服務。互聯網上近 50% 的未經身份驗證的 Redis 服務顯示出企圖妥協的跡象。
這種利用技術背后的總體思路是配置 Redis 以將其基于文件的數據庫寫入一個目錄,該目錄包含一些授權用戶的方法(例如向 '.ssh/authorized_keys' 添加密鑰),或啟動一個進程(例如添加'/etc/cron.d' 的腳本)。
專家們發現的證據表明正在進行的黑客活動,威脅參與者試圖使用多個前綴為字符串“backup”的 Redis 密鑰將惡意 crontab 條目存儲 到文件“/var/spool/cron/root”中。crontab 條目允許攻擊者執行托管在遠程服務器上的 shell 腳本。
該 shell 腳本旨在執行以下惡意操作:
停止和禁用任何正在運行的與安全相關的進程
停止和禁用任何正在運行的系統監控進程
刪除并清除所有系統和安全相關的日志文件,包括 shell 歷史記錄(例如,.bash_history)。
將新的 SSH 密鑰添加到 root 用戶的 authorized_keys 文件
禁用 iptables 防火墻
安裝多個黑客和掃描工具,例如“masscan”
安裝并運行加密幣挖掘應用程序 XMRig
研究人員使用最近在 TCP 端口 6379 上運行的未經身份驗證的 Redis 服務列表來運行一次性掃描,以查找每個主機上是否存在密鑰“backup1”。Censys 發現,在此列表中的 31,239 臺未經身份驗證的 Redis 服務器中,有 15,526 臺主機擁有此密鑰集。這些實例被威脅行為者使用上述技術作為目標。
大多數暴露在互聯網上的 Redis 服務器位于中國(15.29%),其次是德國(14.11%)和新加坡(12.43%)。
不過,這并不意味著有超過15,000個受感染的主機。這些主機中的每一個都具備使此漏洞成功所需的條件是不可能的。許多這些嘗試失敗的主要原因是 Redis 服務需要以具有適當權限的用戶身份運行以寫入目錄“/var/spool/cron”“,雖然,在容器(如 docker)中運行 Redis 時可能會出現這種情況,該進程可能會將自己視為以 root 身份運行并允許攻擊者編寫這些文件。但在這種情況下,只有容器受到影響,而不是物理主機。