Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Автоматизация администрирования

Автор: Boochboy
Дата сообщения: 28.10.2005 12:27
AlexSSS
>скажи, какой конкретно ключ в поледите
user default
путь к ключу - Shell - Restrictions-Remove Run command from Start menu

>логон скрипты
Спасибо за совет. Единственная проблемма в том пока, что я плохо в них разбираюсь. точнее сказать вобще не разбираюсь)
Но эт поправимо.
Автор: AlexSSS
Дата сообщения: 28.10.2005 12:31
KapralBel
спасибо за скрипт, но, к сожалению он меня не спасет
запуск вируса записан в
hkey_local_machine\software\microsoft\windows\currentversion\runservices\

а эта ветка стартует еще до логона пользователя
Under Microsoft Windows 95, Windows 98, and Windows Millennium Edition (Me) where all keys are supported, the keys are loaded in the following order:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
<Logon Prompt>
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
StartUp Folder
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
Автор: KapralBel
Дата сообщения: 28.10.2005 12:39
AlexSSS
А если и скрипт запускать через runservices?
Документация по VBS/JS ~1.4Mb

Добавлено:
Этот скрипт можно дополнить что бы и реестр чистил
Автор: AlexSSS
Дата сообщения: 28.10.2005 12:46
Boochboy
> user default
> путь к ключу - Shell - Restrictions-Remove Run command from Start menu

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\\NoRun
Меню "Пуск" пункт "Выполнить". Так же управляет возможностью просмотра локальных файлов с помощью ввода адреса или URL файла в поле адреса в IE. При значении 1 сочетание клавиш <WIN>+<R> отключается. Тип: REG_DWORD; Значение: (по умолчанию параметра нет; 1 = скрыть) Групповая политика. <URL:http://www.winguides.com/registry/redirect.php?ref=rr&id=151>

кстати, взято из документации
(С) 2003г. Все права, на составление и перевод, принадлежат участникам форума RU.Board http://forum.ru-board.com/
albel (albel@hotmail.ru)
KLASS (klass@bk.ru)

> Единственная проблемма в том пока, что я плохо в них разбираюсь
а никто со знанием скриптов не рождается ;o)
если ты не внаешь ни одного скриптового языка и не к какому не привязан, я рекомендую посмотреть в сторону KIX - для логон скриптов это очень простой и мощный язык. То, что на VBS потребует пять-десять строк, на нем пишется на пару строк. Это обьясняется тем, что он заточен именно под логонные скрипты.
http://forum.ru-board.com/topic.cgi?forum=8&topic=10659#1

Добавлено:
KapralBel
>А если и скрипт запускать через runservices?
>Документация по VBS/JS ~1.4Mb
спасибо, обязательно посмотрю.
правда не уверен, что скрипт успеет сработать, прежде чем загрузится вирус - оба процесса будут загружатся асинхронно и не факт, кто скрипт загрузится первым

>Этот скрипт можно дополнить что бы и реестр чистил
именно это я и сделал в первую очередь в логон скрипте. Правда при логоне пользователя это делать уже бесполезно ;o)
Автор: Boochboy
Дата сообщения: 28.10.2005 13:25
AlexSSS
>HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\\NoRun
Этот и другие нужные мне разделы я знаю, пасиб. Они работают, всё норм, но изменения в них не отображаються в интерфейсе полэдита. С этим конечно можно смириться, но всё же не удобно работать в дальнейшем, нет наглядности. Чувствую, что чтобы они начали отображаться - правка реестра не поможет. Значит надо бросить мою затею.
>я рекомендую посмотреть в сторону KIX
Наверное прислушаюсь к твоему совету, спасибо.
Автор: KapralBel
Дата сообщения: 28.10.2005 13:29
AlexSSS
Мда, погорячился я насчет запуска скипта вперед вируса .
А как такой вариант:
Скрипт запускается руками.
Он чистит реестр, удаляет программу
Перезагрузка компа (можно предложить юзеру нажать на Reset)
Теоретически вирус не должен прописаться заново
Автор: AlexSSS
Дата сообщения: 28.10.2005 13:43
KapralBel
> Скрипт запускается руками.
> Он чистит реестр, удаляет программу
как только он почистит реестр, любой уважающий себя вирус сразу пропишет себя там заново.
Кстати, это довольно неплохой способ узнавания, что за бяка сидит в автозапуске - заходишь в реестр, в ветку автозапуска. Удаляешь сомнительную запись, ждешь пару секунд, F5 - приличный вирус себя уже перепропишет заново ;o)

Удалить файл, пока он запущен, невозможно.

