Форум программистов, компьютерный форум, киберфорум
Dragokas
Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 1.

CMD убирает фейковые ярлыки папок USB Flash и создает защитный Autorun.inf

Запись от Dragokas размещена 22.03.2012 в 21:41
Обновил(-а) Dragokas 17.10.2014 в 23:27

Актуальная версия теперь в теме: AntiHidden - Удаление последствий вируса (поддельные "фейковые" папки на флешке)

Обновлено до v.1.4.1 (10.08.12)

Использование:
Скопировать в корень съемного диска (USB Flash Drive).
Запустить.

Показания к применению:
Ваша флешка побывала на компьютере с вирусом, скрывающим папки, а вместо них - теперь ярлыки.
Вы хотите, чтобы на флешке нельзя было создать autorun.inf, который дает команду на запуск паразитов.

Функционал:
1. Удаление файлов с расширением *.lnk (ярлыки), соответствующих именам папок.
2. Снятие атрибутов с корневых папок (скрытый, системный).
3. Удаление модифицированных системных папок "recycled", "recycler", "System Volume Information".
4. Удаление файла автозапуска "autorun.inf".
5. Создание папки "autorun.inf", внутри которой находяться папки с системными именами.
6. Удаление всех файлов с расширением *.exe в папке %appdata%
7. Учитываются особенности работы с именами, где используются буквы украинского алфавита.
Upd. 1.3.
7. Поиск и удаление всех вирусных файлов host.exe
8. Снятие атрибутов только у папок/файлов, которые имеют +Hidden, +System без повторов (а не всех подряд как было раньше).
Upd 1.4
Удаление только ярлыков, которые имеют соответствующие имена папок.
Установка владельцем.
Назначение прав администратора.
Проверка на существование защитной папки перед ее созданием.
Зануление всех сообщений об операциях в т.ч. предупреждений об ошибках.
Удаление дополнительных вирусных файлов (System, Game.cpl) в режиме подтверждения.
Цветовая индикация части этапов работы.
Отменено ожидание ввода пользователем.
Проверка атрибутов папок только по параметру "Скрытый".
Upd 1.4.1 (только UA-версия)
Сам не знаю

FAQ:
Как удалить созданную программой папку Autorun.inf
- Отформатировать флешку

Программа работает слишком долго:
- Вероятно много папок/файлов или за Вами очень внимательно следит антивирус

Зачем удалять программы в корне папки %appdata% ?
- Некоторые вирусы, скрывающие папки, хранят свое тело в папке %appdata%
Другие User или системные программы в корне этой папки не хранятся.

