惨遭黑客入侵,记一次服务器被攻击的应急行动!
如果你的 PHP 服务器被黑客入侵时该怎么办?这是我最近处理 Linux Web 服务器发现的一个问题。 PHP 服务器被黑时,会出现新的 PHP 文件,这与运行在服务器上的 wordpress 应用程序和特定的用户代理没有任何关系,所有的流量都被重定向到另一个站点。 在第一次被攻击之后,我已经禁用了所有他所检测到的恶意文件,并修复了重定向,直到服务器再次被黑客攻击。 为此,要将这些应用程序转移到新的设备进行分析,我必须在原系统上对下列 3 个线索进行取证:
不过要说明的是,我的目的不是要建立一个合法有效的保护机制,而是要确定:
在获得域名、IP 和 SSH 证书后,我就开始收集被黑的证据了。 收集证据 在连接到服务器之前,我注意到我的 IP,以确保以后能够在日志中把它区分开。 然后通过 SFTP 连接,由于服务器的磁盘安装和运行,我无法进行映像。所以我下载了所有我可以得到的日志文件以及其他感兴趣的文件。 我复制了整个 /var/log/ 目录,并从虚拟主机根文档所在的目录中复制了 Apache 特定的日志文件,并复制了被黑的 PHP 应用程序,以及在事件发生后不久的一些备份。 不幸的是,我没有对管理员所做的更改进行备份,因此一些关键的文件可能已经被修改了。 我启动了 Kali 并运行了一个具有 portscan 端口扫描器程序的 Nmap 扫描,另外我还安装 WPScan。 因为服务器运行的是一个旧的 Wordpress 实例,而且这个实例也执行了重定向,所以 Wordpress 看起来很可能是攻击的初始点。 Wordpress 在受到黑客攻击后已经更新,WPScan 没有发现任何当前的漏洞。portscan 为 FTP、SSH、HTTP 和 HTTPS 提供了开放端口,而这在 Web 服务器上是不可能的。 我在 wp - content 目录下发现了所有的 Shell,在某种程度上,这意味着 Wordpress 应用程序已经被破坏。 我还检查了 VirusTotal,看看网站是否传播了恶意软件,但一切似乎都很正常。 于是我决定通过控制台登录系统,但前提是我不知道服务器上的二进制文件是否被感染了,因此为了减少取证的影响,我带来了我自己的静态链接二进制文件。 我从 busybox 下载了二进制 coreutil,并将它们上传到了服务器上。我还通过 SLEUTH Kit 上传了 chkrootkit 和一个叫做 mac-robber 的工具。 我使用静态二进制文件来检查系统,得到一个运行流程列表,cronjob……
为了得到一个监控列表(tcp 和 udp)进程,我没有涵盖 portscan 中的所有端口,因此这里的输出可能很有趣。
从服务器显示活动的传出连接(tcp 和 udp),然而,这两个清单都没有显示可疑的活动。 对 chkrootkit 进行 rootkit 检测,也没有找到任何东西。rkhunter 和 clamav 也没有产生任何异常。ClamAV(Linux 杀毒软件)也没有检测到 PHP Shell 和 Windows 木马程序。 虽然我很努力,但到目前为止还没有发现异常打开的端口,异常的进程运行。于是,我和一个管理员核实了 FTP 和 ssh 帐号,这些账号看起来也很正常。 但我并没有放弃,在使用了 mac-robber 工具后,我收集了在服务器上创建和修改的文件信息(稍后可以用来创建事件的时间轴):
截至目前,我收集的证据包括:
分析证据 由于已经发现了攻击者放置的一些 Web Shell,在经过分析后,我认为,这些文件很像 Xjrop.php、Nwfqx.php 或 Rwchn7.php,并且很可能驻留在常规应用程序文件。 然而,也有一个 up.php 文件被调用,它提供了一个相似的目的,但有其他的源代码。而 Xjrop.php,Nwfqx.php 和 Rwchn7.php 是一样的,up.php 是另一种具有略微不同功能的 Shell。用 diff 命令,比较文件:
或者通过他们的 md5sum 进行比较:
还有 2 个文件 bjrnpf.php 和 jemkwl.php,这些都是相同的,但不同于其他文件。一个可疑的可执行文件被命名为 windoze,我怀疑是一些恶意软件从这个主机分发的。 我构建了这个文件的 md5sum,并检查了 VirusTotal 的哈希值,注意,在 VirusTotal 上上传的文件可以被其他研究人员看到,因此是公开的。VirusTotal 认为这个文件是木马,为了以后的分析,我保存了它。 (编辑:ASP站长网) |