надо в первую очередь убивать процесс, однако
1. он может быть там под разными именами
2. как убить процесс под Win98, я не знаю, надо будет искать.
ну и убивать процесс, не зная его названия, это очень круто ;o)
Автор: IronWarrior
Дата сообщения: 28.10.2005 13:55
AlexSSS

Цитата:
2. как убить процесс под Win98, я не знаю, надо будет искать.

я уже писал пару строчками выше... . но есть еще дмваре, но она точно работает вроде тока под нт системами...
Автор: KapralBel
Дата сообщения: 28.10.2005 14:01
AlexSSS
А твои способы раньше помогали по отлову вирусов?
Может быть какой либо бесплатый антивус туда поставить?
Автор: AlexSSS
Дата сообщения: 28.10.2005 14:43
> А твои способы раньше помогали по отлову вирусов?
да. Я уже локализовывал в домене несколько вирусных эпидемий, когда для антивирусников еще не было обновлений.
Одиночные вирусы отлавливаются достаточно часто и обычно даже не приходится прибегать к помощи антивируса.

Опишу мою систему сбора и анализа логов, возможно, кому-то пригодится.
при каждом логоне кроме настройки параметров прльзователя, включается блок сбора инфы по компу. Интересующий нас модуль - сбор информации об реестре, ветки автозапуска и uninstall. На сервер в тестовый файл записывается информация об времени, компьютере, пользователе и инфа из указанных веток. Каждый час инфа из этих файлов обрабатывается скриптом и обработанная записывается на SQL сервер. А я уже просматриваю анализатор логов (реализован на экселе). Одна из функций анализатора - показ всех изменений реестра (вышеописанных веток) за указанный период. Т.е. всегда можно посмотреть какие конкретно изменения были сделаны, скажем за последние сутки. По интересующему компу можно посмотреть историю всех изменений где-то за полгода.
как пример, привожу историю ветки runservices
первая дата - время первого обнаружения, вторая - время последнего.
hkey_local_machine\software\microsoft\windows\currentversion\runservices\
Audcntr c:\windows\system\audcntr.exe 25.10.05 13:46 25.10.05 13:46
Cmx32 c:\windows\system\cmx32.exe 27.10.05 11:16 27.10.05 11:16
Dlldmt c:\windows\system\dlldmt.exe 25.10.05 11:04 25.10.05 11:04
Dvraudio c:\windows\system\dvraudio.exe 24.10.05 14:22 24.10.05 14:22
Idecntl c:\windows\system\idecntl.exe 24.10.05 14:24 24.10.05 14:24
Idecntl c:\windows\system\idecntl.exe 25.10.05 09:32 25.10.05 10:37
Keybdcntl c:\windows\system\keybdcntl.exe 26.10.05 11:19 26.10.05 11:19
Mdmdll32 c:\windows\system\mdmdll32.exe 28.10.05 08:11 28.10.05 08:11
Mousecntl c:\windows\system\mousecntl.exe 26.10.05 08:15 26.10.05 08:15
Mswavedll c:\windows\system\mswavedll.exe 27.10.05 18:34 27.10.05 19:06
Sysdpt c:\windows\system\sysdpt.exe 25.10.05 11:13 25.10.05 11:18
Sysdpt c:\windows\system\sysdpt.exe 27.10.05 17:26 27.10.05 17:26
Sysflg32 c:\windows\system\sysflg32.exe 25.10.05 11:07 25.10.05 11:07
Sysint16 c:\windows\system\sysint16.exe 25.10.05 10:44 25.10.05 10:56
Unldr32 c:\windows\system\unldr32.exe 27.10.05 08:01 27.10.05 08:01
Videocntl c:\windows\system\videocntl.exe 24.10.05 14:28 24.10.05 14:28

> Может быть какой либо бесплатый антивус туда поставить?
с антивирусом проблем нет, у меня есть официальные свободные лицензии для SAV 10
Проблема туда добраться. Можно попытаться по телефону попробовать обьяснить пользователю, как установить антивирус, но это самый крайний вариант ;o)

кстати, можно поискать removal tools по конкретному вирусу и запустить его скриптом ;o)

Добавлено:
а вот так выглядит лог изменения реестров в домене за последний день (понятно, что в экселе это все красивее). Сразу видно, что на comp1 работает непонятный процесс

