如果你的 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……
netstat -tulpen
为了得到一个监控列表(tcp 和 udp)进程,我没有涵盖 portscan 中的所有端口,因此这里的输出可能很有趣。
netstat -taupn
从服务器显示活动的传出连接(tcp 和 udp),然而,这两个清单都没有显示可疑的活动。
对 chkrootkit 进行 rootkit 检测,也没有找到任何东西。rkhunter 和 clamav 也没有产生任何异常。ClamAV(Linux 杀毒软件)也没有检测到 PHP Shell 和 Windows 木马程序。
虽然我很努力,但到目前为止还没有发现异常打开的端口,异常的进程运行。于是,我和一个管理员核实了 FTP 和 ssh 帐号,这些账号看起来也很正常。
但我并没有放弃,在使用了 mac-robber 工具后,我收集了在服务器上创建和修改的文件信息(稍后可以用来创建事件的时间轴):
./mac-robber / > /root/forensics/timeline.txt
截至目前,我收集的证据包括:
关于在服务器上何时创建了哪些文件的信息。
各种日志文件,其中包括 Apache 日志。
受损网站的源代码和一些修改的 Shell。
在第一次和第二次攻击之间备份的信息。
分析证据
由于已经发现了攻击者放置的一些 Web Shell,在经过分析后,我认为,这些文件很像 Xjrop.php、Nwfqx.php 或 Rwchn7.php,并且很可能驻留在常规应用程序文件。
然而,也有一个 up.php 文件被调用,它提供了一个相似的目的,但有其他的源代码。而 Xjrop.php,Nwfqx.php 和 Rwchn7.php 是一样的,up.php 是另一种具有略微不同功能的 Shell。用 diff 命令,比较文件:
diff Xjrop.php Nwfqx.php
或者通过他们的 md5sum 进行比较:
md5sum Xjrop.php
md5sum Nwfqx.php
还有 2 个文件 bjrnpf.php 和 jemkwl.php,这些都是相同的,但不同于其他文件。一个可疑的可执行文件被命名为 windoze,我怀疑是一些恶意软件从这个主机分发的。
我构建了这个文件的 md5sum,并检查了 VirusTotal 的哈希值,注意,在 VirusTotal 上上传的文件可以被其他研究人员看到,因此是公开的。VirusTotal 认为这个文件是木马,为了以后的分析,我保存了它。
建站咨询热线
135-1615-8738