有文件实体后门和无文件实体后门&RootKit后门
什么是有文件的实体后门:
在传统的webshell当中,后门代码都是可以精确定位到某一个文件上去的,你可以rm删除它,可以鼠标右键操作它,它是有一个文件实体对象存在的。如下图。都有实体可以操作。
-
-
-
-
可是我连文件都不存在怎么清理后门呢?无文件后门也就是内存马的意思
内存马的概念:
内存马,也被称为无文件马,是无文件攻击的一种常用手段。是在内存中写入恶意后门并执行,达到远程控制Web服务器的目标。这种攻击方式的难度在于,它们利用中间件的进程执行某些恶意代码,不会有文件在硬盘当中,这使得内存马能够绕过许多传统的安全检测工具。
内存马该如何发现以及内存马该如何清除:
对于不同的编程语言,发现和清除内存马的方法可能会有所不同。以下是一些针对PHP,Java和.NET的方法:
PHP:
发现: 监控PHP进程行为:通过对PHP进程执行行为进行监控,关联信息分析敏感行为以识别此类攻击。
清除:严格意义上来说吧,这个php内存马也叫不死马的程序,它就是有一个进程一直在运行中,只要这个进程一直在运行,就会有个死循环代码在一直创建后门文件,所以怎么删它都会再次创建。监控PHP进程定位到之后结束掉这个进程后,再次删除就不会再有那个后门文件了。
Java:
发现:在Github上搜索java-memshell-scanner这个项目,把这个项目中的jsp文件部署到你的网站目录下。浏览器访问即可。这个项目会检测你网站当前是否存在内存马你只需要kill掉就可以了。但是这个工具只支持Tomcat服务器,其它服务器是无效的。不论是java中监听器类型的后门还是过滤器还是伺服器都可以检测到并kill
.NET:
发现:同java的项目一样,Github上搜索aspx-memshell-scanner这个项目把这个项目里的aspx文件部署到网站目录下,通过浏览器访问即可查杀关于.net程序的内存马。也是只支持aspx类型的后门
仅仅通过查看系统进程并分析可能并不能100%确定是否存在内存马。这是因为内存马可能会使用各种技术来隐藏自己,例如进程注入,可以将恶意代码注入到其他正常运行的进程中,从而避免被检测。
所以当我们对系统进行后门排查的时候,不仅需要排查磁盘上的后门文件,还需要排查内存当中的进程,因为进程当中可能隐藏着内存马。
虽然重启系统时,所有的内存都会被清空,包括运行在内存中的内存马,但是,这并不意味着系统就完全安全了。如果内存马的源头,比如一个恶意的启动项或者被感染的文件(这个文件会自动运行启动内存马),还在你的系统中,那么在系统重启后,内存马可能会再次被加载到内存中运行。
因此,虽然重启可以清除当前运行在内存中的内存马,但是如果没有找到并清除内存马的源头,问题可能会再次出现。
如果服务器正在被后门文件导致的被远程控制中,那么可以通过查看系统的网络连接来尝试找出可能的远程IP地址(控制者)。
为什么能在网络连接状态当中查看到远程IP,是哪个主机在控制着你呢?当一个系统中了后门,攻击者需要通过网络与后门(也就是被控制方)进行通信,以发送命令或接收数据,如果没有网络连接那怎么进行发送命令和接收数据呢,这是不可能的,所以这种通信需要建立一个网络连接,这就是为什么你通常可以在网络连接状态中看到与后门相关的远程IP地址。
然而,对方可能还会使用各种技术来隐藏他们的真实IP地址,例如使用代理服务器或者VPN。此外,一些高级的恶意软件可能会使用隐蔽的通信方式,使得网络连接很难被检测到。**一些更复杂的后门可能会使用各种技术来隐藏其网络连接,使其更难被检测。**这就是RootKit后门
Rootkit是一种特殊类型的恶意软件,它可以深入到操作系统的核心层(即内核),并修改系统的基本功能以隐藏其存在。这种深度的访问可以使Rootkit能够控制几乎任何在系统上运行的东西,包括隐藏文件,隐藏进程和隐藏网络连接信息。
因此,如果一个后门使用了Rootkit技术,那么它可能能够隐藏其网络连接,使得你在网络连接状态中无法看到。这就是为什么Rootkit通常被认为是非常危险的恶意软件,因为它们很难被检测和移除。
如果使用了RootKit来隐藏他们的通信,使得我们在网络连接中无法看到远程IP地址又该怎么办?
一种可能的方法是使用入侵检测系统(IDS)或入侵防御系统(IPS)。这些系统可以监控网络流量,寻找可能的恶意活动。它们可以检测到一些常见的攻击模式,并在检测到可疑活动时发出警告。
一种可能的方法是安装Rootkit扫描器:下载并安装适合你的操作系统的Rootkit扫描器。例如,Malwarebytes提供了一个免费的Rootkit扫描和移除工具。
地址:https://www.malwarebytes.com/
运行扫描:在安装了扫描器后,运行全盘扫描以检测任何可能的Rootkit。确保你的扫描器设置为扫描Rootkit。
查看报告:扫描完成后,扫描器会提供一个报告,列出它找到的所有威胁。仔细查看这个报告,看看是否有Rootkit后门被检测到。
移除威胁:如果扫描器找到了Rootkit,那么你应该让它来移除这些威胁。这通常只需要点击一个按钮就可以完成。
由于Rootkit的复杂性和它们隐藏自身的能力,有时候即使使用了Rootkit扫描器,也可能无法完全检测和移除所有的Rootkit。中招了就都试试,那也是没办法
另一种可能的方法是进行深度包检查(DPI)。这是一种网络数据包过滤方法,可以检查数据包的内容,而不仅仅是头部信息。这可以检测到一些更难以发现的恶意活动。