Листинг исходного кода:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
@echo off
title Anti Hidden Fast - Видалення наслiдкiв вiрусної дiяльностi ver.1.4.1
color 1a
echo                                        Maded by Alex Drago.kas -=2012=-
echo   Anti Hidden Fast v.1.4.1                     -= Зроблено в Українi :)
echo.
echo   Етап 1. Вiдновлення властивостей корневих папок.
echo.
echo   Будуть встановленi такi параметри:
echo   - не "Прихований"
echo   - не "Системний"
echo   + стати власником
echo   + надати повнi права
echo.
echo   Для прискорення операцiї можна тимчасово вимкнути антивiрусне ПЗ.
chcp 1251>nul
for /f "delims=" %%i in ('dir /b /a:d') do (
for /f "delims={;}" %%s in ('attrib "%%i"') do (call :oper "%%s" "%%i")
)
chcp 866>nul
echo.
echo   Етап 2. Видалення зайвих ярликiв.
::специальный алгоритм поиска ярлыков
chcp 1251>nul
for /f "delims=" %%i in ('dir /b /a:d') do if exist %%i.lnk call :killfile %%i.lnk
chcp 866>nul
::echo.
echo   Етап 3. Блокування стороннiх активних процесiв та видалення їх джерела.
if exist %appdata%\*.exe (
for /f "delims=" %%i in ('dir %appdata%\*.exe /b /a') do taskkill /im "%%i" /t /f
call :killfile %appdata%\*.exe
)
::echo.
echo   Етап 4. Видалення файлу автозапуску.
if not exist autorun.inf\ if exist autorun.inf call :killfile autorun.inf
::echo.
echo   Етап 5. Видалення модифiкованих системних папок i чужорiдних файлiв.
for %%a in ("recycled" "recycler" "System Volume Information") do (
if exist %%a (takeown /f %%a /r /d y&echo y|cacls %%a /g %username%:f&attrib -s -h %%a&rd /s /q %%a)
) 1>nul 2>&1
for %%a in (game.cpl system) do (if exist %%a (
echo.
echo Знайдено пiдозрiлий файл - %%a. 
echo Для видалення натиснiть "Y" та кнопку {ENTER}
(takeown /f %%a&echo y|cacls %%a /g %username%:f) 1>nul 2>&1
del /f /p /A %%a
))
echo.
color 1b
::echo   Етап 5.1. Пошук i видалення файлiв host.exe. Будь ласка, чекайте...
tasklist |1>nul 2>&1 FindStr /B /L /I /C:host.exe&&taskkill /im "host.exe" /t /f
(for /f "tokens=*" %%a in ('Dir /b /s /a:-d host.exe') Do (
attrib -s -h "%%a" 1>nul 2>&1
del /f /q "%%a" 1>nul 2>&1
)) 2>nul
::echo.
::echo Операцiю завершено.
::echo.
::echo   Натиснiсть будь-яку клавiшу, щоб створити захисну папку проти автозапуску
::echo   або хрестик, щоб закрити вiкно.
::pause >nul
::echo.
color 1a
echo   Етап 6. Створення захисного файлу автозапуску, що не видаляється
echo           штатними засобами.
if not exist autorun.inf\ mkdir autorun.inf 1>nul 2>&1
if not exist autorun.inf\Dragokas..\ mkdir autorun.inf\Dragokas..\ 1>nul 2>&1
if not exist autorun.inf\com1\ mkdir "\\?\%~d0\autorun.inf\com1" 1>nul 2>&1
if not exist autorun.inf\defence (
mkdir autorun.inf\defence 1>nul 2>&1
echo y|1>nul 2>&1 cacls autorun.inf\defence /d Все
echo y|1>nul 2>&1 cacls autorun.inf\defence /d All
)
echo.
echo Процедуру проведено. Програму буде закрито.
ping -n 3 localhost 1>nul 2>&1
color 07
goto :eof
 
:oper
echo %1|>nul FindStr /BIR ".....H."&&attrib -s -h %2 1>nul 2>&1
echo %1|>nul FindStr /BIR ".....H."&&(
takeown /f %2 /r /d y 1>nul 2>&1
echo y|>nul cacls %2 /g %username%:f
attrib -s -h %2 1>nul 2>&1
)
exit /b
::&&exit /b
::echo %1|>nul FindStr /BIR "....S.."&&attrib -s -h %2
::exit /b
 
:killfile
(attrib -s -h %1
del /F /Q %1||(takeown /f %1&echo y|cacls %1 /g %username%:f&&del /F /Q /A %1)
) 1>nul 2>&1
exit /b