comp1
hkey_local_machine\software\microsoft\windows\currentversion\runservices\
Mdmdll32 c:\windows\system\mdmdll32.exe 28.10.05 08:11 28.10.05 08:11
comp2
hkey_local_machine\software\microsoft\windows\currentversion\uninstall\
DS Client For Windows 98 27.10.05 15:17 27.10.05 15:17
comp3
hkey_local_machine\software\microsoft\windows\currentversion\uninstall\
Windows Genuine Advantage v1.3.0254.0 27.10.05 15:49 27.10.05 15:49
Автор: KapralBel
Дата сообщения: 28.10.2005 14:51
AlexSSS
Посмотри у Касперского - у него есть тройка free command-line программпо отлову некоторых вирусов
Автор: AlexSSS
Дата сообщения: 28.10.2005 15:14
KapralBel
меня похоже перециклило на удаление вируса удаленными методами ;o)
еще пару-тройку часов попробую что-то сделать скриптами, если не выйдет, в понедельник пошлю туда админа.
Мне сейчас уже не так интересен тот конкретный вирус на конкретном компе, как методика, как с такими вирусами вообще можно бороться на win98 (увы, у нас их еще больше двух сотен ;o()

Добавлено:
вопрос по BAT
Windows 98
как можно результат действия подобной команды
dir c:\windows\system\*.exe /AH /W /B
засунуть в переменную, которая видна в BAT файле (windows еще не запущен)
Автор: IronWarrior
Дата сообщения: 28.10.2005 15:30
AlexSSS

Цитата:
Windows 98
как можно результат действия подобной команды
dir c:\windows\system\*.exe /AH /W /B
засунуть в переменную, которая видна в BAT файле (windows еще не запущен)

удаленно никак... так как нетсервисы не запущены. тока локально на компе...
Автор: KapralBel
Дата сообщения: 28.10.2005 15:30
AlexSSS

Цитата:
вопрос по BAT
Windows 98
как можно результат действия подобной команды
dir c:\windows\system\*.exe /AH /W /B
засунуть в переменную, которая видна в BAT файле (windows еще не запущен)


В 98-й только используя сторонние продукты (в т.ч. и написанные собственноручно)
Но тогда можно сделать и выборку данных файлов.
Автор: AlexSSS
Дата сообщения: 28.10.2005 15:37
> удаленно никак
эта процедура будет помещена в локальный autoexec.bat

нашел гениально простое решение для Windows XP
del /F /A:H c:\windows\system\*.exe
увы, на win98, команда del попроще
Автор: KapralBel
Дата сообщения: 28.10.2005 15:45
AlexSSS
По моему у архиватора ARJ есть опция отвечающая за архивирование фалов с аттрибутом Скрытый. Но не уверен (последний раз его использовал лет 5 назад)
Автор: AlexSSS
Дата сообщения: 28.10.2005 16:12
задача
на Win98 надо удалить вирус
это exe файл, который под произвольным именем находится в c:\windows\system
файл обязательно имеет аттрибуты HS
у админов физического доступа к компу нет, есть только зашаренный для админа C:\

решение
добавил в autoexec.bat удаленного компа
@arj m -hbsh virus c:\windows\system\*.exe >null

буду ждать перезагрузки.

Результат
После перезагрузки вирус сидит в архиве, на диске отсутствует

KapralBel, спасибо за красивую наводку ;o)
Автор: Smitis
Дата сообщения: 30.10.2005 01:07
AlexSSS

Цитата:
на компе WINDOWS 98!!!
Поэтому никакие удаленные установки антивируса или работа с утилитами от sysinternals невозможна!!!

Почитал твои мытарства с вирусами под вынь 98 и думаю вот что:
1. Всё-таки использовать антивирусы. Под ДОС. И запускать их из autoexec.bat. Например drweb, avast, f-prot есть под ДОС. Базы у них те же, что и для виндозной версии, поэтому вирусы ловиться будут (для дрвэба это точно). Установка не требуется, а скопировать их на комп пользователя можно и через логон скрипт.
2. regedit в вынь98 под ДОСом позволяет экспортировать/импортировать ключи реестра и даже удалять. Можно таким образом бороться с автозапуском через тот же autoexec.

Ещё.
Удалять ВСЕ скрытые файлы не рисковано ли? Бывают и нужные скрытые файлы.
А если под вынь98 не хватает функциональности командного процессора, есть бесплатная замена - 4DOS. Специальной установки также не требует - скопировал и запустил. Причём не обязательно им даже заменять command.com, можно использовать как дополнение.
Автор: AlexSSS
Дата сообщения: 30.10.2005 10:28
Smitis
да не было особых мытарств ;o)
хоть точка и удаленная, если бы послали туда админа, это бы заняло меньше времени, чем я угробил на проверки разных вариантов. Я просто пошел на принцип, решить эту проблему дистанционно.

1.> Всё-таки использовать антивирусы.
Надо проверить. Честно говоря, я был уверен, что досовские антивирусы многие виндусовые вирусы не лечат.

2. >regedit в вынь98 под ДОСом позволяет экспортировать/импортировать
> ключи реестра и даже удалять.
где же ты был несколько дней назад??? ;o) Проверил, ура, все работает.

> Удалять ВСЕ скрытые файлы не рисковано ли? Бывают и нужные скрытые файлы.
В конкретном случае я удаляю только EXE. Я не припомню ни одного нормального EXE файла, который бы встречался в windows,system или system32. Зато для вирусов это достаточно обычная практика.

>4DOS.
не пользовался. теперь буду знать

Можно рассматривать мой способ решения проблемы, как очередной изврат очередного админа. Однако при этом я сейчас реально получил знания об использовании нескольких механизмов, которыми раньше не пользовался. Да, это не поможет в борьбе с макровирусами или вирусами, которые внедряются в другие файлы. Однако для вирусов или spyware, которые представляют собой отдельные файлы, которые тем более известны (отлавливаю через анализ веток автозапуска) - это нормально работающий вариант.

PS. Smitis, большое спасибо за твои варианты
Автор: AlexSSS
Дата сообщения: 31.10.2005 08:24
Результат работы ARJ - вирус сидит в архиве, на диске его больше нет
Автор: KapralBel
Дата сообщения: 31.10.2005 10:16
AlexSSS
Я знал о том что из ДОС (Вин98) можно работать с реестром - но заклинило на режиме винды. Давненько не работал с 98-й.

Цитата:
Можно рассматривать мой способ решения проблемы, как очередной изврат очередного админа

Почему же изврат - часто встречается такая ситуация. Физический доступ трудноосуществим, а пользователей просить (или консультировать) еще те дела наворочать можно
Автор: AlexSSS
Дата сообщения: 31.10.2005 10:37
на мой взгляд, решение с использованием досовского архиватора вообще оказалось очень удачным (и красивым). Вирус блокирован, если что-то удалилось с диска лишнее, это можно восстановить. Даже старые досовские архиваторы имеют возможности гораздо больше, чем стандартные досовские команды.
Автор: AlexSSS
Дата сообщения: 03.11.2005 09:22
возвращаясь к моим методам борьбы с вирусами
через мейл еще вчера полез свежий вирус, на который ни у кого еще не было обновлений
через скрипты и autoexec.bat несколько компов уже вылечено (точнее убиты ветки и файлы их автозапуска, но они гадят еще где-то, тут уже использую SAV - обновление с утра уже есть)

Bagle.{EB, EI} [F-Secure], Email-Worm.Win32.Bagle.{eb, ei} [Kaspersky Lab], Troj/BagleDl-Y [Sophos]
http://securityresponse.symantec.com/avcenter/venc/data/trojan.lodear.b.html

Trojan.Lodav.A
http://securityresponse.symantec.com/avcenter/venc/data/trojan.lodav.a.html#technicaldetails

Symantec выпустил обновление November 02, 2005
Автор: BergA
Дата сообщения: 08.11.2005 18:57
Как подключить в скрипте AD Shared Folder?
Если я правильно понимаю, то шаги следующие:
1. Находим в AD объек Shared Folder c нужным нам именем.
2. Получаем у этого объекта свойство Network Path
3. Подключаем диск.

Может у кого-то скрипт завалялся?

Или как-то подругому можно подключить диск?
Автор: fortune
Дата сообщения: 08.11.2005 19:17
BergA Можно так

Монтирование дисков
Диски подключается в зависимости от группы

[more]Dim WSHNetwork
Dim FSO
Dim strUserName ' Current user
Dim strUserDomain ' Current User's domain name
Dim ObjGroupDict ' Dictionary of groups to which the user belongs

Set WSHNetwork = WScript.CreateObject("WScript.Network")
Set FSO = CreateObject("Scripting.FileSystemObject")
strUserName = ""
While strUserName = ""
WScript.Sleep 100 ' 1/10 th of a second
strUserName = WSHNetwork.UserName
Wend
strUserDomain = WSHNetwork.UserDomain

Const RootPath = "\\tokio\files$"
Const StudentsPath = "\\tokio\files$\students"
Const MaterialsPath = "\\tokio\files$\materials"

Set ObjGroupDict = CreateMemberOfObject(strUserDomain, strUserName)

Set oArgs=WScript.Arguments
Set CheckDrive = WshNetwork.EnumNetworkDrives()
On Error Resume Next
AlreadyConnected = False
For intDrive = 0 To CheckDrive.Count - 1 Step 2
If CheckDrive.Item(intDrive) = "L:" Then AlreadyConnected =True
Next



