docker安装redis提示没有日记写入权限_对 Redis 在 Windows 下的利用方式思考
我寫的文章永遠都是那么的又臭又長又菜。
前言
上次寫了一篇有關 SSRF 打 Redis 主從的文章,居然被人噴了!!!說我根本就沒有復現過張嘴就來???我沒有理會,然后又有朋友在群問,Redis 在 Windows 環境下沒有 WEB 如何利用?我說可以往目標嘗試寫 DLL 做劫持或者寫 LNK 來欺騙管理員等方法,迂回的打。但 TMD 我又被噴了!說 Redis 寫文件會有一些版本信息什么的一堆臟數據,根本無法寫出正常 ?DLL、EXE 、LNK 等文件!我說,可以參照 Github 上面的 Redis 主從 RCE 腳本,改改就能寫出干凈的文件。就因為沒有現成的工具,然后就是不聽 ?就是要噴!TMD 的真是“天不生你鍵盤俠,噴道萬古如長夜?!?/code> 佩服佩服!不過也挺感謝這些噴子的,偶爾遇到幾個噴子還能刺激我做些事情,寫寫博客和工具,這一番刺激又給伸手黨貢獻了一個腳本,當然我也希望能拋磚引玉,希望有大佬能再多發幾個 Windows 下 Redis 的利用思路。
正文
首先我們知道,Redis 官方是沒有提供 Windows 版的安裝包的,所以目前為止基本上所有的更新和版本迭代都是 Linux 的,也就是說現在官方的 Linux 版 Redis ?已經更新到了 6.X 的版本,而由微軟開放技術小組所開發和維護的 Windwos 下使用的 Redis 還是 3.X 的版本。所以什么想在 Windows 下加載 DLL 打主從,估計還是沒戲的。
目前網上公開的對 Windows 下的 redis 的利用方法:
往
WEB目錄寫馬寫啟動項
這兩項方法對寫出的文件都沒有嚴格的內容要求,即使有臟數據也不會影響最終的效果。
本文公開部分其他潛在的攻擊方法:
系統
DLL劫持 (目標重啟或注銷)針對特定軟件的
DLL劫持(目標一次點擊)覆寫目標的快捷方式 (目標一次點擊)
覆寫特定軟件的配置文件達到提權目的 (目標無需點擊或一次點擊)
覆寫
sethc.exe等文件 (攻擊方一次觸發)
這些方法由于寫出的是二進制或者不允許有雜質的文件所以對寫出的文件有著嚴格的內容要求。
系統 DLL 劫持
這里以劫持 linkinfo.dll 為例
我們知道 explorer.exe 進程會在每次啟動時自動加載 linkinfo.dll,所以我們可以利用它來控制目標主機,我們只需要把 ?linkinfo.dll 寫入到 C:\Windows\ 目錄下即可
這里使用 msf 生成一個 ?dll ?彈個 clac.exe 然后寫入目標即可
當 ?explorer.exe ?被重新啟動時 DLL 就會被執行 (應該是 DLL 沒搞好,崩潰了,執行完以后沒進入桌面,建議使用前本地調試)
針對特定軟件的 DLL 劫持
其實沒什么好寫的,只是提供個思路,這里以 notepad++ 為例因為遇到的不會太多 ( 奸笑)
覆寫 DLL 后當管理員打開 Notepad++ 就會觸發我們的惡意 DLL
動圖:
快捷方式覆寫
使用 redis 覆寫目標桌面的快捷鍵達到上線效果。
覆寫前
覆寫后:
動圖:
覆寫特定軟件的配置文件達到提權目的
這里以寶塔為例。僅修改 title 讓前端展示發生變化(可修改其他文件使目標上線)
寶塔的配置文件默認在 \BtSoft\panel\config 文件夾中,嘗試使用 Redis 覆寫 config.json 修改它的 title 配置文件是 json 的格式,所以覆寫的時候最好不要有其他垃圾數據,此腳本剛好解決這個問題 :)
覆寫前
覆寫后
還可以覆寫寶塔的其他文件使目標上線,大家可以自己摸索一下。:D
動圖:
高權限下可覆寫 sethc.exe 等可單向觸發的文件
我這使用火絨劍監控 redis 的進程,然后用 Kali 打 redis 寫文件,看是否有寫的操作和是否寫入成功。
沒有打之前 Redis 的服務端沒有并沒有修改過任何資源, sethc.exe 的創建日期是 2010/11/21
打完以后可以看到 redis 的服務端確實有做修改的操作,但是并沒有成功而 sethc.exe 也并沒有被修改
當我以為是沒有權限寫 C:\windows\system32 目錄的時候,我發現并不是,我可以往這個目錄下寫入任意不存在的文件文件,但是卻不能覆寫已存在的文件,別的路徑卻可以,看來是有保護機制。(終究還是權限的原因)
嘗試往 C:\windows\system32 目錄下寫入 sethc.exe.exe 測試目錄是否可寫,發現是可以輕易寫入的
但當 Redis 是以 SYSTEM 權限啟動時就可以覆寫 sethc 實施 sethc ?后門攻擊(寫文章時先打了一遍,導致sethc 的圖標變成了 cmd 圖標的了... 但其實是正常的和上面的時間大小都是一致的)
打之前:
打之后,可以看到只要權限足夠 redis 也是可以通過覆寫目標 sethc.exe 達到控制目標服務器的效果
動圖:
腳本地址請點查看原文或到我的 Github 獲取。 高清圖片和 GIF 請到我的博客查看。
總結
以上是生活随笔為你收集整理的docker安装redis提示没有日记写入权限_对 Redis 在 Windows 下的利用方式思考的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: excel求和为什么是0_Excel教程
- 下一篇: 原生js循环展示dom_【前端面试】用一