Показать полную графическую версию : [решено] Удаление скрытых файлов с флешки и Безопасное извл.устройства
Подскажите знающие, возможно ли реализовать такое:
Скажем так, на некоем предприятии, недобросовесный админ, или др. причины, но на сервере постоянно присуствуют вирусы. При подсоединении флешки к компьютеру на предприятии - флешка заражается....Идея такая:
Создать скрипт-файл, который будет помещен на флешку, и перед тем как вынуть флешку, нужно будет просто запустить данный скрипт, и он производил бы такие действия:
• Так как файл на флешке, то букву Диска флешки узнать будет нетрудно, хотябы даже так: $N_Disk=StringLeft(@ScriptFullPath,1)
• Дальше произвести поиск файлов на флешке с атрибутами - Скрытый, Системный (думаю ясно почему), включая файл AUTORUN.INF и удаление их.
• После удаления - последующее извлечение устройства (Тут есть код: http://www.autoitscript.com/forum/index.php?showtopic=83470&st=0&p=597036&#entry597036)
Вопрос такой, как вы думаете, "прокатит" такой способ, или нет, не успеет ли вирус заразить скрипт-файл?
И если "прокатит", то как лучше произвести поиск на данной флешке только файлов по маске *.exe с атрибутами "S" = SYSTEM и "H" = HIDDEN с последующим их удалением - (в примере на всяк случай вместо удаления напишите просто вывод в msgbox-e), чтобы было очень быстро (флешка используется восновном для "переноса" аудио и видео, ну могут там быть еще какие то файлы, но точно не скрытые и не системные.Мне нужна помощь именно в этом участке кода - поиск и удаление файлов с атрибутами скрытый, системный, и если они только для чтения - то и этот.
beve, это бесполезно. Вы запустите этот скрипт, дальше за секунды флешка заразится опять.
speechless
13-04-2009, 18:20
beve, можно сделать по другому:
Я на своём компе поставил в авто загрузку скрипт типа:
#NoTrayIcon
$regRead = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer", "NoDriveTypeAutoRun") ;читаем реестр
If $regRead<>221 Then
$msgReg=MsgBox(4, "NoAutorunRz", "Вы хотите отключить автозапуск всех"&@LF&"типов устройств, кроме привода"&@LF&"(Рекомендуется)")
If $msgReg =6 Then ;если да
$regWrite=RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer", "NoDriveTypeAutoRun", "REG_DWORD", "221")
If $regWrite=0 Then ;если ошибка
MsgBox(48, "NoAutorunRz", "Не удалось добавить инфармацию в реестр")
Exit
EndIf
EndIf
EndIf
While 1
Sleep(3000) ; проверка каждые 3 секунды
Event1() ; выполняем функцию в цикле
WEnd
Func Event1()
$letterDrive = DriveGetDrive( "REMOVABLE" ) ; ищем все съемные носители
If NOT @error Then
;MsgBox(4096,"", "Found " & $var[0] & " drives")
For $i = 1 to $letterDrive[0]
If $letterDrive[$i]<> "a:" Then ;пропускаем дисковод
;$labelDrive = DriveGetLabel( $letterDrive[$i] ) ;узнаём метку найденых
$autorun=FileExists($letterDrive[$i]&"\Autorun.inf") ;ищем файл Autorun.inf
If $autorun=1 Then ;если существует
$msgAut=MsgBox(20,"NoAutorunRz - ВНИМАНИЕ", "На флешке найден файл <"&$letterDrive[$i]&"\autorun.inf>"&@LF&"ВОЗМОЖНО ВИРУС"&@LF&@LF&"Хотите его удалить")
If $msgAut=6 Then
FileSetAttrib($letterDrive[$i]&"\autorun.inf", "-R") ;снять атрибут чтения
FileDelete($letterDrive[$i]&"\autorun.inf")
EndIf
Endif
Endif
Next
EndIf
EndFunc
И при втыкании флешки проверяет наличие файла autorun.inf (все остальное можно удалить ручками)
Имхо, у меня стоит антивир+фаервол: ESS 4 (jy же NOD) все удалет со всех флешек ;) и с ключами нет проблем )))
beve, а попробуйте на флешку записать папку с именем:
AUTORUN.INF
по идее ни какой файл с таким именем невозможно создать.
если только эти "звери" не шибко умные.
хотя....если названить папку системной / архивной / только чтение и т.д. - может прокатит?
beve, как понимаю хотите запускать скрипт на флэшке - пока она еще "в гостях".
тогда релаьно стоит посмотреть в сторону:
1. поиск возможных нарушителей
2. если есть - то создовать файлы с таким е именем с атрибутами системными, что бы сложнее удалить....(может поможет)
3. и побыстрее выдернуть...
Вы поэксперементируйте на зараженном ПК - и все станет ясно.
А то тут много можем гадать ))
speechless
13-04-2009, 19:20
proxy,
Ничего из выше перичисленного не сработает на зараженной машине (намаелся уже)
Остается только боротсься с последствиями на незараженной системе
Вы поэксперементируйте на зараженном ПК - и все станет ясно. »
Лично у меня KIS 6 и тоже проблем с этим нету, но вот у сестры на работе - эта проблемма! Флэшку боится включать на работе, ибо тогда куда, не прийдет с этой флэшкой - ясное дело, не вольно вирусы переносит(неприятная систуация), вот и думал про такое простое решение. Видимо так как думалось - не выйдет... Мож кто еще какое решение предложит? speechless-решение хорошее. Но если бы хоть это было на всех компах в мире...
beve, тогда учите скрипт:
0. думаю стоит поискать вариант блокировки....
1. чистеть флешку
2. сразу её отключать
т.е. скрипт удаляет все подозрительные файлы.
и далее следить каждую секунду (а лучше 250мс) не появился ли файл AUTORUN.INF (все остальное не важно - без него все равно они не запустятся)
и в это время отключать флешку (скрипт даже можно что бы он копировался в тэм и оттуда запусклся или в надежное место и
линк в пуск - что бы на будущее ))
скорее всего есть средства (мож win Api) безопасного извлечения...
в помощь MSDN - значит можно ) (http://msdn.microsoft.com/en-us/library/ms790831.aspx)
немного по теме (http://www.hack-info.ru/showthread.php?p=292968)
+ еще (http://www.hack-info.ru/showthread.php?p=292968)
идея в том, что вир не будет записываться каждую секунду, как
правило, имхо так встречал, проходит 2-5 секунд....если контролить
появление AUTORUN.INF каждые 50-250мс = то он не проскользнет.
а в это время второй скрипт будет безопасно извлекать флешку.
все это дела, как говорил в одно скрипте который через FileInstall
все закидывает куданить на лок машину и запускает...
должно сработать )
скорее всего есть средства (мож win Api) безопасного извлечения... »
Код на autoit, как это сделать через Win Api, я нашел и писал об этом в начале, переработать его под этие нужды - проблем нет.
Я тоже размышляю, удастся ли раньше вируса успеть удалить файлы и извлеч устройство или нет...
как это сделать через Win Api, я нашел и писал об этом в начале »
пардон, ступил...
удастся ли раньше вируса успеть удалить файлы и извлеч устройство или нет... »
имхо - думаю удастся. главное параллейно мониторить флешку
и извлекать, что бы не отрываться от процесса зачистки до последней милли-милли-секунды ))
speechless
13-04-2009, 20:48
....если контролить
появление AUTORUN.INF каждые 50-250мс »
При слишком частом мониторинге флешки, безопасно её удалить не удасться.
каждые 2 сек - 50/50
1,5 сек - 10/90
покрайне мере у меня
Если флэшка с NTFS - лучше просто закрыть доступ к файлу autorun.inf
Чистые машины с неотключённым автораном будут тогда в порядке.
А то с этим удалением - кот в мешке.
NTFS - лучше просто закрыть доступ к файлу autorun.inf »
Это самое верное решение для NTFS-флешек. Вот только теперь, копая глубже, нашел оригинальный способ для Fat-флешек. Есть самое удачное на теперешнее время решение - Оно связано с вирусами, которые распостраняются, используя файл autorun.inf, и суть описана на сайте - http://habrahabr.ru/blogs/infosecurity/54187/ Думается мне, что лучшего решения,чем просто запретить перезаписывать файл Autorun.inf быть не может, вернее сказать, если пойти по данному методу, то с файлом autorun.inf - вобще ничего нельзя будет сделать, ни перезаписать, ни удалить.
beve, если на NTFS этот файлик так же не перезапишется - это мега решение!!
Просто отключение AutoRun-а и т.д. вмешательство в чужую систему, имхо, не изящно ...
speechless
13-04-2009, 22:46
beve, Насчет http://habrahabr.ru/blogs/infosecurity/54187/
Цитата с форума:"Ммм, что мешает вирусу отредактировать FAT и убрать установленные атрибуты?"
Пока вроде таких нету, но ...
А если форматнуть флеш в NTFS, то на другом компе с урезанными пользовательскими правами(как часто бывает на работе) - "у вас нет прав на открытие носителя"
speechless, тогда вопрос, зачем форматировать в NTFS, если под FAT все классно?
или я что то недопонял?
Ммм, что мешает вирусу отредактировать FAT и убрать установленные атрибуты? »
имхо, думаю время пока есть ))
А в целом решение хорошое. даже когда "зверки" научатся это делать все равно на зараженных компах будут
и "тугадумные" которые, котрые не умеют это длеать....а там и новое решние появится.
К тому же win 7, скорее всего как в аналогии с вистой будет все ок.
А сама ос очень хороша. Пора бы потихоньку и переходить....))
speechless
14-04-2009, 00:02
proxy, не буду спорить на счет ОСей, ибо неблагодарное это дело.
когда "зверки" научатся это делать »
По моему скромному мнению слишком скоро, потому это не решение.
Кельтская народная поговорка: Расслабился - обделался )))
Хотя, согласен, идея интересная.
зачем форматировать в NTFS, если под FAT все классно? »
Я имел ввиду что в NTFS флешка может и не открытся на работе(с чего все и началось)у сестры на работе - эта проблемма »
Ибо могут быть проблемы с правами доступа
Я имел ввиду что в NTFS флешка может и не открытся на работе(с чего все и началось) »
Вот и отлично, в FAT её и замена байтов в autorun.
И судоржно дражать, с замиранием сердца, в ожидание злобных вирусов ;) ))
proxy, не буду спорить на счет ОСей, ибо неблагодарное это дело. »
Лично - уже давно убедился - у каждого свой вкус ))) как бы не был прекрасени линукс - обожаю винду )))))))
Просто ставил 7-ку, у меня на виртуалке она летает как локальная хп, даже после опытов )))
А привоститься к интерфейсу+подлапатить под себя - дело техники ......помню как скрепя сердцем и не только
переходил с 98 (секанд эдишин) на xp, вот уж дело было.... )))))))))
speechless
14-04-2009, 00:32
proxy, модератор по ходу спит )))) :yahoo:
модератор по ходу спи »
Сейчас он проснётся, и начнёт раздавать подарки, в виде банов :)
speechless,
! Предупреждение за нарушение общих правил форума (http://forum.oszone.net/rules.html) (3.17).
Лично я использую такой способ: отслеживаю все новые появившиеся в системе устройства(с помощью сообщения WM_DEVICECHANGE). Если это устройство флешка или винт, то проверяю, есть ли там файл Autorun.inf. Если есть, то удаляю. Данный вариант будит работать на чистой машине.
Увы кода данного варианта на AutoIT у меня нет. (есть только C++ (win32 api) вариант).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.