2017 年 5 月 12 日微软首次检测到一款新的勒索软件,该勒索病毒利用微软先前已修复过的漏洞,通过蠕虫方式进行传播。虽然大多数 Windows 用户都开启了 Windows Update 来自动更新系统,但某些用户和企业可能会延迟修补程序的部署,因此 WannaCrypt 恶意蠕虫才能通过已公开的漏洞在尚未安装补丁的 Windows 计算机中进行攻击和传播,所以微软建议用户尽快安装 MS17-010 补丁。
微软通过反恶意软件遥测技术立即在互联网上捕获到了 WannaCrypt 勒索软件,微软专家系统提供了这种新攻击的可见性和背景,通过自动分析、机器学习和预测建模,让 Windows Defender Antivirus 能够快速向用户提供防范这种恶意软件的实时防御。
下面系统极客将向大家提供 WannaCrypt 勒索攻击的早期分析,不过该攻击仍在活跃之中,该恶意软件仍可能会出现变种以达到持久攻击的目的。
WannaCrypt攻击介绍
通常情况下,勒索软件都不会迅速蔓延,这样的病毒一般会通过社会工程或电子邮件作为载体,欺骗用户下载和执行,但 WannaCrypt 却利用了已修补的 SMB EternalBlue 漏洞,CVE-2017-0145 可通过将特殊定制数据包发送到目标 SMBv1 服务器进行触发,其实微软早已在 2017 年 3 月 14 日发布的 MS17-010 安全公告中对该漏洞进行了描述和修复。
WannaCrypt 的传播机制源于已公开的 SMB 漏洞,通过这些漏洞该蠕虫病毒实现了常规的勒索功能,即便再打上修复补丁,已经中招的机器还是无法解决该问题。而且 WannaCrypt 所利用的漏洞代码只针对 Windows 7、Windows Server 2008 和更早版本的 Windows 系统,Windows 10 用户不受此攻击的影响。
攻击部分分析
该威胁主要有如下 2 个功能部分:
- 试图利用其他计算机 SMB EternalBlue 漏洞的部分
- 被称为 wannacrypt 的勒索软件部分
该勒索软件中招之后会尝试通过 InternetOpenUrlA() API 访问如下域名:
hxxp://www[.]iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com
如果该域名访问成功,它便不会进一步感染系统或尝试向其它系统传播,而是会自动停止执行;如果域名连接失败,它将继续安装勒索软件部分并在系统上创建服务。换句话说,如果你的 ISP、企业网络或防火墙阻断了以上域名的访问连接,WannaCrypt 就会在系统中开始安装并加密文件。
该病毒安装后会在系统中创建一个名为 mssecsvc2.0 的服务,以便通过该服务利用受感染系统访问其他计算机中的 SMB 漏洞:
服务名称: mssecsvc2。0
服务描述: (Microsoft Security Center (2.0) Service)
服务参数: “-m security”
WannaCrypt勒索部分分析
WannaCrypt 勒索软件的资源部分中包含了受密码保护的压缩文件,.zip 文件中包括支持工具、解密工具和赎金消息,在微软分析的样本中,zip 压缩文件的密码为 WNcry@2ol7。
当勒索软件运行时,WannaCrypt 会创建如下注册表项:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\\ =”\tasksche.exe”
- HKLM\SOFTWARE\WanaCrypt0r\\wd =””
它还会修改以下注册表项将壁纸更改为赎金信息:
- HKCU\Control Panel\Desktop\Wallpaper:”\@WanaDecryptor@.bmp”
恶意软件的工作目录中会创建以下文件:
- 00000000.eky
- 00000000.pky
- 00000000.res
- 274901494632976.bat
- @Please_Read_Me@.txt
- @WanaDecryptor@.bmp
- @WanaDecryptor@.exe
- b.wnry
- c.wnry
- f.wnry
- m.vbs
- msg\m_bulgarian.wnry
- msg\m_chinese (simplified).wnry
- msg\m_chinese (traditional).wnry
- msg\m_croatian.wnry
- msg\m_czech.wnry
- msg\m_danish.wnry
- msg\m_dutch.wnry
- msg\m_english.wnry
- msg\m_filipino.wnry
- msg\m_finnish.wnry
- msg\m_french.wnry
- msg\m_german.wnry
- msg\m_greek.wnry
- msg\m_indonesian.wnry
- msg\m_italian.wnry
- msg\m_japanese.wnry
- msg\m_korean.wnry
- msg\m_latvian.wnry
- msg\m_norwegian.wnry
- msg\m_polish.wnry
- msg\m_portuguese.wnry
- msg\m_romanian.wnry
- msg\m_russian.wnry
- msg\m_slovak.wnry
- msg\m_spanish.wnry
- msg\m_swedish.wnry
- msg\m_turkish.wnry
- msg\m_vietnamese.wnry
- r.wnry
- s.wnry
- t.wnry
- TaskData\Tor\libeay32.dll
- TaskData\Tor\libevent-2-0-5.dll
- TaskData\Tor\libevent_core-2-0-5.dll
- TaskData\Tor\libevent_extra-2-0-5.dll
- TaskData\Tor\libgcc_s_sjlj-1.dll
- TaskData\Tor\libssp-0.dll
- TaskData\Tor\ssleay32.dll
- TaskData\Tor\taskhsvc.exe
- TaskData\Tor\tor.exe
- TaskData\Tor\zlib1.dll
- taskdl.exe
- taskse.exe
- u.wnry
WannaCrypt 还会创建以下文件:
- %SystemRoot%\tasksche.exe
- %SystemDrive%\intel\\tasksche.exe
- %ProgramData%\\tasksche.exe
它还可能会创建一个随机命名的服务,并关联的 ImagePath:”cmd.exe / c” \ tasksche.exe””
然后,WannaCrypt 会搜索整个计算机中带如下扩展名的任何文件:.123, .jpeg , .rb , .602 , .jpg , .rtf , .doc , .js , .sch , .3dm , .jsp , .sh , .3ds , .key , .sldm , .3g2 , .lay , .sldm , .3gp , .lay6 , .sldx , .7z , .ldf , .slk , .accdb , .m3u , .sln , .aes , .m4u , .snt , .ai , .max , .sql , .ARC , .mdb , .sqlite3 , .asc , .mdf , .sqlitedb , .asf , .mid , .stc , .asm , .mkv , .std , .asp , .mml , .sti , .avi , .mov , .stw , .backup , .mp3 , .suo , .bak , .mp4 , .svg , .bat , .mpeg , .swf , .bmp , .mpg , .sxc , .brd , .msg , .sxd , .bz2 , .myd , .sxi , .c , .myi , .sxm , .cgm , .nef , .sxw , .class , .odb , .tar , .cmd , .odg , .tbk , .cpp , .odp , .tgz , .crt , .ods , .tif , .cs , .odt , .tiff , .csr , .onetoc2 , .txt , .csv , .ost , .uop , .db , .otg , .uot , .dbf , .otp , .vb , .dch , .ots , .vbs , .der, .ott , .vcd , .dif , .p12 , .vdi , .dip , .PAQ , .vmdk , .djvu , .pas , .vmx , .docb , .pdf , .vob , .docm , .pem , .vsd , .docx , .pfx , .vsdx , .dot , .php , .wav , .dotm , .pl , .wb2 , .dotx , .png , .wk1 , .dwg , .pot , .wks , .edb , .potm , .wma , .eml , .potx , .wmv , .fla , .ppam , .xlc , .flv , .pps , .xlm , .frm , .ppsm , .xls , .gif , .ppsx , .xlsb , .gpg , .ppt , .xlsm , .gz , .pptm , .xlsx , .h , .pptx , .xlt , .hwp , .ps1 , .xltm , .ibd , .psd , .xltx , .iso , .pst , .xlw , .jar , .rar , .zip , .java , .raw
WannaCrypt 会加密其找到符合条件的所有文件,并通过在文件名中附加 .WNCRY 来重命名它们,例如一张名为 picture.jpg 的图片会被加密重命名为 picture.jpg.WNCRY。
完成加密过程后,此恶意软件将通过运行以下命令删除卷影副本:
cmd.exe /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -quiet
此后,它将使用以下消息替换桌面背景:
桌面被替换后,它还会运行一个可执行文件来显示一张赎金票据,以显示 $300 赎金和定时器:
交赎金的信息还比较「人性化」,居然被翻译成了多种本地化语言,包括:保加利亚文、中文(简体)、中文(繁体)、克罗地亚文、捷克文、丹麦文、荷兰文、英文、菲律宾文、芬兰文、法文、德文、希腊文、印度尼西亚文、意大利文、挪威语、波兰语、葡萄牙语、罗马尼亚语、俄语、斯洛伐克语、西班牙语、瑞典语、土耳其语和越南语。
WannaCrypt 还允许用户免费解密几个随机文件来演示解密功能,再提醒(威胁)用户支付赎金来解密所有剩余的文件。
传播能力
该蠕虫会试图感染本地网络中未修补的其它 Windows 计算机,同时还会对互联网 IP 地址进行大规模扫描,以发现并感染其他易受攻击的计算机。
互联网扫描程序会随机生成八位字节以形成 IPv4 地址,并对指定 IP 尝试利用 CVE-2017-0145。如果第一个八位字节的随机生成值为 127 或者该值等于或大于 224,则会避免感染此 IPv4 地址以便跳过本地环回接口。一旦有其它机器被感染,它就会成为向其它机器传播的下一跳,所以 WannaCrypt 这个勒索软件奇葩才会如此大规模的爆发。