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