WannaCry蠕虫病毒的快速蔓延与预防

前言

近日,全球突发比特币病毒疯狂袭击公共和商业系统事件.由于某国外不法分子利用美国国家安全局未被披露的安全漏洞”EternalBlue”,以类似于蠕虫病毒的传播方式席卷世界各地.通过扫描主机上TCP445端口(Server Message Block/SMB),该病毒尝试攻击目标主机并加密存储在主机上的文档,进而要求以比特币的形式索要赎金.

预防

既然知道这种蠕虫病毒的主要特点是扫描主机上TCP445端口,我们便可以直接通过开启防火墙关闭445端口.当蠕虫病毒一下子蔓延开来的同时,微博上很多人也给出了相应的应对方法.为避免开机后来不及处理便措手不及,需要在开机前先断开主机与一切可以联网的介质,包括网线和无线网.然后开启电脑上的防火墙,按照网上的教程关掉445端口即可.为方便某些技术小白和手残党,以下结合上述的主要操纵要求写了个一键处理的bash文件.当然,需要管理员权限执行~

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@ECHO OFF
::run with admin
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
:: bash code
@ECHO ON
netsh advfirewall set allprofiles state on
netsh advfirewall firewall add rule name="deny135" dir=in protocol=tcp localport=135 action=block
netsh advfirewall firewall add rule name="deny136" dir=in protocol=tcp localport=136 action=block
netsh advfirewall firewall add rule name="deny137" dir=in protocol=tcp localport=137 action=block
netsh advfirewall firewall add rule name="deny138" dir=in protocol=tcp localport=138 action=block
netsh advfirewall firewall add rule name="deny139" dir=in protocol=tcp localport=139 action=block
netsh advfirewall firewall add rule name="deny445" dir=in protocol=tcp localport=445 action=block
netsh advfirewall firewall add rule name="deny42" dir=in protocol=tcp localport=42 action=block
netsh advfirewall firewall add rule name="deny135" dir=in protocol=udp localport=135 action=block
netsh advfirewall firewall add rule name="deny137" dir=in protocol=udp localport=137 action=block
netsh advfirewall firewall add rule name="deny138" dir=in protocol=udp localport=138 action=block
netsh advfirewall firewall add rule name="deny139" dir=in protocol=udp localport=139 action=block
:: CLS
@ECHO OFF
ECHO 哎呀,终于搞定了.再也不用断网线防勒索了~
PAUSE

该bash的功能主要分成两部分,第一部分就是要有管理员权限.判断当前用户是否是超级管理员.如果不是超级管理员就弹出窗口要求管理员权限.第二部分就开启防火墙并禁止掉一些关联的端口,自然少不了445.

如果有安装Telnet的话,可以尝试着去访问该端口看是否可用.

1
telnet ip地址 445

总结

无论是在生活还是工作中我们肯定会遇到一些或大或小的”麻烦”.既然我们无法忽略也无法逃避,那么我们在遇到类似的困境时就更加需要抱有处之泰然的态度和死磕到底的决心.放心吧,牛奶和面包都会有的.只要不灰心丧气,努力去争取属于我们的点点滴滴,包括希望和梦想.

参考资料

文章目录
  1. 1. 前言
  2. 2. 预防
  3. 3. 总结
  4. 4. 参考资料