关于网站后门木马的一些隐蔽手法分析

后门是绕过认证或系统加密的方法。攻击者有时会为了各种目的建立自己的后门,比如攻击者为了恢复设备制造商的默认密码。另一方面,攻击者会注入后门,到有漏洞的服务器远程控制服务器,进行攻击,上传木马修改文件或数据。一般来说,攻击者会注入后门来获得代码执行或上传文件的权限。这篇文章讲述了攻击者注入后门和避免检测的方法,并举例说明了数据中发现的后门以及如何使用不同的避免检测和混淆技术。


后门的类型。后门有很多种,也是用不同的编程语音编写的。例如,PHP语言编写的后门可以在PHP服务器上运行,ASP编写的后门可以在.NET服务器上运行。后门的功能也不一样。比如webshell可以用来在感染的系统上执行后门,让攻击者上传和执行文件。Github上有很多开源后门。黑客可以选择注入一些著名的后门,但缺点是容易被发现。有些高级黑客会自己开发后门,或者混淆知名后门。


常见的安全控制措施。安全控制措施会用不同的方法拦截后门。另一种方法是通过HTTP请求拦截注入的后门,另一种方法是在HTTP响应阶段分析后门的内容,确定是否包含恶意代码。攻击者在注入代码时会隐藏自己的真实意图,经常使用的避免被检测到的技术包括混淆函数和参数名,编码恶意代码等。


PHP避免检测技术。避免检测的动机是隐藏函数或PHP关键词,包括:文字重排,在这个例子中,页面的输出是404NotFound信息(第2行),这实际上是错误的信息。但是,这里有潜在的后门代码(第3-13行)。关键词_POST是以明确的形式写的,攻击者用简单的方法隐藏。隐藏_POST关键词的后门。在第一行中,后门代码将关闭错误报告,以避免检测错误信息。在第三行中,default参数的定义看起来像是字符串的随机组合。

第四行about参数重新排序字符串,变成大写来构建关键词_POST。第5-12行_POST关键词用于检查HTTP请求是否通过POST发送,是否包含lequ参数。如果是,后门将使用eval函数运行lequ参数发送的代码。这样,后门就可以读取post请求参数中的值,而不使用关键词$_POST。



字符串连接。攻击者使用混淆已知关键词的方法之一是字符串连接,如下图所示:用字符串连接到隐藏已知函数的后门。不像以前的后门,上面的后门只有chr函数(第一行)在代码段。该函数从0~255之间取出一个数字,然后返回相应的ASCII码字母。在字符或字符串的最后一点是PHP连接下一个字符串的方法。有了这个功能,攻击者可以连接许多字符串来创建已知函数的关键词,以避免检测。函数将以@开始的标记来执行。这个后门的目的是创建一个函数来评估post请求的第一个参数代码。攻击者使用这个后门可以欺骗检测系统,并且使用POST请求将任何代码发送到被感染的服务器,然后代码将在服务器上执行。


分享: