
Исследуйте вредоносные входы в Windows путем визуализации и анализа журнала событий Windows
LogonTracer v2 — это инструмент для исследования вредоносных входов в систему путем визуализации и анализа журналов событий Windows Active Directory. Инструмент связывает имя хоста (или IP-адрес) и имя учетной записи, найденные в событиях, связанных со входом, и отображает их в виде графа. Таким образом можно увидеть, с какой учетной записи происходит попытка входа и какой хост используется.
Данный инструмент визуализирует следующие идентификаторы событий, связанные со входом в Windows.
| Идентификатор события | Описание |
|---|---|
| 4624 | Успешный вход |
| 4625 | Сбой входа |
| 4662 | Выполнена операция над объектом |
| 4672 | Назначение специальных привилегий |
| 4719 | Изменена политика аудита системы |
| 4720 | Создана учетная запись пользователя |
| 4726 | Удалена учетная запись пользователя |
| 4728 / 4732 / 4756 | Участник добавлен в группу безопасности |
| 4729 / 4733 / 4757 | Участник удален из группы безопасности |
| 4768 | Аутентификация Kerberos (запрос TGT) |
| 4769 | Сервисный билет Kerberos (запрос ST) |
| 4776 | Аутентификация NTLM |
| 5137 | Создан объект службы каталогов |
| 5141 | Удален объект службы каталогов |
Более подробная информация описана в следующих документах:

LogonTracer v2.0 интегрирует механизм анализа на основе ИИ с использованием моделей OpenAI GPT, обеспечивая интеллектуальное обнаружение угроз, выходящее за рамки традиционных подходов, основанных на правилах.
LogonTracer использует PageRank, Скрытую марковскую модель и ChangeFinder для обнаружения вредоносных хостов и учетных записей из журналов событий.

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

Python 3.9 или новее (рекомендуется 3.12)
Neo4j 5.x (Community или Enterprise)
Ключ API OpenAI (необязательно — требуется только для функций анализа ИИ)
Модули Python
numpy
evtx
lxml
scipy
changefinder
flask
hmmlearn>=0.2.8
scikit-learn
elasticsearch-dsl>=7.0.0,<8.0.0
pyyaml
flask-sqlalchemy
flask-login
flask_wtf
flask-limiter
wtforms
GitPython
pysigma>=0.11.0
pysigma-backend-sqlite
openai>=1.0.0
aiohttp
neo4j
git clone https://github.com/JPCERTCC/LogonTracer.git
cd LogonTracer
pip3 install -r requirements.txt
Скачайте и запустите Neo4j. Установите начальный пароль и запомните порт Bolt (по умолчанию: 7687).
vi config/config.yml
Ключевые настройки:
settings:
logontracer:
WEB_PORT: "8080"
default_user: "neo4j" # Имя пользователя Neo4j для учетной записи LogonTracer по умолчанию
default_password: "password" # Измените это перед первым запуском
neo4j:
NEO4J_USER: "neo4j"
NEO4J_PASSWORD: "password" # Ваш пароль Neo4j
NEO4J_SERVER: "localhost"
WS_PORT: "7687"
python3 logontracer.py --run
Откройте браузер по адресу http://localhost:8080.
python3 logontracer.py -e <путь/к/Security.evtx> -z <смещение UTC> -s <сервер Neo4j> -u <пользователь> -p <пароль>
python3 logontracer.py -x <путь/к/event.xml> -z <смещение UTC> -s <сервер Neo4j> -u <пользователь> -p <пароль>
python3 logontracer.py --es -s <сервер Neo4j> -u <пользователь> -p <пароль> --es-server <хост ES:порт>
Добавьте флаг --sigma для запуска обнаружения по правилам Sigma во время импорта:
python3 logontracer.py -e <путь/к/Security.evtx> -z 9 -s localhost -u neo4j -p password --sigma
python3 logontracer.py -e <путь/к/Security.evtx> -z 9 -s localhost -u neo4j -p password --add
После запуска веб-приложения нажмите Upload Event Log на левой боковой панели. Вы можете:

После загрузки с включенным Sigma-сканированием или после запуска повторного сканирования через API нажмите Sigma Scan Results на боковой панели для просмотра результатов.