shell震荡相关日志文件grep模式的集合

关于shellshock bash漏洞有很多话题,但是没有任何可以在web服务器access.log文件和正常日志中“grep”的模式集合。

目前已经有6个CVE开放了与shell shock相关的每个CVE都有自己的独特之处。

有一个CVE的维基页面与shell shock有关: https : //en.wikipedia.org/wiki/Shellshock_(software_bug)

问题:有人可以总结一下在日志文件中“grep”是什么,以检查Web服务器是否已被定位/利用bash漏洞?

例子:

在http服务器的访问日志中 (该目录可能在其他地方,列出了一些,访问日志文件名可能不同,例如:“* access.log”):

cd /var/log/apache2/ cd /var/log/httpd/ cd /var/www/logs/ cd /var/log/nginx/ zgrep 'bash' access* zgrep "};" access* zgrep "}\s*;" access* zgrep "() {" access* zgrep "wget" access* zgrep "uname -a" access* 
  • 它检查:

    • bash命令(在CGI等) – 这里的示例攻击
    • CVE-2014-6271的一般模式
    • 在这里“wget”或“uname -a”也不是很正常

从示例攻击来看,IP的:

 zgrep "187.0.222.86" access* zgrep "209.126.230.72" access* zgrep "217.14.242.115" access* zgrep "218.216.190.234" access* zgrep "54.251.83.67" access* zgrep "67.227.0.77" access* zgrep "74.201.85.77" access* zgrep "78.60.1.101" access* zgrep "89.207.135.125" access* 

在正常的日志中 (该目录可能在别处):

 cd /var/log/ zgrep 'bash' messages* zgrep 'bash' syslog* 
  • 它检查:

    • bash segfaults /崩溃 – 使用shell shock时可能会发生

如果你不想grep所有.. grep的“bash” – 这是最一般的事情..

相关链接:

通过特别devise的环境variables的Bash代码注入漏洞(CVE-2014-6271,CVE-2014-7169)

减轻shellshock漏洞(CVE-2014-6271和CVE-2014-7169)

将来我会更新攻击者IP地址的grep模式

更新 :你应该只从9月24日开始grep,因为漏洞只有从那时起才被公开。 所以把一个egrep后面的zgrep(这个语法是为access.logs),例如:

 egrep -i "24/Sep/2014|25/Sep/2014|26/Sep/2014|27/Sep/2014|28/Sep/2014|29/Sep/2014|30/Sep/2014|Oct/2014" 

攻击者可以通过自定义标头缓解检测(已经看到这个),这意味着你不能在日志文件中检测到这些东西

这是我检查:

$ grep -e“(){”/var/log/nginx/*access.log

此外,你会看到错误日志中的命令的一些输出,如果没有被压制, 像这样 :

 [Thu Sep 25 21:16:55 2014] [error] [client ::1] --2014-09-25 21:16:55-- http://fump.8ack.org/ [Thu Sep 25 21:16:55 2014] [error] [client ::1] Resolving fump.8ack.org (fump.8ack.org)... [Thu Sep 25 21:16:55 2014] [error] [client ::1] 46.4.8.254 [Thu Sep 25 21:16:55 2014] [error] [client ::1] [Thu Sep 25 21:16:55 2014] [error] [client ::1] Reusing existing connection to fump.8ack.de:80. [Thu Sep 25 21:16:55 2014] [error] [client ::1] HTTP request sent, awaiting response... [Thu Sep 25 21:16:55 2014] [error] [client ::1] 200 OK [Thu Sep 25 21:16:55 2014] [error] [client ::1] Length: 1631 (1.6K) [text/html] [Thu Sep 25 21:16:55 2014] [error] [client ::1] Saving to: `STDOUT' [Thu Sep 25 21:16:55 2014] [error] [client ::1] [Thu Sep 25 21:16:55 2014] [error] [client ::1] 0K . 100% 8.27M=0s [Thu Sep 25 21:16:55 2014] [error] [client ::1] [Thu Sep 25 21:16:55 2014] [error] [client ::1] 2014-09-25 21:16:55 (8.27 MB/s) - written to stdout [1631/1631]