1

Тема: VBA: Ведение лога запускаемых программ

Ребята, ситуация.
Бухгалтер открыла письмо на почте "Исковое заявление". Во вложении был файл Исковое.doc.exe
Он создал в папке С:/tmp несколько файлов, один из которых с названием Rar.exe заархивировал все файлы в отдельные архивы с паролем, и в каждой папке оставил текстовый файл с требованием денег за разархивацию.

Глобальная задача регистрировать лог активность программ, под каждым логином свой,
тоесть какая, с каким ключам, когда. Для чего нужно - несколько раз предотвращал архивацию с паролем рабочих файлов .doc .xls и т.д.

в идеале если это получиться, написать скрипт кинуть в logon и пусть при входе юзеров, для каждого пишет действия активности в свой файлик куда нибудь в папочку подальше, файлики разбить по дате создания

за основу беру этот

Option Explicit

Const ForAppending = 8
Const TristateTrue = -1

Dim strComputer
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemEventSource
Dim objSWbemObjectEx
Dim objFSO
Dim objTS

strComputer = "."

Set objSWbemLocator     = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx  = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set objSWbemEventSource = objSWbemServicesEx.ExecNotificationQuery( _
    "SELECT * FROM __InstanceCreationEvent WITHIN 1 " & _
    "WHERE TargetInstance ISA 'Win32_Process'")

Set objFSO              = WScript.CreateObject("Scripting.FileSystemObject")

Do
    Set objSWbemObjectEx = objSWbemEventSource.NextEvent()
    
    Set objTS = objFSO.OpenTextFile("c:\MyLog.txt", ForAppending, True, TristateTrue)
    
    With objSWbemObjectEx.TargetInstance
        objTS.WriteLine Now() & " " & _
            .Name & " " & _
            .ProcessID & " " & _
            .ParentProcessID & " " & _
            .ExecutablePath & " " & _
            .CommandLine
    End With
    
    objTS.Close
    
    Set objTS = Nothing
Loop

Set objFSO             = Nothing
Set collSWbemObjectSet = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

WScript.Quit 0

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

2

Re: VBA: Ведение лога запускаемых программ

z8491, какбэ есть eventvwr.msc, и если не ошибаюсь, то мелкософт предусмотрели отдельный журнал для своего Office, а если ошибаюсь, то ничто и никто не мешает создать таковой самостоятельно.

3

Re: VBA: Ведение лога запускаемых программ

z8491, я Вам написал на другом форуме, почему Вам никак не поможет ведение лога, и что нужно на самом деле делать. Код оттуда дублировать уже не буду.

4

Re: VBA: Ведение лога запускаемых программ

alexii пишет:

z8491, я Вам написал на другом форуме, почему Вам никак не поможет ведение лога, и что нужно на самом деле делать. Код оттуда дублировать уже не буду.

если вы про oszone и про политики , то ваши советы учел

скрипт же интересует в принципе уже как доп аналитика при анализе действий пользователей

5

Re: VBA: Ведение лога запускаемых программ

z8491 пишет:

скрипт же интересует в принципе уже как доп аналитика при анализе действий пользователей

Увы, но скрипт в данном случае скорее усугубит положение дел, разве что можно написать скрипт-парсер вложений, проверяющий в доках наличие PE-сигнатуры. Если же хотите аналитики - поставьте камеру наблюдения в офисе.

6

Re: VBA: Ведение лога запускаемых программ

greg zakharov, присоединяюсь к Вашим высказываниям, но не соглашусь с

... можно написать скрипт-парсер вложений, проверяющий в доках наличие PE-сигнатуры

ПМСМ, считаю что и это будет напрасным трудом, так как недавно коллега "словил" в ZIP архиве подобный вредонос, который был написан на JS. Всё было, вполне грамотно, рассчитано на человеческий фактор - у JS файла, внутри архива, было длинное имя что-то типа "Выписка по счёту XXXXXXXXXXXX за 01.17.2014 ....". Из-за этого не было видно расширение файла. Вдобавок оно было получено с почтового ящика его знакомого (подделка отправителя дело простое). Поэтому коллега преспокойно щёлкнул по файлу. Итог: JS скрипт выкачал EXE модуль, который шифрует по алгоритму SHA-256, переданный в параметрах файл. Далее скрипт пробежался по диску и нашёл все DOC и XLS файлы, прогнал их через свою утилиту шифрации и радостно сообщил несчастному о том, что пароль для дешифровки он может получить за немалую денежку. Для борьбы с такой подлостью идеальной панацеи нет. Запретить всё и вся (запуск скриптов / запуск неизвестных программ) не получается, так как тут же "стопается" работа сотрудников. То там не работает, то тут не работает. Потому что часть модулей БС (Банковской системы) работает на скриптах, а часть модулей в виде неподписанных EXE. Сделать общее хранилище и настроить права в домене тоже не помогает. Так как есть отделы, которые имеют доступ к наиболее важным документам, сложенным в одном каталоге. Заразился один сотрудник = поубивал файлы для всех на сетевом ресурсе. Мы в банке не придумали ничего умнее как делать каждодневную архивацию данных. Так чтобы в экстренном случае иметь возможность откатиться на 1 день из резервной копии. Ну и конечно, там где можно, использовали первый и второй метод защиты.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

7

Re: VBA: Ведение лога запускаемых программ

Мы в банке не придумали ничего умнее как делать каждодневную архивацию данных. Так чтобы в экстренном случае иметь возможность откатиться на 1 день из резервной копии.

Это самый правильный способ (если, конечно, храните не только один последний день).

8

Re: VBA: Ведение лога запускаемых программ

alexii, Естественно ! ) Вся инфа за предыдущие года. Но к сожалению и это не всегда спасает. Бывает так, что сотрудники забирают файлы с сетевого ресурса и работают с ними локально. Потом наступает такой "карабах", и выясняется, что эти САМЫЕ ЦЕННЫЕ ФАЙЛЫ они редактировали и изменяли уже пару месяцев у себя на компе ! А дальше как по сценарию

1) Сотрудники рвут волосы на жо... на голове ! ФАЙЛИ МА ОЧЕНЯМА НУЖНЫ ! ПИПЕЦАМА КАК СРОЧНА !!!
2) Наш тех. отдел говорит: "Господа, позвольте, но мы же предупреждали ?! Просили работать только на сетевом ресурсе !". В ответ - овечье блеенье и ничего вразумительного.
3) Эпилог:

+ открыть спойлер

http://cs521105.vk.me/u17506845/docs/134a055653a2/Podpishis_gif_01.gif?extra=E8Xmtwisf0xQ4EwR2dyoJneaMupoeHjkZcKcydeqSu6k-ct3V5C0kK225205mfvV4BpUDVb8KDh3uLdJ8P_VkxLV1gCz

Бухгалтерия vs тех. отдел - 0:1

+ открыть спойлер

http://cs6290.vk.me/u32551177/docs/988ba00ed752/eys_ventura.gif?extra=poFsj8RfKlsMJ-I16w_1Wu9-9ryFcA_xhJmrKijOfuiCgbwRbqhBn550TDyetc2wdga9V-1Iq22Ol37K1xDn61EsCx43

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

9

Re: VBA: Ведение лога запускаемых программ

Xameleon, всё как всегда… Это не может не радовать: мы за стабильность wink.