随着网络攻击手段的不断演进,内存马技术因其隐蔽性和高效性而备受关注。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 ,返回项目链接。
一键三连,加星标,这样才能及时看到我。
**沙盒syscall监控组件:strace and wtrace
**
**无"命令"反弹shell-逃逸基于execve的命令监控(上)
**
如果大家喜欢这篇文章的话,请不要吝啬分享到朋友圈,并置顶公众号。
关注公众号:七夜安全博客
回复【11】:领取Sandboxie源码
回复【1】:领取 Python数据分析 教程大礼包
回复【2】:领取 Python Flask 全套教程
回复【3】:领取 某学院 机器学习 教程
回复【4】:领取 爬虫 教程
回复【5】:领取编译原理 教程
回复【6】:领取渗透测试教程
回复【7】:领取人工智能数学基础
回复【8】:领取 python神经网络 教程
回复【9】:领取 安卓逆向 教程
喜欢
分享