长亭百川云 - 文章详情

优雅的nginx内存马实现方式,无需临时编译,兼容绝大部分nginx版本

七夜安全博客

64

2024-07-13

随着网络攻击手段的不断演进,内存马技术因其隐蔽性和高效性而备受关注。veo师傅针对nginx服务器,研究出一种全链路内存马技术,旨在提供一种无害化测试程序和防御加固方案,以促进网络安全技术的发展。

原理解析

nginx内存马技术的核心在于利用nginx模块的动态加载特性。通过特定的编译方式,可以绕过nginx对模块版本的检查,实现对所有nginx版本的兼容。该技术通过header_filter和body_filter获取和返回命令执行结果,无需临时编译,具有高度的兼容性和灵活性。

与传统的nginx so backdoor相比,该技术无需临时编译,减少了操作复杂性。同时,它兼容大部分nginx版本,无需额外组件支持,大大提升了其实用性。

在研究过程中,我们遇到了如何绕过nginx对模块版本的检测等技术难题。通过使用__attribute ((constructor))的方式,我们成功解决了这一问题。同时,为了确保模块的兼容性,我们采用了较早版本的函数,避免了使用高版本新增函数。

使用指南

为了正确使用nginx内存马技术,用户需要编译或者直接下载测试程序。

编译:

wget https://nginx.org/download/nginx-1.18.0.tar.gz

编译后的so文件位于 nginx-1.18.0/objs/ngx_http_cre_module.so

也可以在release下载已经编译好的,然后将so文件放置在目标服务器上。通过修改nginx.conf配置文件,加载相应的模块。

load_module path/ngx_http_cre_module.so;

然后重载nginx,即可实现技术的应用。

nignx -s reload

测试POST HTTP header vtoken: whoami (测试程序只允许使用 whoami 命令)

如果无结果返回,可尝试增加header数量:

防御

尽管具有诸多优势,但nginx内存马技术也存在一些局限性。例如,它需要so文件落地,增加了被发现的风险。此外,执行该技术还需要具有nginx -s reload的权限,限制了其应用范围。

为了防范nginx内存马技术带来的安全风险,我们提出了一系列防御加固方案。包括监测Nginx Module的加载情况,监控Nginx进程的行为,查杀落地文件,以及收敛nginx -s reload的权限等措施。

最后

关注下方公众号。发送消息 202406 ,返回项目链接。

一键三连,加星标,这样才能及时看到我。

推荐阅读

推荐1款开源C2框架,支持全平台,功能强大

推荐一款开源跨平台多级内网穿透工具

推荐1款开源文件同步程序,支持全平台,安全可靠,同步迅速

推荐一款开源打包神器:一键将网页打包成桌面应用,支持全平台

从沙盒逃逸看Python黑科技(下篇)

从沙盒逃逸看Python黑科技(上篇)

不一样的 "反弹Shell" 系统剖析

HW : Cobalt Strike 应该这样学

WebShell通用免杀的思考

WebShell "干掉" RASP

无文件执行:一切皆是shellcode (中)

**无文件执行:一切皆是shellcode (上)
**

**linux无文件执行— fexecve 揭秘
**

**沙盒syscall监控组件:strace and wtrace
**

**无"命令"反弹shell-逃逸基于execve的命令监控(上)
**

APT组织武器:MuddyC3泄露代码分析

Python RASP 工程化:一次入侵的思考

如果大家喜欢这篇文章的话,请不要吝啬分享到朋友圈,并置顶公众号。

关注公众号:七夜安全博客

回复【11】:领取Sandboxie源码

  • 回复【1】:领取 Python数据分析 教程大礼包

  • 回复【2】:领取 Python Flask 全套教程

  • 回复【3】:领取 某学院 机器学习 教程

  • 回复【4】:领取 爬虫 教程

  • 回复【5】:领取编译原理 教程

  • 回复【6】:领取渗透测试教程

  • 回复【7】:领取人工智能数学基础

  • 回复【8】:领取 python神经网络 教程 

  • 回复【9】:领取 安卓逆向 教程  

喜欢

分享

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2