描述
在这种类型的攻击,敌人注入操作系统命令到现有的应用程序功能。一个应用程序,该应用程序构建命令字符串使用不受信任的输入是脆弱的。敌人可以利用操作系统命令注入应用程序中提升特权,执行任意命令和妥协底层操作系统。
攻击的可能性
典型的严重性
执行流程
探索
确定操作系统输入命令: 攻击者决定用户可控的输入被作为命令的一部分传递给底层操作系统。
技术
端口映射。识别系统监听端口,并试图确定输入这些端口和协议类型。
TCP / IP指纹。攻击者使用各种软件进行连接或部分连接,观察从操作系统的反应。使用这些反应,他们试图猜测实际的操作系统。
引发错误信息的错误消息
调查应用程序: 攻击者调查目标应用程序,这可能是一个有效的和经过身份验证的用户
技术
搜索所有可用的链接网站
库存的所有应用程序输入
实验
不同输入,寻找恶意的结果。 取决于应用程序被剥削是一个远程或本地攻击者工艺品适当的恶意输入,包含操作系统命令,传递给应用程序
技术
注入命令分隔符使用网络包注入工具(netcat、对手等)。
注入命令分隔符使用web测试框架(代理、TamperData、自定义程序,等等)。
利用
恶意执行命令: 黑客可能窃取信息,安装一个后门访问机制,提升特权或妥协系统以其它方式。
技术
攻击者执行一个命令存储敏感信息到一个位置,在那里他们可以稍后检索(可能使用不同的命令注入)。
先决条件
技能要求
(级别:高)
攻击者需要的知识不仅应用程序开发,还命令的确切性质,属于目标操作系统。这可能涉及到,尽管并不总是,具体装配指令的知识平台。
后果
这个表指定不同的个体与攻击模式相关的后果。范围确定违反了安全属性,而影响了负面的技术影响,如果敌人成功的攻击。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能有高可能性模式将被用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围
影响
可能性
保密
完整性
可用性
执行未经授权的命令
保密
访问控制
授权
获得特权
旁路保护机制
保密
读取数据
缓解措施
使用语言传递数据的api而不是依靠操作系统shell或命令行。这样做可以确保语言中可用的保护机制是完整的和适用的。
过滤所有传入数据逃避或删除字符或字符串可能误解为操作系统或shell命令
所有的应用程序进程应该运行所需的最小权限。此外,过程必须尽快摆脱特权不再需要他们。
例子,实例
一个事务处理系统依赖于大量的语言编写的代码。访问此功能时,系统通过交易信息系统上的命令行。
攻击者可以访问系统命令行并执行恶意事务数据注入这些命令的命令。如果成功,攻击者可以窃取信息,安装后门和执行其他违法活动,可以妥协系统及其数据。
参见:Mozilla Firefox 1中的一个漏洞。x浏览器允许攻击者在UNIX / Linux操作系统上执行任意命令。漏洞是由于造成的shell脚本解析shell命令用于启动Firefox封闭在反勾号通过命令行提供的URL。这可以用来执行任意shell命令后通过欺骗用户到恶意链接的外部应用程序使用Firefox作为默认浏览器(如邮件客户端进化在Red Hat Enterprise Linux 4)。
分类法映射
引用
内容的历史
提交
提交日期
提交者
组织
2014-06-23
(版本2.6)
CAPEC内容团队
manbetx客户端首页
修改
修改日期
修饰符
组织
2020-07-30
(版本3.3)
CAPEC内容团队
manbetx客户端首页
更新Execution_Flow
2020-12-17
(版本3.4)
CAPEC内容团队
manbetx客户端首页
更新Taxonomy_Mappings
2021-06-24
(版本3.5)
CAPEC内容团队
manbetx客户端首页
更新Execution_Flow Related_Weaknesses