病毒如何进入 WordPress (uniq/load.php -> crypted120med.exe)?
How the virus got to the WordPress (uniq/load.php -> crypted120med.exe)?
当我去
http:// MY_IP :8080/uniq/load.php
或
http:// MY_DOMAIN :8080/uniq/load.php
但是当我去
http:// MY_DOMAIN/uniq/load.php
第 404 页
服务器上的文件夹 /uniq/ 没有。
~# find / -name "load.php" -print
/home/site/wp-includes/load.php
我在哪里可以找到这个文件?我该如何删除这个病毒?
UPD:
~# netstat -anop | grep LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1798/sendmail: MTA: off (0.00/0/0)
tcp 0 0 127.0.0.1:9312 0.0.0.0:* LISTEN 1983/searchd off (0.00/0/0)
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1839/mysqld off (0.00/0/0)
tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN 1798/sendmail: MTA: off (0.00/0/0)
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 24312/nginx.conf off (0.00/0/0)
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 17574/ld-linux.so.2 off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1996/sshd off (0.00/0/0)
tcp6 0 0 :::80 :::* LISTEN 24312/nginx.conf off (0.00/0/0)
tcp6 0 0 :::21 :::* LISTEN 1405/proftpd: (acce off (0.00/0/0)
tcp6 0 0 :::22 :::* LISTEN 1996/sshd off (0.00/0/0)
unix 2 [ ACC ] STREAM LISTENING 1515747955 1364/php-fpm.conf) /var/run/php5-fpm.sock
unix 2 [ ACC ] STREAM LISTENING 1515750299 1839/mysqld /var/run/mysqld/mysqld.sock
unix 2 [ ACC ] STREAM LISTENING 1515748802 1798/sendmail: MTA: /var/run/sendmail/mta/smcontrol
临时解决方案
~# kill 17574
解决方案
https://www.debian-administration.org/article/57/Making_/tmp_non-executable
如果没有备份,处理被黑的 WordPress 网站会非常困难。
WordPress 经常通过恶意文件上传受到损害,允许远程用户向系统添加新文件以及许多其他内容(cron 作业、恶意二进制文件等)。
根据您 运行 的 netstat -anop
的输出,我们能够看到 运行ning 进程正在侦听您服务器上的端口 8080。有问题的进程是 ld-linux.so.2
,它很可能已上传到您的服务器,或者可能是通过恶意 shell 在您的系统上编译的。找到这个文件并删除它。如果您可以通过访问日志找出它是如何到达那里的,那就更好了。这可能会揭示利用向量。
我见过很多 PHP shell 上传到服务器的后门,攻击者可以通过向服务器发送 HTTP 请求来远程控制这些后门。
第 1 步:用新下载的 WordPress 副本替换所有 WordPress 文件(只需从 http://wordpress.org/latest.zip
下载并将所有内容上传到您的 WordPress 站点根目录。这将确保恢复所有修改过的 WP 文件。
第 2 步:搜索恶意文件。此命令有助于查找 PHP shell 脚本:grep -E '(?:(shell_)?exec|system|eval)' /path/to/wordpress/* -R
检查它找到的任何文件并确定是否应删除它们。
第 3 步:如果第 2 步出现任何命中,请在服务器访问日志中搜索对这些文件的请求,然后在访问日志中搜索访问这些文件的 IP 地址,看看是否还有其他应该已删除。
现在可能是循环日志的好时机,这样您就可以重新开始,并可以在未来几天继续检查它们,看看它们是否会再次尝试攻击。
第 4 步:查找可能由攻击者为 运行 计划任务创建的 cronjobs。您只需要查看您的网站用户有权访问的 cronjobs。我已经看到这些脚本创建 cron 作业来定期执行任务或重新启动恶意文件。
第 5 步:...这绝不是一个完整的列表,而是一个开始。
如果您没有 WP 备份(数据库和文件),这可能是一个失败的原因。如果您没有找到该漏洞,攻击者可以继续 运行 在您的网站上编写代码并上传新的漏洞。
当我去
http:// MY_IP :8080/uniq/load.php
或
http:// MY_DOMAIN :8080/uniq/load.php
但是当我去
http:// MY_DOMAIN/uniq/load.php
第 404 页
服务器上的文件夹 /uniq/ 没有。
~# find / -name "load.php" -print
/home/site/wp-includes/load.php
我在哪里可以找到这个文件?我该如何删除这个病毒?
UPD:
~# netstat -anop | grep LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1798/sendmail: MTA: off (0.00/0/0)
tcp 0 0 127.0.0.1:9312 0.0.0.0:* LISTEN 1983/searchd off (0.00/0/0)
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1839/mysqld off (0.00/0/0)
tcp 0 0 127.0.0.1:587 0.0.0.0:* LISTEN 1798/sendmail: MTA: off (0.00/0/0)
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 24312/nginx.conf off (0.00/0/0)
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 17574/ld-linux.so.2 off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1996/sshd off (0.00/0/0)
tcp6 0 0 :::80 :::* LISTEN 24312/nginx.conf off (0.00/0/0)
tcp6 0 0 :::21 :::* LISTEN 1405/proftpd: (acce off (0.00/0/0)
tcp6 0 0 :::22 :::* LISTEN 1996/sshd off (0.00/0/0)
unix 2 [ ACC ] STREAM LISTENING 1515747955 1364/php-fpm.conf) /var/run/php5-fpm.sock
unix 2 [ ACC ] STREAM LISTENING 1515750299 1839/mysqld /var/run/mysqld/mysqld.sock
unix 2 [ ACC ] STREAM LISTENING 1515748802 1798/sendmail: MTA: /var/run/sendmail/mta/smcontrol
临时解决方案
~# kill 17574
解决方案
https://www.debian-administration.org/article/57/Making_/tmp_non-executable
如果没有备份,处理被黑的 WordPress 网站会非常困难。
WordPress 经常通过恶意文件上传受到损害,允许远程用户向系统添加新文件以及许多其他内容(cron 作业、恶意二进制文件等)。
根据您 运行 的 netstat -anop
的输出,我们能够看到 运行ning 进程正在侦听您服务器上的端口 8080。有问题的进程是 ld-linux.so.2
,它很可能已上传到您的服务器,或者可能是通过恶意 shell 在您的系统上编译的。找到这个文件并删除它。如果您可以通过访问日志找出它是如何到达那里的,那就更好了。这可能会揭示利用向量。
我见过很多 PHP shell 上传到服务器的后门,攻击者可以通过向服务器发送 HTTP 请求来远程控制这些后门。
第 1 步:用新下载的 WordPress 副本替换所有 WordPress 文件(只需从 http://wordpress.org/latest.zip
下载并将所有内容上传到您的 WordPress 站点根目录。这将确保恢复所有修改过的 WP 文件。
第 2 步:搜索恶意文件。此命令有助于查找 PHP shell 脚本:grep -E '(?:(shell_)?exec|system|eval)' /path/to/wordpress/* -R
检查它找到的任何文件并确定是否应删除它们。
第 3 步:如果第 2 步出现任何命中,请在服务器访问日志中搜索对这些文件的请求,然后在访问日志中搜索访问这些文件的 IP 地址,看看是否还有其他应该已删除。
现在可能是循环日志的好时机,这样您就可以重新开始,并可以在未来几天继续检查它们,看看它们是否会再次尝试攻击。
第 4 步:查找可能由攻击者为 运行 计划任务创建的 cronjobs。您只需要查看您的网站用户有权访问的 cronjobs。我已经看到这些脚本创建 cron 作业来定期执行任务或重新启动恶意文件。
第 5 步:...这绝不是一个完整的列表,而是一个开始。
如果您没有 WP 备份(数据库和文件),这可能是一个失败的原因。如果您没有找到该漏洞,攻击者可以继续 运行 在您的网站上编写代码并上传新的漏洞。