Add. Из уважения к участникам, которые не понимают украинского языка, выкладываю скрипт с переводом на русский.
Листинг (с переводом).
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
@echo off
title Anti Hidden Fast - Удаление следов вирусной деятельности ver.1.4
color 1a
echo                                        Maded by Alex Drago.kas -=2012=-
echo   Anti Hidden Fast v.1.4                       -= Сделано в Украине :)
echo.
echo   Этап 1. Возобновление свойств корневых папок.
echo.
echo   Будут установлены такие параметры:
echo   - не "Скрытый"
echo   - не "Системный"
echo   + стать собственником
echo   + предоставить полные права
echo.
echo   Для ускорения операции можно временно отключить антивирусное ПО.
chcp 1251>nul
for /f "delims=" %%i in ('dir /b /a:d') do (
for /f "delims={;}" %%s in ('attrib "%%i"') do (call :oper "%%s" "%%i")
)
chcp 866>nul
echo.
echo   Этап 2. Удаление лишних ярлыков.
::специальный алгоритм поиска ярлыков
chcp 1251>nul
for /f "delims=" %%i in ('dir /b /a:d') do if exist %%i.lnk call :killfile %%i.lnk
chcp 866>nul
::echo.
echo   Этап 3. Блокирование сторонних активных процессов и удаление их источника.
if exist %appdata%\*.exe (
for /f "delims=" %%i in ('dir %appdata%\*.exe /b /a') do taskkill /im "%%i" /t /f
call :killfile %appdata%\*.exe
)
::echo.
echo   Этап 4. Удаление файла автозапуска.
if not exist autorun.inf\ if exist autorun.inf call :killfile autorun.inf
::echo.
echo   Этап 5. Удаление модифицированных системных папок и инородных файлов.
for %%a in ("recycled" "recycler" "System Volume Information") do (
if exist %%a (takeown /f %%a /r /d y&echo y|cacls %%a /g %username%:f&attrib -s -h %%a&rd /s /q %%a)
) 1>nul 2>&1
for %%a in (game.cpl system) do (if exist %%a (
echo.
echo Найдено подозрительный файл - %%a. 
echo Для удаления нажмите "Y" и кнопку {ENTER}
(takeown /f %%a&echo y|cacls %%a /g %username%:f&&attrib -s -h %%a) 1>nul 2>&1
del /f /p %%a
))
echo.
color 1b
::echo   Этап 5.1. Поиск и удаление файлов host.exe. Пожалуйста, подождите...
tasklist |1>nul 2>&1 FindStr /B /L /I /C:host.exe&&taskkill /im "host.exe" /t /f
(for /f "tokens=*" %%a in ('Dir /b /s /a:-d host.exe') Do (
attrib -s -h "%%a" 1>nul 2>&1
del /f /q "%%a" 1>nul 2>&1
)) 2>nul
::echo.
::echo Операция завершена.
::echo.
::echo   Нажмите любую клавишу, чтобы создать защитную папку против автозапуска
::echo   или крестик, чтобы закрыть окно.
::pause >nul
::echo.
color 1a
echo   Этап 6. Создание защитного файла автозапуска, который не удаляется
echo           штатными средствами.
if not exist autorun.inf\ mkdir autorun.inf 1>nul 2>&1
if not exist autorun.inf\defence..\ mkdir autorun.inf\defence..\ 1>nul 2>&1
if not exist autorun.inf\com1\ mkdir "\\?\%~d0\autorun.inf\com1" 1>nul 2>&1
if not exist autorun.inf\123 (
mkdir autorun.inf\123 1>nul 2>&1
echo y|1>nul 2>&1 cacls "123" /d Все
echo y|1>nul 2>&1 cacls "123" /d All
)
echo.
echo Процедура проведена. Программа будет закрыта.
ping -n 3 localhost 1>nul 2>&1
color 07
goto :eof
 
:oper
echo %1|>nul FindStr /BIR ".....H."&&attrib -s -h %2 1>nul 2>&1
echo %1|>nul FindStr /BIR ".....H."&&(
takeown /f %2 /r /d y 1>nul 2>&1
echo y|>nul cacls %2 /g %username%:f
attrib -s -h %2 1>nul 2>&1
)
exit /b
::&&exit /b
::echo %1|>nul FindStr /BIR "....S.."&&attrib -s -h %2
::exit /b
 
:killfile
(attrib -s -h %1
del /F /Q %1||(takeown /f %1&echo y|cacls %1 /g %username%:f&&attrib -s -h %1&&del /F /Q %1)
) 1>nul 2>&1


Ссылки по теме:
https://www.cyberforum.ru/security/thread238290.html
Вложения
Тип файла: zip Anti_Hidden_fast.zip (1.5 Кб, 748 просмотров)
Тип файла: zip Anti_Hidden_fast(rus).zip (1.6 Кб, 917 просмотров)
Размещено в Без категории
Показов 24617 Комментарии 2
Всего комментариев 2
Комментарии
  1. Старый комментарий
    Аватар для IIIa66uMEM6eP
    Черт) а у меня на С++ подобный курсач был.

    Не по теме:

    ну немного более функциональный, но похожий

    Запись от IIIa66uMEM6eP размещена 26.03.2012 в 10:32 IIIa66uMEM6eP вне форума
  2. Старый комментарий
    Аватар для Dragokas
    Основным условием было создание CMD с использованием только встроенных в ОС команд, даже без Resourse Kit.

    Жаль NTFS на флехах пока еще не так распространено, можно было бы сделать даже такую фишку, что папка Autorun.inf пуста, но удалить ее нельзя (причем это не связано с правами). Называется junction point.
    Запись от Dragokas размещена 26.03.2012 в 12:45 Dragokas вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru