[情报] CVE 2020-0601 相关讨论

楼主: b0920075 (Void)   2020-01-15 18:02:59
昨天凌晨到今天有一个 CVE 狂刷我的 twitter ,很多人疯狂转贴想必问题十分严重,于
是看了下一些分析和公告,大概有个底后想说分享一下,顺便赚 P 币 XD
因为 M$ 的公告被 taviso 吐槽说 NSA 写的公告比 M$ 的有用,所以我直接看了 NSA 的
公告,这个问题好像也是 NSA 爆出来的
NSA CyberSecurity Advisory
https://media.defense.gov/2020/Jan/14/2002234275/-1/-1/0/
CSA-WINDOWS-10-CRYPT-LIB-20190114.PDF
要把 CSA 那边拼接到上面的 url 上才看的到 (url 太长了QQ)
内容我大概简短的摘要下:
该漏洞编号 cve 2020 0601 ,问题发生在密码学相关功能元件上 (根据其他篇的说法好像
是出在 CRYPT32.DLL 上,下面补上来源),根据几篇文章来看应该是椭圆曲线验证的地方
出差错导致的
该漏洞主要破坏了 windows 验证凭证的方法和允许 remote code execution 以及把恶意
程式码当作可信任并接收下来
受影响的部分包括:
HTTPS network connections
Signed files and emails
Signed executable code launched as user-mode process
另外被影响的作业系统版本包括 Windows 10, Windows server 2016/2019, 任何依赖
windows 信任机制的应用程式
建议的措施:
立刻打上补丁
企业方若不能将所有机器打上补丁则应优先对关键和广泛使用的 services 打上
补丁,像是: windows based web appliances, web servers, 任何用到 tls 验证的
proxy, domain controllers, DNS server, update server, VPN server,
IPsec negotiation
另外对优先考虑以下具高风险的端点: 直接对外连接的端点、被特权用户平凡使
用的端点
使用 tls 检查的 proxy 对有漏洞的端点
用 wireshark parse 和 extract 凭证
用 openssl 和 windows certutil 对凭证进行深度分析、检查有无恶意的特性
NSA 提供了几个方法来验证 X509 凭证:
$ certutil -asn <certificate_filename>
$ openssl asn1parse -inform DER -in <certificate_filename> -i -dump
(以下的内容因为有些不是很了解,就姑且翻译一下丢上来)
上述的命令 parse 和印出特定 DER 编码凭证的 ASN.1 物件,检查这些结果有无椭圆曲线
的性质,若凭证具有明确的 curve OID 值可以被判定为良性,举例来说 NISTP384 中
的 curve OID value 是 1.3.132.0.34 。若凭证有明确定义与标准相吻合的参数则可以视
为良性
可以透过以下命令列出已注册的椭圆曲线和其参数:
$ certutil -displayEccCurve
$ certutil -displayEccCurve <curve_name>
openssl 可以透过以下命列看到编译在 openssl 内的标准曲线:
$ openssl ecparam -list_curves
$ openssl ecparam -name <curve_name> -param_enc explicit -text
若有凭证包含明确定义的椭圆曲线参数但参数跟标准曲线只有“部分吻合”的话应被视为可
疑,特别是有可信任的凭证的公钥的凭证。
下面这篇是在 reddit 上看到的,有人分享该漏洞的可能发生原因
https://keychest.net/stories/massive-ms-windows-bug-by-nsa-how-it-works-maybe
因为对密码学不是说非常熟怕误人子弟,大家有兴趣的就自己上去看看吧,作者也说可能
是根本不同的成因,权当作参考。
另外这篇最下面 DETECT 的部分有检查 CRYPT32.DLL 有无更新的方法,可以去看一下,其
他内容跟 NSA advisory 差不多就不贴了
https://gist.github.com/SwitHak/62fa7f8df378cae3a459670e3a18742d
再补上几个参考资料:
M$ 的 advisory:
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-0601
M$ 的 defender ATP threat and vulnerability management 可以侦测出该漏洞并阻止:
https://twitter.com/djteller/status/1217347590301396992?s=20
来自 @jovi0608 的图片解释(日文的,不过大多是汉字和公式):
https://pbs.twimg.com/media/EOUBXENUEAARsy1?format=png&name=small
另一份详细的原理和成因
https://medium.com/zengo/win10-crypto-vulnerability-cheating-in-elliptic-curve-
billiards-2-69b45f2dcab6
打算等等看这篇 ><
刚刚发现有人放出 poc
https://github.com/kudelskisecurity/chainoffools
作者: isaacc (小元宅爸)   2020-01-15 22:36:00
其实比较八卦的部分是大陆今天一直在传的文章...
楼主: b0920075 (Void)   2020-01-16 02:52:00
中国在传啥,没关注到

Links booklink

Contact Us: admin [ a t ] ucptt.com