TCP/IP仓库:NAME:WRECK DNS和谈缝隙

颁布功夫 2021-04-13

0x00 缝隙概述

2021年04月13日 ,安全人员披露了TCP/IP仓库中DNS和谈中统称为NAME:WRECK的9个安全缝隙 ,这些缝隙至少影响了1亿个Internet上运行的设备 ,攻击者能够利用这些缝隙使受影响的设备脱机或对设备进行节造 。

 

0x01 缝隙详情

image.png


NAME:WRECK是物联网企业安全公司Forescout和以色列安全钻研幼组JSOF的共同发现的 ,这些缝隙影响的TCP/IP仓库蕴含但不限于:

FreeBSD(影响版本:12.1)-BSD系列中最盛行的操作系统之一 。

IPnet(影响版本:VxWorks 6.6)-最初由Interpeak开发 ,此刻由WindRiver守护 ,并由VxWorks实时操作系统(RTOS)使用 。

NetX(影响版本:6.0.1)-ThreadX RTOS的一部门 ,此刻是Microsoft守护的一个开源项目 ,名称为Azure RTOS NetX 。

Nucleus NET(影响版本:4.3)-由西门子业务Mentor Graphics守护的Nucleus RTOS的一部门 ,用于医疗、工业、消费类、航空航天和物联网设备 。

 

攻击者能够利用NAME:WRECK缝隙窃取敏感数据、批改或使设备脱机以对造作行业中确当局或企业服务器、医疗机构、零售商或公司造成沉大安全变乱 。

image.png

 

攻击者还能够利用这些缝隙篡改住宅或贸易场所的智能设备 ,以节造供温暖透风、禁用安整系统或篡改自动照明系统 。

image.png

 

钻研人员在分析上述TCP/IP仓库中的DNS时 ,分析了该和谈的新闻压缩职能 。DNS响应数据包中蕴含一样的域名或部门域名的情况并不少见 ,因而它使用一种压缩机造来减幼DNS新闻的大幼 ,这种编码不仅利用在DNS解析器中 ,它还利用在多播DNS(mDNS)、DHCP客户端和IPv6路由器公告中 。

Forescout在其汇报中诠释说 ,只管某些和谈并未正式支持压缩 ,但该职能还存在于很多利用中 。值妥贴心的是 ,并非NAME:WRECK中的所有缝隙都能够被利用来获得一样的了局 。其中最严沉的是远程代码执行缝隙 ,其最高评分为9.8(满分10分) ,9个缝隙如下表所示 ,并非所有缝隙都与新闻压缩有关:

CVE   ID

Stack

描述

受影响职能

潜在影响

评分

CVE-2020-7461

FreeBSD


  dhclient
(8)的DHCP数据包中的选项119数据进行解析时出现天堑谬误

-网络上的攻击者能够将恶意造作的数据发送到DHCP客户端

Message

compression   

RCE

7.7

CVE-2016-20009

IPnet

-新闻解压缩职能基于仓库的溢出

Message

compression   

RCE

9.8

CVE-2020-15795

Nucleus   NET

-DNS域名标签解析职能无法正确验证DNS响应中的名称

-解析体式谬误的响应可能导致写操作超出分配的结构的末尾

Domain   name

label   parsing

RCE

8.1

CVE-2020-27009

Nucleus   NET

-DNS域名纪录解压缩职能无法正确验证指针偏移值

-解析体式谬误的响应可能导致写操作超出分配的结构的末尾

Message

compression

RCE

8.1

CVE-2020-27736

Nucleus   NET

-DNS域名标签解析职能无法正确验证DNS响应中的名称

-解析体式谬误的响应可能导致写操作超出分配的结构的末尾

Domain

name   label

parsing

回绝服务

6.5

CVE-2020-27737

Nucleus   NET

-DNS响应解析职能无法正确验证各类长度和纪录数

-解析体式谬误的响应可能会导致读取超出已分配结构的末尾

Domain   name

label   parsing

回绝服务

6.5

CVE-2020-27738

Nucleus   NET

-DNS域名纪录解压缩职能无法正确验证指针偏移值

-解析体式谬误的响应可能导致超出分配结构末尾的读取接见

Message

compression

回绝服务

6.5

CVE-2021-25677

Nucleus   NET

-DNS客户端无法正确随机化DNS事务ID(TXID)和UDP端标语

Transaction   ID

DNS缓存中毒/糊弄

5.3

*

NetX

-DNS解析器中的两个职能无法查抄压缩指针是否不蹬宗当前在解析的一样偏移量 ,从而可能导致无限循环

Message

compression

回绝服务

6.5

 

利用单个缝隙可能不会造成太大影响 ,但若是攻击者将它们组合在一路来利用 ,就可能会造成严沉粉碎 。例如 ,攻击者能够利用一个缝隙将肆意数据写入易受攻击设备的敏感内存地位 ,利用另一个缝隙在数据包中注入代码 ,而后再利用第三个缝隙将其传递给指标 。

Forescout公司的汇报深刻探求了技术细节 ,即利用在开源TCP/IP仓库中发现的NAME:WRECK缝隙以及AMNESIA:33中的缝隙来实现远程代码执行攻击 。该公司还会商了多个在DNS新闻解析器中不休沉复的执行问题 ,这些问题被称为anti-patterns(反模式) ,它们是造成NAME:WRECK缝隙的原因:

短缺TXID验证 ,随机TXID和源UDP端口不及;

不足域名字符验证;

短缺标签和名称长度验证;

短缺NULL终止验证;

短缺纪录计数字段验证;

不足域名压缩指针和偏移量验证;

此表 ,Forescout还提供了两个开源工具 ,能够援手确定指标网络设备是否运行特定的嵌入式TCP/IP和谈栈(Project Memoria Detector)和用于检测类似于NAME:WRECK的问题(namewreck ,与Joern一路使用) 。


0x02 措置建议

NAME:WRECK的建复法式合用于 FreeBSD、Nucleus NET和 NetX ,建议先执行以下安全建议 ,再实时利用设备供给商颁布的安全更新 。

安全建议:

使用一些缓解信息来开发检测DNS缝隙的署名;

发现并盘点运行易受攻击仓库的设备;

执行分段节造和适当的network hygiene;

监督受影响的设备供给商颁布的补� �;

配置设备依赖内部DNS服务器;

监控所有网络流量中的恶意数据包 。

 

 

0x03 参考链接

https://www.bleepingcomputer.com/news/security/name-wreck-dns-vulnerabilities-affect-over-100-million-devices/

https://www.freebsd.org/security/advisories/FreeBSD-SA-20:26.dhclient.asc

https://github.com/Forescout/project-memoria-detector

https://github.com/Forescout/namewreck

 

0x04 功夫线

2021-04-13  bleepingcomputer披露缝隙

2021-04-13  VSRC颁布安全公告

 

0x05 附录

 

CVSS评分尺度官网:http://www.first.org/cvss/

image.png