Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Loki — Сканер на основе IOC и YARA для обнаружения индикаторов компрометации с помощью проверки имен файлов по регулярным выражениям, сигнатур YARA, сопоставления хэшей и проверок обратных соединений C2 на конечных точках. | Kitploit
Инструменты/GitHubGitHub/neo23x0/loki
Управление индикаторами компрометации (IOC)Сканеры уязвимостейАнализ хэшейФорензикаАнализ вредоносных программЦифровая криминалистикаРазведка угрозРеагирование на Инциденты
GitHubneo23x0/loki

Loki

Сканер на основе IOC и YARA для обнаружения индикаторов компрометации с помощью проверки имен файлов по регулярным выражениям, сигнатур YARA, сопоставления хэшей и проверок обратных соединений C2 на конечных точках.

3.8k6127 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
Сайт

Not Maintained

Я написал новый сканер YARA с открытым исходным кодом под названием LOKI RS (Rust). LOKI (Python) теперь официально устарел.

Важное примечание

Этот проект сейчас находится в режиме пассивного обслуживания. Это означает, что я принимаю запросы на исправление ошибок и простые проблемы, но в настоящее время у меня нет времени на добавление новых функций или расширение существующих. В течение многих лет я сосредоточен на разработке более продвинутого сканера THOR, который предлагает ряд улучшений по сравнению с этим проектом. Доступна бесплатная версия THOR Lite; она быстрее, стабильнее и тщательно протестирована в наших CI-средах — просто лучшее решение. Сравнение сканеров с открытым исходным кодом, бесплатных и коммерческих можно найти здесь.

Я также начал работу над версией LOKI на Rust под названием LOKI 2. Однако я не уверен, когда она достигнет функциональной полноты текущего релиза LOKI. Кроме того, я создал блок-схему, которая поможет вам решить, какой сканер лучше всего подходит для ваших нужд.

Логотип

Loki — простой сканер IOC и YARA

Сканер для простых индикаторов компрометации

Обнаружение основано на четырех методах:

root@kitploit:~
1. IOC по имени файла
   Регулярное выражение для полного пути/имени файла

2. Проверка правил Yara
   Совпадение сигнатур Yara по данным файла и памяти процессов

3. Проверка хеша
   Сравнивает известные вредоносные хеши (MD5, SHA1, SHA256) с отсканированными файлами
   
4. Проверка обратного подключения C2
   Сравнивает конечные точки подключений процессов с IOC C2 (новое с версии v.10)
   

Дополнительные проверки:

