前几天,接到一个nginx后门样本,本着就分析和复现的思路,完整的将整个过程做一次复现,不料最终还获取到了后门的核心代码部分,遂将其整理发布。在后续分析之前先来了解下nginx后门的功能。通过在Cookie中包含特征字符串lkfakjfa,并填写需要反弹的ip和端口,完成shell反弹,这就是后门的一个大致情况。
MD5: ab498686505dfc645e14c6edad280da7VT中可直接下来,前几日还是0查杀,当时只有tencent可以查杀,(当时写文章的时候),目前已被12家厂商查杀。
在已有的分析情报的帮助下,得知nginx后门位于ngx_http_header_filter,IDA装载样本,发现样本带有符号信息。找到ngx_http_header_filter函数,找到了关键字符串lkfakjf。F5之后,发现之后调用了一个connect_shell的函数。通过对connect_shell进行分析发现,是一个反弹shell的功能,利用socket编程完成shell反弹。
首先启动后门nginx文件,由于nginx会绑定80端口,如果多次启动会提示80端口被占用而无法启动。接着进行本地监听9999使用curl来触发漏洞。此时nc里已经得到了shell
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
源码是官方提供的,不过是分析了被植入的后门,重新复写了下逻辑。
那问题来了,为什么不去官网下载或者apt-get、yum、brew安装呢 [/捂脸逃]