Где я могу посмотреть, какие вызовы EXE-программ были сделаны (включая аргументы)?
Есть ли какой-нибудь лог-файл в Windows, где отслеживаются все EXE-вызовы, или можно включить такой лог? Будет ли это содержать аргументы / параметры этих вызовов?
Спасибо
3 ответа
Это можно сделать с помощью политики создания процессов аудита, которая включена либо в групповой политике, если вы находитесь в доменной среде, либо в локальной политике на отдельной рабочей станции. Этот параметр находится в разделе "Конфигурация компьютера"> "Политики"> "Параметры Windows"> "Параметры безопасности"> "Расширенная настройка аудита"> "Подробное отслеживание".
Каждый раз, когда процесс запускается, событие записывается в журнал событий Windows с идентификатором 4688.
Более поздние версии Windows и Windows server (8.1, 2012 R2 и выше) также будут записывать аргументы командной строки, если вы включите второй параметр политики под названием "Включить командную строку в события создания процесса".
Вы должны взглянуть на инструмент Sysinternals под названием Sysmon.
Системный монитор (Sysmon) - это системная служба Windows и драйвер устройства, который после установки в системе остается резидентным при перезагрузках системы для мониторинга и регистрации активности системы в журнале событий Windows. Он предоставляет подробную информацию о создании процессов, сетевых подключениях и изменениях времени создания файлов.
Sysmon включает в себя следующие возможности:
Logs process creation with full command line for both current and parent processes.
Я написал программу на C++, которая делает именно это. Это простая программа. Программа Пседо-код:
начать foreach arg {написать написать arg} вызвать оригинальную программу. конец переместить исходную программу в другое место (executetable.original.exe). Измените вашу программу на имя оригинала (executetable.exe)
Badda-Бинг.
У меня все еще может быть код - но, вероятно, так же легко сделать это самостоятельно.
PS - csharp не работает для этого.