[решено] WinLock блокировка входа в Windows

Ответить
Аватара пользователя
Fomarkin

[решено] WinLock блокировка входа в Windows

Сообщение Fomarkin »

Все "разблокираторы" и "генераторы номеров" хороши, но чтоб их запустить надо еще попасть в систему.

Написал простенький скрипт для защиты реестра от запуска Winlock.

Может кому поможет:




читать дальше »






Код:

Код: Выделить всё

Opt ('TrayIconHide', 1)
#Include 
$today = _NowDate()
$htime = _NowTime()
Func checkit ()
$val = RegRead ($section, $key)
	if $val  $def then
	$i+=1
	$logfile = FileOpen ($today&'.txt', 1)
		If $logfile = -1 Then
    			MsgBox(0, "Ошибка", "Невозможно открыть файл.")
    		EndIf
	FileWriteLine ($logfile, $htime&"- Изменен "&$i&" параметр"&@CRLF)
	FileWriteLine ($logfile, $section&@CRLF)
	FileWriteLine ($logfile, "стандартный ключ: "&$key&'='&$def&@CRLF)
	FileWriteLine ($logfile, "измененый ключ:   "&$key&'='&$val&@CRLF)
	FileClose ($logfile) 
	RegWrite ($section, $key, $parreg,$def )
	return ($i)
	EndIf
EndFunc
$exscript = 0
Do
Sleep (5000)
$section ='HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon'
$i =0
$parreg = "REG_SZ"
$key ='Shell'
$def ='Explorer.exe'
checkit ()
$key ='System'
$def =''
checkit ()
$key = 'Userinit'
$def = @SystemDir&'\userinit.exe,'
checkit ()
$section = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows'
$key = 'AppInit_DLLs'
$def = ''
checkit ()
if $i > 0 then
$alarm = "Неизвестной программой были изменено: " & $i & @CRLF & "Значений реестра, проверь систему!"
MsgBox ( 262160, "Внимание !!", $alarm, 30 )
ShellExecute($today&'.txt', "", @ScriptDir, "open")
Sleep (2000)
	if FileExists ( "HijackThis.exe" ) then
		Run ("HijackThis.exe")
	EndIf
$exscript = 1
EndIf
Until $exscript = 1





Пояснять тут вроде нечего, параметры можно добавить (если появятся другие пути запуска)

Можно скомпилироать екзешник и добавить ярлык в автозагрузку (лучше установить как службу, меньше будет подтормаживать систему, хоть и некритично, он занимает всего 6 мб в свопе). Скрипт только препятствует загрузке WinLock при входе в Windows, он не удаляет вирус, только записывает измененые значения в лог. Обработка ошибок не предусмотрена, для запуска HijackThis файл должен лежать

в папке с екзешником.
Аватара пользователя
iskander-k

Re: [решено] WinLock блокировка входа в Windows

Сообщение iskander-k »

Цитата Fomarkin:



Пояснять тут вроде нечего,
[решено] WinLock блокировка входа в Windows




Если поподробнее пояснили - было бы лучше.

А если бы - собрали бы самостоятельную утилитку с автозапуском при запуске компа - было бы хорошо. клиенту не объяснишь на пальцах по инету как ему запустить этот скрипт.
Аватара пользователя
Drongo

Re: [решено] WinLock блокировка входа в Windows

Сообщение Drongo »

Цитата Fomarkin:



Можно скомпилироать екзешник и добавить ярлык в автозагрузку
[решено] WinLock блокировка входа в Windows




Можно, конечно. Изображение Все поголовно прогеры Изображение и разбираются во всех языках программирования и у всех есть необходимые компиляторы. Поправьте меня если я не правильно понял.

Здесь идёт проверка ветки



Код:

Код: Выделить всё

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

И ключей. Верно?



Код:

Код: Выделить всё

Shell
Userinit
AppInit_DLLs

Если значение этих ключей отличается от обычного, то вывести информацию в лог сколько ключей изменено.



Это вроде константных данных, с которыми мы сравниваем изменения. Так?



Код:

Код: Выделить всё

...
$section ='HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon'
$i =0
$parreg = "REG_SZ"
$key ='Shell'
$def ='Explorer.exe'
checkit ()
$key ='System'
$def =''
checkit ()
$key = 'Userinit'
$def = @SystemDir&'\userinit.exe,'
checkit ()
$section = 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows'
$key = 'AppInit_DLLs'
$def = ''
checkit ()
...

Fomarkin, Желательно как минимум, откоментировать каждую строку. Изображение
Аватара пользователя
thyrex

Re: [решено] WinLock блокировка входа в Windows

Сообщение thyrex »

+ к Drongo



Не вижу смысла в этой проверке

Код:

Код: Выделить всё

AppInit_DLLs = ''

Очень часто можно встретить в этом параметре запись от Касперского. Да и vksaver туда лезет. Их явно не отнесешь к Winlocker'ам Изображение
Аватара пользователя
Drongo

Re: [решено] WinLock блокировка входа в Windows

Сообщение Drongo »

Цитата thyrex:



Очень часто можно встретить в этом параметре запись от Касперского. Да и vksaver туда лезет.
[решено] WinLock блокировка входа в Windows




Да, а также DLL'ки фаерволов, Outpost и т.д. Поэтому при таком раскладе скрипт перепишет легальное и существующее значение для AppInit_DLLs.
Аватара пользователя
Fomarkin

Re: [решено] WinLock блокировка входа в Windows

Сообщение Fomarkin »

Sleep таймаут между проверками (5 сек.)

$parreg = Параметр ключа

$section = Раздел реестра для проверки

$key = Проверяемый ключ

$def = значение по дефолту

checkit () функция проверки, записи в лог и востановления на дефолт.

Скрипт дан для примера

Нужна ли проверка AppInit_DLLs, Вам решать, можно посмотреть
http://www.z-oleg.com/secur/virlist/vir1158.php


Параметры можно поставить, такие какие стоят у Вас на компьютере. Поэтому и выложил скрипт, а не скомпилированный файл. Свои параметры могут быть не только у AppInit_DLLs, но и по моему у Shell вроде бы Aston туда себя прописывает (хотя могу и ошибаться).


Цитата Drongo:



и у всех есть необходимые компиляторы.
[решено] WinLock блокировка входа в Windows




AutoIt бесплатен и есть подробная справка на русском, достаточно открыть соответствующую ветку форума
Ответить

Вернуться в «Лечение систем от вредоносных программ»