深山红叶真正的查杀防一体的自动播放病毒免疫工具

来源:CCF

早在本人制作“深山红叶PE工具箱”光盘的时候,就在好几个版本中添加了自制的免疫利用自动播放功能激活的病毒的工具,但那都非常原始。近来与 Phexon 兄弟讨论这个问题时,我们又找出了检测移动盘符等一系列方法,并且 Phexon 对有关代码也进行了优化。在此基础上,本人认真分析了当前所有利用自动播放功能运行的病毒的特性,总结了它们的共同点,给出了一系列全面的解决办法,既能够杀除,又能够免疫。具体功能如下:

【功能】杀除并全方位免疫利用自动播放功能激活的病毒。
1. 杀除可能存在的自动运行病毒进程(对目前已知的此类病毒进程自动杀除);
2. 清除喜欢利用回收站的移动磁盘自动运行病毒(对所有磁盘枚举扫描一次);
3. 无条件禁止所有磁盘自动运行特性防范自动运行病毒;
4. 防止在资源管理器中彻底隐藏文件(病毒隐藏后连打开隐藏选项都无效的!);
5. 修复可能修改的磁盘打开关联(此类病毒可能修改磁盘关联,导致杀毒后不能打开磁盘);
6. 清理并免疫启动组(当前“启动”组中除lnk类型外一律删除并只读);
7. 防止转移启动组位置(个别病毒可能转移“启动”组的位置并导致开始菜单中见不到病毒);
8. 停止并禁用外壳播放事件通知服务 ShellHWDetection,鸡肋的服务但安全威胁不小!
9. 添加防止从回收站或仿回收站的目录中直接运行可执行文件的策略(移动设备可供病毒隐身的主要是根目录和回收站,以回收站比较隐蔽);

————–以上是无条件清理并免疫。以下为操作选项(除恶务尽!)——————-

10. 删除当前所有磁盘中的 Autorun 病毒并免疫
11. 仅删除可移动磁盘中的 Autorun 病毒并免疫

也就是说,只要运行了本程序,则无论是否选择了操作,则系统中可能存在的此类已知病毒就被杀除了一次并采取了免疫措施;菜单选项中的功能主要用于针对特定磁盘类型进一步彻底清扫和目录免疫。

【特点】
1. 先杀后免疫,处理思路明晰;
2. 免疫方法多样化,从注册表到启动组到文件目录,分别都采取了免疫措施;
3. 免疫对象全面化,最大可能阻止此类病毒的感染植入、激活加载和途径;
4. 支持FAT32/NTFS的双文件系统的目录免疫;
5. 独创的回收站策略免疫,效果独特;
6. 操作简单方便,最适合傻瓜化操作;
7. 对正常的系统功能和应用程序的使用没有任何副作用。仅仅是使用后打开移动设备必须手工从资源管理器中打开相应盘符而已。
8. 能够有效阻止带毒 U 盘、带毒移动磁盘、带毒存储卡等上面的此类型病毒在本机的激活,并且不会出现盘符不能打开的故障。

【代码】

@echo off
color 2f
title 自动播放类型病毒清除/免疫工具 By 深山红叶
echo.
echo 正在检测系统状态,请稍候……
rem 杀除可能存在的自动运行病毒进程
rem 清除自动加载键值
taskkill /F /IM ctfmon.exe /IM ctfmon.exe /IM SVOHOST.exe /IM AdobeR.exe /IM ravmone.exe /IM wincfgs.exe /IM doc.exe /IM rose.exe /IM sxs.exe /IM autorun.exe /IM KB20060111.exe>nul 2>nul
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v SoundMam /f>nul 2>nul
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v wincfgs /f>nul 2>nul
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" /v Load /f>nul 2>nul
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows" /v Load /f>nul 2>nul

rem 清除喜欢利用回收站的移动磁盘自动运行病毒
for %%a in (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%b in (exe pif com) do echo Y|cacls "%%a:\Recycler\*.%%b" /C /T /P everyone:F>nul 2>nul&echo Y|cacls "%%a:\Recycled\*.%%b" /C /T /P everyone:F>nul 2>nul
(
for %%b in (exe pif com) do del /A /F /S /Q "%%a:\Recycled\*.%%b">nul 2>nul&del /A /F /S /Q "%%a:\Recycled\Recycled\*.%%b"
))>nul 2>nul

Rem 无条件禁止所有磁盘自动运行特性防范自动运行病毒
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveAutoRun /t REG_BINARY /d ffffff03 /f>nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_USERS\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_USERS\S-1-5-19\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
reg add "HKEY_USERS\S-1-5-20\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f>nul 2>nul
rem 防止在资源管理器中彻底隐藏文件
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v CheckedValue /t REG_DWORD /d 0x00000001 /f>nul 2>nul
rem 修复可能修改的磁盘打开关联
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2" /f>nul 2>nul
rem 清理并免疫启动组
echo Y|cacls "%USERPROFILE%\「开始」菜单\程序\启动" /C /P everyone:F>nul 2>nul
echo Y|cacls "%ALLUSERSPROFILE%\「开始」菜单\程序\启动" /C /P everyone:F>nul 2>nul
for %%a in (exe pif com) do attrib -s -h -r "%USERPROFILE%\「开始」菜单\程序\启动\*.%%a">nul 2>nul
for %%a in (exe pif com) do attrib -s -h -r "%ALLUSERSPROFILE%\「开始」菜单\程序\启动\*.%%a">nul 2>nul
for %%a in (exe pif com) do del /A /F /S /Q "%USERPROFILE%\「开始」菜单\程序\启动\*.%%a">nul 2>nul
for %%a in (exe pif com) do del /A /F /S /Q "%ALLUSERSPROFILE%\「开始」菜单\程序\启动\*.%%a">nul 2>nul
echo Y|cacls "%USERPROFILE%\「开始」菜单\程序\启动" /C /P everyone:R>nul 2>nul
echo Y|cacls "%ALLUSERSPROFILE%\「开始」菜单\程序\启动" /C /P everyone:R>nul 2>nul
rem 防止转移启动组位置
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Startup /d "%USERPROFILE%\「开始」菜单\程序\启动" /f>nul 2>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup" /d "%ALLUSERSPROFILE%\「开始」菜单\程序\启动" /f>nul 2>nul

rem 停止并禁用外壳播放事件通知服务
sc stop ShellHWDetection >nul 2>nul
sc config ShellHWDetection start= disabled >nul 2>nul

rem 添加防止从回收站或仿回收站的目录中直接运行可执行文件的策略
set REGPATH=HKLM\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths
set SFLAG=/v SaferFlags /t REG_DWORD /d 0x00000000 /f
set IDATA=/f /v ItemData /d "?:\Recyc?
reg add %REGPATH%\{00ffa5bf-abe7-4901-aacf-4f58aa31217a} %SFLAG%>nul
reg add %REGPATH%\{00ffa5bf-abe7-4901-aacf-4f58aa31217a} %IDATA%\*\*\*\*.*">nul

reg add %REGPATH%\{41fe7eed-c47a-46f6-840a-240796fd03cf} %SFLAG%>nul
reg add %REGPATH%\{41fe7eed-c47a-46f6-840a-240796fd03cf} %IDATA%\*\*\*.*">nul

reg add %REGPATH%\{4e93c91c-a40e-462e-9b89-3b0832d222d9} %SFLAG%>nul
reg add %REGPATH%\{4e93c91c-a40e-462e-9b89-3b0832d222d9} %IDATA%\*.*">nul

reg add %REGPATH%\{5bfc100b-d3fb-450e-88ec-6819ab56a9ff} %SFLAG%>nul
reg add %REGPATH%\{5bfc100b-d3fb-450e-88ec-6819ab56a9ff} %IDATA%\*\*\*\*.*">nul

reg add %REGPATH%\{5c5e2bcd-7057-43f4-830c-e4361d2afadd} %SFLAG%>nul
reg add %REGPATH%\{5c5e2bcd-7057-43f4-830c-e4361d2afadd} %IDATA%\*.*">nul

reg add %REGPATH%\{5f8ff865-0638-4c6e-98de-923e7bc6b330} %SFLAG%>nul
reg add %REGPATH%\{5f8ff865-0638-4c6e-98de-923e7bc6b330} %IDATA%\*\*\*.*">nul

reg add %REGPATH%\{649c1429-0e79-453c-abe9-b5682e035ae7} %SFLAG%>nul
reg add %REGPATH%\{649c1429-0e79-453c-abe9-b5682e035ae7} %IDATA%\*\*.*">nul

reg add %REGPATH%\{718f54b2-c669-4d7b-aeff-18d69f100034} %SFLAG%>nul
reg add %REGPATH%\{718f54b2-c669-4d7b-aeff-18d69f100034} %IDATA%\*\*.*">nul

reg add %REGPATH%\{8385d9d2-80c9-4ac1-a100-ed3e62863d97} %SFLAG%>nul
reg add %REGPATH%\{8385d9d2-80c9-4ac1-a100-ed3e62863d97} %IDATA%\*.*">nul

reg add %REGPATH%\{af2a4fcf-441c-421e-9663-52cd3502cfd7} %SFLAG%>nul
reg add %REGPATH%\{af2a4fcf-441c-421e-9663-52cd3502cfd7} %IDATA%\*\*\*.*">nul

reg add %REGPATH%\{b997f4b2-c037-4e97-b051-31f5d86df802} %SFLAG%>nul
reg add %REGPATH%\{b997f4b2-c037-4e97-b051-31f5d86df802} %IDATA%\*\*.*">nul

reg add %REGPATH%\{d4e7b6ff-d76f-407f-b8bb-ea0835f5babc} %SFLAG%>nul
reg add %REGPATH%\{d4e7b6ff-d76f-407f-b8bb-ea0835f5babc} /f /v ItemData /d "RECYC*.*">nul

cls
rem 以下代码参照 Phexon 兄弟的作法进行了优化!
rem ==========================================
:menu
cls
echo.
echo 自动运行类型(Autorun)病毒清除工具
echo By 深山红叶(部分代码参照 Phexon 优化)
echo.
echo 本程序会无条件清除并免疫当前系统中可能存在的利用自动播放
echo 功能激活加载的病毒。免疫后,每个盘符下如果存在隐藏属性的
echo Autorun.inf 目录并无法删除属于正常现象,是免疫的需要!
echo.
echo [1] 删除当前所有磁盘中的 Autorun 病毒并免疫
echo [2] 删除可移动磁盘中的 Autorun 病毒并免疫
echo [0] 退出
echo.
set /p choice= 请选择(1/2/0):
if "%choice%"=="1" goto menuall
if "%choice%"=="2" goto menumove
if "%choice%"=="0" exit
goto menu

:menuall
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
fsutil fsinfo drivetype %%a: |find /i "固定" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b" >nul 2>nul
del /a /f /q %%a:\autorun.inf >nul 2>nul
) >nul 2>nul
fsutil fsinfo drivetype %%a: |find /i "移动" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b" >nul 2>nul
del /a /f /q %%a:\autorun.inf >nul 2>nul
) >nul 2>nul
fsutil fsinfo drivetype %%a: |find /i "固定" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b"&md "%%a:\%%b\免疫目录不要删除!...\"&attrib +s +h +r "%%a:\%%b"&echo Y|cacls "%%a:\%%b" /T /C /P everyone:N >nul 2>nul
del /a /f /q %%a:\autorun.inf&md "%%a:\autorun.inf\免疫目录不要删除!...\"&attrib +s +h +r %%a:\autorun.inf&echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:N >nul 2>nul
) >nul 2>nul
fsutil fsinfo drivetype %%a: |find /i "移动" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b"&md "%%a:\%%b\免疫目录不要删除!...\"&attrib +s +h +r "%%a:\%%b"&echo Y|cacls "%%a:\%%b" /T /C /P everyone:N >nul 2>nul
del /a /f /q %%a:\autorun.inf&md "%%a:\autorun.inf\免疫目录不要删除!...\"&attrib +s +h +r %%a:\autorun.inf&echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:N >nul 2>nul
) >nul 2>nul
)
cls
echo Autorun 病毒清除并免疫完毕,任意键退出……
pause>nul
goto exit

:menumove
for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
fsutil fsinfo drivetype %%a: |find /i "移动" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b" >nul 2>nul
del /a /f /q %%a:\autorun.inf >nul 2>nul
) >nul 2>nul
fsutil fsinfo drivetype %%a: |find /i "移动" && (
for /f "tokens=2 delims==" %%b in (%%a:\autorun.inf) do del /a /f /q "%%a:\%%b"&md "%%a:\%%b\免疫目录不要删除!...\"&attrib +s +h +r "%%a:\%%b"&echo Y|cacls "%%a:\%%b" /T /C /P everyone:N >nul 2>nul
del /a /f /q %%a:\autorun.inf&md "%%a:\autorun.inf\免疫目录不要删除!...\"&attrib +s +h +r %%a:\autorun.inf&echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:N >nul 2>nul
) >nul 2>nul
)
cls
echo 移动磁盘中的 Autorun 病毒清除并免疫完毕,任意键退出……
pause>nul
goto exit

:exit

【附件】
本帖附件如下,其中的代码内容与上述完全一致。

【其他】
1. 欢迎各位高手就此类病毒的防范提出更好的建议和解决方案;
2. 使用本程序为您自愿,一切后果与责任自负。
3. 欢迎转载,但必须注明出处,并不得随意删除作者信息。您可以对上述功能进行修改或添加,并可追加上您的名字。

相关日志

抢楼还有机会... 抢座Rss 2.0或者 Trackback

发表评论