root@kitploit:~
1. Проверка файловой системы Regin (через --reginfs)
2. Проверка аномалий процессов (на основе [Sysforensics](http://goo.gl/P99QZQ))
3. Сканирование распакованных SWF-файлов (новое с версии v0.8)
4. Проверка дампа SAM

Двоичный файл для Windows скомпилирован с помощью PyInstaller и должен работать как x86-приложение как на x86, так и на x64 системах.

Как запустить LOKI и проанализировать отчеты

Запуск

  • Загрузите последнюю версию LOKI из раздела релизы
  • Распакуйте пакет программы
  • Запустите loki-upgrader.exe на системе с доступом в Интернет, чтобы получить новейшие сигнатуры
  • Перенесите папку программы на целевую систему, которую нужно просканировать: сменный носитель, сетевой ресурс, папка на целевой системе
  • Откройте командную строку "cmd.exe" от имени администратора и запустите из нее (также можно запускать LOKI без прав администратора, но некоторые проверки будут отключены, а релевантные объекты на диске будут недоступны)

Отчеты

  • Полученный отчет покажет строку результата GREEN, YELLOW или RED.
  • Пожалуйста, анализируйте результаты самостоятельно:
    1. Загрузите неконфиденциальные образцы на Virustotal.com
    2. Поищите имя файла в интернете
    3. Поищите ключевые слова из имени правила (например, EQUATIONGroupMalware_1 > поиск "Equation Group")
    4. Поищите MD5-хеш образца в интернете
  • Пожалуйста, сообщайте о ложных срабатываниях через раздел "Issues", доступный в правой боковой панели (укажите индикатор ложного срабатывания, например хеш и/или имя файла, а также имя вызвавшего срабатывание правила)

Требования

Требования отсутствуют, если вы используете скомпилированный EXE.

Если хотите собрать сами:

  • yara : Рекомендуется использовать самую последнюю версию скомпилированных пакетов для Windows (x86) — загрузить отсюда: https://github.com/VirusTotal/yara-python/releases
  • colorama : для расцветки
  • psutil : проверки процессов
  • pywin32 : преобразования путей (проблема PyInstaller issue; только для Windows)

Использование

root@kitploit:~
usage: loki.py [-h] [-p path] [-s kilobyte] [-l log-file] [-r remote-loghost]
               [-t remote-syslog-port] [-a alert-level] [-w warning-level]
               [-n notice-level] [--allhds] [--alldrives] [--printall]
               [--allreasons] [--noprocscan] [--nofilescan] [--vulnchecks]
               [--nolevcheck] [--scriptanalysis] [--rootkit] [--noindicator]
               [--dontwait] [--intense] [--csv] [--onlyrelevant] [--nolog]
               [--update] [--debug] [--maxworkingset MAXWORKINGSET]
               [--syslogtcp] [--logfolder log-folder] [--nopesieve]
               [--pesieveshellc] [--nolisten]
               [--excludeprocess EXCLUDEPROCESS] [--force]

Loki - Simple IOC Scanner

optional arguments:
  -h, --help            show this help message and exit
  -p path               Path to scan
  -s kilobyte           Maximum file size to check in KB (default 5000 KB)
  -l log-file           Log file
  -r remote-loghost     Remote syslog system
  -t remote-syslog-port
                        Remote syslog port
  -a alert-level        Alert score
  -w warning-level      Warning score
  -n notice-level       Notice score
  --allhds              Scan all local hard drives (Windows only)
  --alldrives           Scan all drives (including network drives and
                        removable media)
  --printall            Print all files that are scanned
  --allreasons          Print all reasons that caused the score
  --noprocscan          Skip the process scan
  --nofilescan          Skip the file scan
  --vulnchecks          Run the vulnerability checks
  --nolevcheck          Skip the Levenshtein distance check
  --scriptanalysis      Statistical analysis for scripts to detect obfuscated
                        code (beta)
  --rootkit             Skip the rootkit check
  --noindicator         Do not show a progress indicator
  --dontwait            Do not wait on exit
  --intense             Intense scan mode (also scan unknown file types and
                        all extensions)
  --csv                 Write CSV log format to STDOUT (machine processing)
  --onlyrelevant        Only print warnings or alerts
  --nolog               Don't write a local log file
  --update              Update the signatures from the "signature-base" sub
                        repository
  --debug               Debug output
  --maxworkingset MAXWORKINGSET
                        Maximum working set size of processes to scan (in MB,
                        default 100 MB)
  --syslogtcp           Use TCP instead of UDP for syslog logging
  --logfolder log-folder
                        Folder to use for logging when log file is not
                        specified
  --nopesieve           Do not perform pe-sieve scans
  --pesieveshellc       Perform pe-sieve shellcode scan
  --nolisten            Dot not show listening connections
  --excludeprocess EXCLUDEPROCESS
                        Specify an executable name to exclude from scans, can
                        be used multiple times
  --force               Force the scan on a certain folder (even if excluded
                        with hard exclude in LOKI's code

Сигнатуры и IOC

Начиная с версии 0.15 сигнатуры Yara находятся в подрепозитории signature-base. Вы не получите подрепозиторий, загрузив LOKI как ZIP-файл. Он будет включен, если вы клонируете репозиторий.

Файлы IOC для хешей и имен файлов хранятся в папке './signature-base/iocs'. Все файлы '.yar', помещенные в папку './signature-base/yara', будут инициализированы вместе с уже включенным набором правил. Используйте значение 'score', чтобы определить уровень сообщения при совпадении сигнатуры.

Вы можете добавить IOC хешей, C2 и имен файлов, добавив файлы в подпапку './signature-base/iocs'. Все файлы IOC хешей и имен файлов должны быть в формате, используемом LOKI (см. файлы по умолчанию). Файлы должны содержать строки "hash", "filename" или "c2" в своем имени, чтобы быть загруженными при инициализации.

Для IOC хешей (разделены новой строкой; тип хеша определяется автоматически)

root@kitploit:~
Hash;Description [Reference]

Для IOC имен файлов (разделены новой строкой)

root@kitploit:~
# (optional) Description [Reference]
Filename as Regex[;Score as integer[;False-positive as Regex]]

Определяемые пользователем исключения сканирования

Начиная с версии v0.16.2 LOKI поддерживает определение исключений пользователем через "excludes.cfg" в новой папке "./config". Каждая строка представляет собой регулярное выражение, которое применяется к полному пути файла во время обхода каталога. Таким образом, вы можете исключить определенные каталоги независимо от имени диска, расширений файлов в определенных папках и все файлы и каталоги, принадлежащие продукту, чувствительному к антивирусному сканированию.

Файл '''exclude.cfg''' выглядит следующим образом:

root@kitploit:~
# Excluded directories
#
# - add directories you want to exclude from the scan
# - double escape back slashes
# - values are case-insensitive
# - remember to use back slashes on Windows and slashes on Linux / Unix / OSX
# - each line contains a regex that matches somewhere in the full path (case insensitive)
#   e.g.:
#   Regex: \\System32\\
#   Matches C:\Windows\System32\cmd.exe
#
#   Regex: /var/log/[^/]+\.log
#   Matches: /var/log/test.log
#   Not Matches: /var/log/test.gz
#

# Useful examples
\\Ntfrs\\
\\Ntds\\
\\EDB[^\.]+\.log
Sysvol\\Staging\\Nntfrs_cmp
\\System Volume Information\\DFSR

Скриншоты

Сканирование Loki

Скриншот

Совпадения Regin

Скриншот

Ложные срабатывания Regin

Скриншот

IOC на основе хешей

Скриншот

IOC на основе имен файлов

Скриншот

Сгенерированный файл журнала

Скриншот

Контакты

Сканер LOKI на домашней странице нашей компании https://www.nextron-systems.com/loki/

Twitter @cyb3rOps @thor_scanner

Если вас интересует корпоративное решение для сканирования APT, посмотрите на старшего брата Loki — THOR.

Компиляция сканера

Скачайте PyInstaller, перейдите в каталог программы pyinstaller и выполните:

root@kitploit:~
python ./pyinstaller.py -F C:\path\to\loki.py

Это создаст loki.exe в подпапке ./loki/dist.

Профессиональный совет (опционально)

Чтобы включить msvcr100.dll для улучшения совместимости с целевой ОС, измените строку в файле ./loki/loki.spec, содержащую a.binaries,, на следующую:

root@kitploit:~
a.binaries + [('msvcr100.dll', 'C:\Windows\System32\msvcr100.dll', 'BINARY')],

Использование LOKI на Mac OS X (или новее) или Linux

  • Инициализируйте виртуальное окружение Python для loki. Для этого убедитесь, что у вас есть модуль Python venv, затем выполните python -m venv path/to/venv, где path/to/venv — путь к вашему виртуальному окружению. Проверьте виртуальное окружение, запустив path/to/venv/bin/python --version. Обновите модули виртуального окружения для pip, setuptools и wheel, выполнив path/to/venv/bin/python -m pip install --upgrade pip setuptools wheel.
  • Установите библиотеки path/to/venv/bin/python -m pip install colorama yara-python psutil rfc5424-logging-handler netaddr
  • Запустите loki-upgrader.py path/to/venv/bin/python path/to/loki/loki-upgrader.py, где path/to/loki — путь к репозиторию Loki.
  • Запустите Loki sudo path/to/venv/bin/python loki.py

Исходные коды Yara

Загрузите исходные коды Yara здесь

Антивирус — ложные срабатывания

Скомпилированный сканер может быть обнаружен антивирусными движками. Это связано с тем, что сканер представляет собой скомпилированный скрипт Python, реализующий некоторые функции сканирования файловой системы и процессов, которые также используются в скомпилированном вредоносном коде.

Если вы не доверяете скомпилированному исполняемому файлу, скомпилируйте его самостоятельно.

Лицензия

Loki — простой сканер IOC Copyright (c) 2015 Florian Roth

Эта программа является свободным программным обеспечением: вы можете распространять ее и/или изменять в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.

Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Подробнее см. в Стандартной общественной лицензии GNU.

Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если нет, см. http://www.gnu.org/licenses/.

Скачать инструмент