If MemberOf(ObjGroupDict, "Domain Admins") Then
    If AlreadyConnected = False Then WshNetwork.MapNetworkDrive "L:",RootPath & "\" & WshNetwork.UserName
    WshNetwork.MapNetworkDrive "M:",MaterialsPath
    WshNetwork.MapNetworkDrive "N:",StudentsPath     
    WshNetwork.MapNetworkDrive "O:",RootPath     
End If

If MemberOf(ObjGroupDict, "Teachers") Then
    If AlreadyConnected = False Then WshNetwork.MapNetworkDrive "L:",RootPath & "\teachers\" & WshNetwork.UserName
    WshNetwork.MapNetworkDrive "M:",MaterialsPath
    WshNetwork.MapNetworkDrive "N:",StudentsPath     
End If

If MemberOf(ObjGroupDict, "Students") Then
    If AlreadyConnected = False Then WshNetwork.MapNetworkDrive "L:",RootPath & "\students\" & WshNetwork.UserName
    WshNetwork.MapNetworkDrive "M:",MaterialsPath
End If


If MemberOf(ObjGroupDict, "Persoanl Students") Then
    If AlreadyConnected = False Then WshNetwork.MapNetworkDrive "L:",RootPath & "\ps\" & WshNetwork.UserName
End If




Function MemberOf(ObjDict, strKey)
    MemberOf = CBool(ObjGroupDict.Exists(strKey))
End Function


Function CreateMemberOfObject(strDomain, strUserName)'
    Dim objUser, objGroup
    Set CreateMemberOfObject = CreateObject("Scripting.Dictionary")
    CreateMemberOfObject.CompareMode = vbTextCompare
    Set objUser = GetObject("WinNT://" _
    & strDomain & "/" _
    & strUserName & ",user")
    For Each objGroup In objUser.Groups
        CreateMemberOfObject.Add objGroup.Name, "-"
    Next
    Set objUser = Nothing
End Function[/more]

Человеческое именование подключаемых дисков
Если диска нет, соответственно не называем

[more]
WScript.Sleep("1500")
Dim WshNetwork, mDrive, oShell
Set WshNetwork = WScript.CreateObject("WScript.Network")
mDrive = "L:\"
Set oShell = CreateObject("Shell.Application")
if (not oShell.NameSpace(mDrive) is nothing) then
oShell.NameSpace(mDrive).Self.Name = WshNetwork.UserName & "'s disk"
end if
mDrive = "M:\"
Set oShell = CreateObject("Shell.Application")
if (not oShell.NameSpace(mDrive) is nothing) then
oShell.NameSpace(mDrive).Self.Name = "Materials disk"
end if
mDrive = "N:\"
Set oShell = CreateObject("Shell.Application")
if (not oShell.NameSpace(mDrive) is nothing) then
oShell.NameSpace(mDrive).Self.Name = "Student's disks"
end if
mDrive = "O:\"
Set oShell = CreateObject("Shell.Application")
if (not oShell.NameSpace(mDrive) is nothing) then
oShell.NameSpace(mDrive).Self.Name = "Home folders disk"
end if
[/more]
Автор: BergA
Дата сообщения: 08.11.2005 19:34
fortune
Спасибо за ответ.

Вопрос в другом: В AD опубликованы шары; хочется в логин скрипте указывать не имя конкретного в сервера, а только имя шары, т.е нужно изобразить что-то похожее на Directory Map Novell.

Я не понимаю назначение Shared Folder AD - если его не использовать этот объект в логин скриптах он нафиг не нужен.
Автор: fortune
Дата сообщения: 08.11.2005 21:02
BergA
На сколько японимаю, назначение в том, что
1. Для каждой шары опубликованной в АД можно хранить описание и кучу других параметров.
2. При поиске, например командой rundll32 dsquery,OpenQueryWindow
выдаются все опубликованные шары, что при количестве серверов и шар например > 100, сильно облегчит жизнь пользователю.

Если есть возможность легче их подключать буду рад увидеть...
Автор: AlexSSS
Дата сообщения: 09.11.2005 08:14
> В AD опубликованы шары
попробуй в эксплорере набрать \\dom1.dom2,
где dom1.dom2 - имя твоего домена
там этих шар случайно нет?
Автор: fortune
Дата сообщения: 09.11.2005 10:49
AlexSSS
Так открываются только шары домен контроллера.
Автор: AlexSSS
Дата сообщения: 09.11.2005 10:51
> Так открываются только шары домен контроллера.
и DFS

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Зеркалирование дисков Win2000


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.