Loki
Описание Loki
Loki - это сканер для обнаружения признаков взлома.
Выявление взлома основано на четырех методах обнаружения:
- Имена файлов (соответствие регулярному выражению полного пути файла);
- Проверка правилами Yara (поиск на соответствие сигнатурам Yara по содержимому файлов и памяти процессов);
- Проверка хешей (сравнение просканированных файлов с хешами (MD5, SHA1, SHA256) известных вредоносных файлов);
- Проверка обратной связи C2 (сравнивает конечные точки технологического соединения с C2 IOC).
Дополнительные проверки:
- Проверка файловой системы Regin (через --reginfs)
- Проверка аномалии процесса
- Сканирование распакованных SWF
- Проверка дампа SAM
- Проверка DoublePulsar — пытается выявить бэкдор DoublePulsar oна порту 445/tcp и 3389/tcp
Домашняя страница: https://github.com/Neo23x0/Loki
Автор: Florian Roth
Лицензия: GPLv3
Справка по Loki
использование:
loki.py [-h] [-p path] [-s kilobyte] [-l log-file] [-a alert-level] [-w warning-level] [-n notice-level] [--printAll] [--allreasons] [--noprocscan] [--nofilescan] [--norootkit] [--noindicator] [--reginfs] [--dontwait] [--intense] [--csv] [--onlyrelevant] [--nolog] [--update] [--debug]
необязательные аргументы:
-h, --help показать справку и выйти -p path Путь для сканирования -s kilobyte Максимальный размер файла в KB для проверки (по умолчанию 4096 KB) -l log-file Файл журнала -a alert-level Показатель тревоги -w warning-level Показатель предупреждения -n notice-level Показатель уведомления --printAll Вывести все просканированные файлы --allreasons Вывести все причины, по которым был посчитан показатель опасности --noprocscan Пропустить сканирование процессов --nofilescan Пропустить сканирование файлов --norootkit Пропустить сканирование руткитов --noindicator Не показывать индикатор прогресса --reginfs Делать проверку виртуальной файловой системы Regin --dontwait Не ждать перед выходом --intense Режим интенсивного сканирования (также сканировать файлы неизвестных типов и всех расширений) --csv Записать лог в формате CSV в STDOUT (для машинной обработки) --onlyrelevant Печатать только сообщения предупреждения и тревоги --nolog Не записывать локальный файл журнала --update Обновить сигнатуры из под-репозитория "signature-base" --debug Отладочный вывод
Руководство по Loki
Страница man отсутствует.
Обновление
В пакет включён отдельный инструмент для обновления, который называется loki-upgrader.exe или loki-upgrader.py.
использование:
loki-upgrader.py [-h] [-l log-file] [--sigsonly] [--progonly] [--nolog] [--debug]
необязательные аргументы:
-h, --help показать справку и выйти -l log-file Файл журнала --sigsonly Обновить только сигнатуры --progonly Обновить только файлы программы --nolog Не записывать в локальный лог файл --debug Отладочный вывод
Эта программа позволяет обновлять скомпилированный loki.exe для Windows и источники сигнатур.
При запуске loki.exe --update будет создан новый процесс upgrader и завершение основной программы LOKI, чтобы заменить loki.exe на более новый файл, который в противном случае был бы заблокирован.
Определённые пользователем исключения
LOKI поддерживает заданные пользователем исключения, указанные в файле "excludes.cfg" из папки "./config". Каждая строка представляет регулярное выражение, которое во время обхода директорий применяется к полному пути файла. Таким образом вы можете исключить конкретные директории независимо от имени диска, где они размещены, расширения файлов в конкретных папках и все файлы и директории, которые принадлежат продуктам, чувствительным к антивирусным сканированиям.
Файл 'exclude.cfg' выглядит примерно так:
# Директории для исключения # # - добавьте директории, которые вы хотите исключить из сканирования # - экранируйте обратные слэши # - значения не чувствительны к регистру # - помните, что нужно использовать обратные слеши в Windows и слеши в Linux / Unix / OSX # - каждая строка содержит регулярное выражение, которое соответствует чему-либо в полном пути (не чувствительно к регистру) # пример: # Регулярное выражение: \\System32\\ # Соответствует C:\Windows\System32\cmd.exe # # Регулярное выражение: /var/log/[^/]+\.log # Соответствует: /var/log/test.log # Не соответствует: /var/log/test.gz # # Полезные примеры \\Ntfrs\\ \\Ntds\\ \\EDB[^\.]+\.log Sysvol\\Staging\\Nntfrs_cmp \\System Volume Information\\DFSR
Примеры запуска Loki
Просканировать всю систему на наличие признаков взлома, результаты сканирования сохранить в файл (-l loki-report.txt):
sudo python2 loki.py -l loki-report.txt
Установка Loki
Установка в Kali Linux
Должна быть установлена YARA, которая по умолчанию уже имеется в Kali Linux.
sudo pip2 install psutil netaddr pylzma colorama git clone https://github.com/Neo23x0/Loki cd Loki/ python2 loki-upgrader.py python2 loki.py -h
Установка в Linux Mint, Ubuntu
sudo apt-get install yara python-yara python-pip python-setuptools python-dev git sudo pip2 install --upgrade pip sudo pip2 install -U setuptools sudo pip2 install psutil netaddr pylzma colorama git clone https://github.com/Neo23x0/Loki cd Loki/ python2 loki-upgrader.py python2 loki.py -h
Установка в BlackArch
sudo pacman -S yara python2-pip python2-yara sudo pip2 install psutil netaddr pylzma colorama git clone https://github.com/Neo23x0/Loki cd Loki/ python2 loki-upgrader.py python2 loki.py -h
Установка Loki в Windows
Скачайте последний выпуск программы с официальной страницы релизов. Распакуйте архив. Программа не требует установки, достаточно распаковать скаченный архив. Для запуска откройте командную строку: нажмите Win+x и выберите «Командная строка (администратор)». Начните с обновления программы и сигнатур, для этого перетащите в открывшееся окно командной строки файл loki-upgrader.exe, нажмите ENTER и дождитесь завершения процесса.
После этого перетащите в командную строку файл loki.exe и нажмите ENTER — начнётся сканирование всего компьютера.
Информация об установке в другие операционные системы будет добавлена позже.
Скриншоты Loki
Инструкции по Loki
Антивирус — ложные срабатывания
Скомпилированный сканер может определяться антивирусными программами как вредоносное программное обеспечение. Это вызвано тем фактом, что сканер представляет собой скомпилированный скрипт Python, реализующий некоторые функции сканирования файловой системы и процессов, которые также используются в скомпилированном вредоносном коде.
Если вы не доверяете скомпилированному исполняемому файлу, скомпилируйте его самостоятельно.
Comments are Closed