查看: 457|回复: 8

[原创工具] 关于"防护勒索病毒"的一个小工具 实用性很强

  [复制链接]
发表于 2020-6-22 16:13 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

我写的小工具都是实用性很强的,主要自已工作中经常用到。
前些天发了一个“一键解决WINDOWS10访问局域网的小脚本”没想到很受欢迎,现在把另一个经常用的小工具发出来。

这个是前半年公司电脑中过一次勒索病毒,那时我还没来工作,上岗后就接到这么个大问题,分析很久还是传统手段来的实用。根据度娘中网友分享的经验,集合成一起。
期间测试过多个版本,最终这个可以支持XP-WIN10,均测试无误。

特来分享给大家。
142207cuuvvsupvjzjejec.png

老样子,地址直接放出(请多多支持)
https://wwa.lanzoux.com/idlZ6dxkc4h

源码:

  1. @echo off
  2. ::此程序主要针对勒索病毒而定制
  3. ::by edison_zhu 20200514
  4. title 勒索病毒仿护1.5 winxp-win10 514
  5. color 0a
  6. >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
  7. setlocal enabledelayedexpansion

  8. ::检测更新
  9. :SelfUpdate
  10. set "ScriptCurrent=%~f0"
  11. set "RemoteIP=192.168.3.222"
  12. set "ScriptRemote=\\%RemoteIP%\T$\端口封堵.cmd"
  13. set "ScriptTemp=%tmp%\%~nx0"
  14. copy /y "%ScriptRemote%" "%ScriptTemp%" >nul 2>&1
  15. if errorlevel 1 (
  16.     echo [升级失败] %ScriptRemote%升级文件丢失
  17.     ping /n 3 127.1>nul
  18.     goto :Main
  19. )
  20. fc "%ScriptCurrent%" "%ScriptTemp%" >nul 2>&1
  21. if errorlevel 1 (
  22.     copy /y "%ScriptTemp%" "%ScriptCurrent%" >nul 2>&1
  23.     ping /n 3 127.1>nul
  24.     echo [升级成功!!]
  25. )
  26. goto :Main

  27. :Main
  28. ver | find "5.1" > NUL && goto winxp
  29. echo.
  30. echo 今天是:%date%  现在是: %time%
  31. echo.
  32. for /f "tokens=16" %%i in ('ipconfig ^|find /i "ipv4"') do set ip=%%i
  33. echo 本机IP地址为:%ip%
  34. echo.
  35. set "str=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp"
  36. for /f "tokens=3" %%i in ('reg query "%str%" /v UserAuthentication') do set "PortNum=%%i"
  37. set /a Z=%PortNum%
  38. ::echo 当前远程桌面状态:%n%
  39. if /i %Z%==0 (
  40.     set zt=远程桌面已经开启
  41.     echo !zt!
  42. )   else (
  43.     set zt=远程桌面未开启
  44.     echo !zt!
  45. )
  46. echo.
  47. set "str=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"
  48. for /f "tokens=3" %%i in ('reg query "%str%" /v PortNumber') do set "PortNum=%%i"
  49. set /a n=%PortNum%
  50. echo 当前远程桌面端口为:%n%
  51. echo.
  52. netstat -an|findstr %n% >nul 2>nul && echo 远程端口正在监听 || echo 远程端口未监听
  53. echo.
  54. echo.
  55. echo ----------------------------------------------------------------------------------------------------------------
  56. echo 勒索防护建议:
  57. echo 1.禁用弱口令!
  58. echo 2.关闭系统默认共享,尽量避免使用局域网共享。
  59. echo 3.重要资料的共享文件夹应设置访问权限控制,并进行定期备份。
  60. echo 4.定期检测系统和软件中的安全漏洞,及时打上补丁。
  61. echo 5.安装杀毒软件并升级到最新。
  62. echo ----------------------------------------------------------------------------------------------------------------
  63. echo.
  64. echo.
  65. pause


  66. :start
  67. cls
  68. echo 提示!当前!zt!。
  69. echo       当前远程桌面端口:%n%
  70. netstat -an|findstr %n% >nul 2>nul && echo       远程端口正在监听 || echo       远程端口未监听
  71. echo ----------------------------------------------------------------------------------------------------------------
  72. echo.
  73. echo.
  74. echo.
  75. echo                       下一步需要如何操作
  76. echo.
  77. echo                       1.一键关闭共享端口
  78. echo.
  79. echo.                      2.一键开放共享端口
  80. echo.
  81. echo.                      3.修改远程桌面端口
  82. echo.
  83. echo.                      4.开启远程桌面服务
  84. echo.
  85. echo.                      5.关闭远程桌面服务
  86. echo.
  87. echo.
  88. set ST=s
  89. set /p ST=             选择后按回车键:
  90. if %ST%==0 (
  91. set ok=0
  92. goto stat
  93. )else (
  94. if "%ST%"=="1" goto yjgb
  95. if "%ST%"=="2" goto yjkf
  96. if "%ST%"=="3" goto yjxg
  97. if "%ST%"=="4" goto yczm
  98. if "%ST%"=="5" goto ycgb
  99. )
  100. goto start


  101. :yjgb

  102. cls
  103. ::删除系统默共享
  104. net share C$ /delete
  105. net share d$ /delete
  106. net share e$ /delete
  107. net share f$ /delete
  108. net share admin$ /delete
  109. echo.
  110. echo                                         准备关闭135 137 138 139 445 端口
  111. echo.

  112. netsh ipsec static delete policy name = SECCPP
  113. netsh ipsec static add policy name = SECCPP description=安全策略20200320
  114. netsh ipsec static add filteraction name = Block action = block
  115. netsh ipsec static add filterlist name = SECCPF
  116. netsh ipsec static add filter filterlist = SECCPF srcaddr=Any dstaddr = Me dstport = 135 protocol = TCP
  117. netsh ipsec static add filter filterlist = SECCPF srcaddr=Any dstaddr = Me dstport = 137 protocol = TCP
  118. netsh ipsec static add filter filterlist = SECCPF srcaddr=Any dstaddr = Me dstport = 138 protocol = TCP
  119. netsh ipsec static add filter filterlist = SECCPF srcaddr=Any dstaddr = Me dstport = 139 protocol = TCP
  120. netsh ipsec static add filter filterlist = SECCPF srcaddr=Any dstaddr = Me dstport = 445 protocol = TCP
  121. netsh ipsec static add filter filterlist = SECCPF srcaddr=Any dstaddr = Me dstport = 137 protocol = UDP
  122. netsh ipsec static add filter filterlist = SECCPF srcaddr=Any dstaddr = Me dstport = 138 protocol = UDP
  123. netsh ipsec static add rule name=SECCPR policy=SECCPP filterlist=SECCPF filteraction=Block
  124. netsh ipsec static set policy name = SECCPP assign = y

  125. echo.
  126. echo.
  127. echo 正在关闭135端口 请稍候…
  128. netsh advfirewall firewall add rule name = "Disable port 135 - TCP" dir = in action = block protocol = TCP localport = 135
  129. echo.
  130. netsh advfirewall firewall add rule name = "Disable port 135 - UDP" dir = in action = block protocol = UDP localport = 135
  131. echo.
  132. echo 正在关闭137端口 请稍候…
  133. netsh advfirewall firewall add rule name = "Disable port 137 - TCP" dir = in action = block protocol = TCP localport = 137
  134. echo.
  135. netsh advfirewall firewall add rule name = "Disable port 137 - UDP" dir = in action = block protocol = UDP localport = 137
  136. echo.
  137. echo 正在关闭138端口 请稍候…
  138. netsh advfirewall firewall add rule name = "Disable port 138 - TCP" dir = in action = block protocol = TCP localport = 138
  139. echo.
  140. netsh advfirewall firewall add rule name = "Disable port 138 - UDP" dir = in action = block protocol = UDP localport = 138
  141. echo.
  142. echo 正在关闭139端口 请稍候…
  143. netsh advfirewall firewall add rule name = "Disable port 139 - TCP" dir = in action = block protocol = TCP localport = 139
  144. echo.
  145. netsh advfirewall firewall add rule name = "Disable port 139 - UDP" dir = in action = block protocol = UDP localport = 139
  146. echo.
  147. echo 正在关闭445端口 请稍候…
  148. netsh advfirewall firewall add rule name = "Disable port 445 - TCP" dir = in action = block protocol = TCP localport = 445
  149. echo.
  150. netsh advfirewall firewall add rule name = "Disable port 445 - UDP" dir = in action = block protocol = UDP localport = 445
  151. echo.
  152. echo.
  153. ::关闭共享
  154. net stop LanmanServer /y
  155. sc config LanmanServer start= disabled


  156. ::关闭系统升级服务
  157. sc config   wuauserv start= DISABLED
  158. ::adobe升级服务优化
  159. sc config   AdobeARMservice start= DISABLED
  160. ::关闭IPV6支持
  161. sc config   iphlpsvc start= DISABLED
  162. ::关闭声音服务
  163. sc config   AudioSrv start= DISABLED
  164. sc config   AudioEndpointBuilder start= DISABLED
  165. ::关闭桌面特效
  166. sc config   UxSms start= DISABLED
  167. sc config   Themes start= DISABLED


  168. mshta vbscript:msgbox("共享服务与危险端口均已关闭!!",vbSystemModal+64,"安装提示")(window.close)

  169. exit



  170. :yjkf
  171. cls
  172. echo 正在停用并删除组策略
  173. netsh ipsec static set policy name = SECCPP assign = n
  174. netsh ipsec static delete  filterlist name = SECCPF

  175. echo 开启共享
  176. echo.
  177. echo.
  178. echo 正在开启135端口 请稍候…
  179. netsh advfirewall firewall delete  rule name = "Disable port 135 - TCP" dir = in
  180. echo.
  181. netsh advfirewall firewall delete  rule name = "Disable port 135 - UDP" dir = in
  182. echo.
  183. echo 正在开启137端口 请稍候…
  184. netsh advfirewall firewall delete  rule name = "Disable port 137 - TCP" dir = in
  185. echo.
  186. netsh advfirewall firewall delete  rule name = "Disable port 137 - UDP" dir = in
  187. echo.
  188. echo 正在开启138端口 请稍候…
  189. netsh advfirewall firewall delete  rule name = "Disable port 138 - TCP" dir = in
  190. echo.
  191. netsh advfirewall firewall delete  rule name = "Disable port 138 - UDP" dir = in
  192. echo.
  193. echo 正在开启139端口 请稍候…
  194. netsh advfirewall firewall delete  rule name = "Disable port 139 - TCP" dir = in
  195. echo.
  196. netsh advfirewall firewall delete  rule name = "Disable port 139 - UDP" dir = in
  197. echo.
  198. echo 正在开启445端口 请稍候…
  199. netsh advfirewall firewall delete  rule name = "Disable port 445 - TCP" dir = in
  200. echo.
  201. netsh advfirewall firewall delete  rule name = "Disable port 445 - UDP" dir = in



  202. ::开启共享服务
  203. sc config LanmanServer start= auto
  204. net start LanmanServer

  205. mshta vbscript:msgbox("共享服务与危险端口均已开启!!",vbSystemModal+64,"安装提示")(window.close)

  206. goto start

  207. :yjxg
  208. cls
  209. echo.
  210. echo.
  211. echo.
  212. echo 修改远程桌面3389端口(支持Win2003-Win10 ) 来自52pojie.
  213. echo 自动添加防火墙规则
  214. echo.
  215. echo.
  216. set /p c= 请输入新的端口:
  217. if "%c%"=="" goto end
  218. goto edit

  219. :edit
  220. cls
  221. netsh advfirewall firewall add rule name="Remote PortNumber" dir=in action=allow protocol=TCP localport="%c%"
  222. netsh advfirewall firewall add rule name="Remote PortNumber" dir=in action=allow protocol=TCP localport="%c%"
  223. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v "PortNumber" /t REG_DWORD /d "%c%" /f
  224. reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber" /t REG_DWORD /d "%c%" /f

  225. mshta vbscript:msgbox("端口修改成功,重启后生效!!",vbSystemModal+64,"安装提示")(window.close)
  226. goto start

  227. :ycgb
  228. echo 正在关闭远程桌面服务...
  229. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server"  /v "fDenyTSConnections" /d 1 /t REG_DWORD /f
  230. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp"  /v "UserAuthentication" /d 1 /t REG_DWORD /f
  231. ::关闭远程桌面
  232. sc config   RemoteAccess start= DISABLED
  233. net stop RemoteAccess /y
  234. sc config   RemoteRegistry start= DISABLED
  235. net stop RemoteRegistry /y
  236. sc config   UmRdpService start= DISABLED
  237. net stop UmRdpService /y
  238. sc config   TermService start= DISABLED
  239. net stop TermService /y
  240. sc config   SessionEnv start= DISABLED
  241. net stop SessionEnv /y
  242. cls
  243. echo.
  244. echo.
  245. mshta vbscript:msgbox("远程桌面已经关闭,无需重启!!",vbSystemModal+64,"提示")(window.close)
  246. goto start


  247. :winxp
  248. cls
  249. echo.
  250. echo.
  251. echo.检测到你的电脑是WINDOWS XP系统。任意将继续。如果检测错误,请直接关闭。
  252. pause >nul
  253. echo.
  254. echo.
  255. net stop LanmanServer /y
  256. sc config LanmanServer start= disabled
  257. echo.
  258. echo.
  259. echo 设置完成。
  260. pause >nul
  261. exit

  262. :yczm
  263. cls
  264. echo.
  265. echo                            注意!!
  266. echo 远程桌面必须是有管理员权限的用户,密码不可为空。否则远程桌面开启无效。
  267. echo.
  268. echo.
  269. echo 当前用户是:%USERNAME%
  270. echo.
  271. echo.
  272. set /p pass= 请输入要修改的密码:
  273. If /I "%pass%"=="" goto b
  274. net user %USERNAME% %pass% >nul
  275. cls
  276. echo.
  277. echo.
  278. echo. 设置成功!按任意键继续开启远程桌面服务
  279. pause >nul

  280. cls
  281. echo 正在开启远程桌面服务...
  282. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server"  /v "fDenyTSConnections" /d 0 /t REG_DWORD /f
  283. reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Terminal Server\WinStations\RDP-Tcp"  /v "UserAuthentication" /d 0 /t REG_DWORD /f

  284. ::开启远程桌面
  285. sc config   TermService start= auto
  286. net start TermService
  287. sc config   SessionEnv start= auto
  288. net start SessionEnv
  289. sc config   RemoteAccess start= auto
  290. net start RemoteAccess
  291. sc config   RemoteRegistry start= auto
  292. net start RemoteRegistry
  293. sc config   UmRdpService start= auto
  294. net start UmRdpService

  295. gpupdate /force
  296. echo.
  297. echo.
  298. mshta vbscript:msgbox("远程桌面已经开启,无需重启!!",vbSystemModal+64,"提示")(window.close)
  299. goto start

  300. :b

  301. mshta vbscript:msgbox("密码没有变动,操作忽略!!",vbSystemModal+64,"提示")(window.close)
  302. goto start
复制代码


如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2020-6-22 16:19 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-22 16:35 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-22 16:35 来自手机 | 显示全部楼层
感谢大佬分享,大牛因有你而更精彩。
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-22 16:36 | 显示全部楼层
好的,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-22 16:53 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-22 17:08 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-22 20:18 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2020-6-22 21:54 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

关注公众号

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部