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
Обновление
В пакет включён отдельный инструмент для обновления, который называется 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
Им Вы можете вычислить заражение системы, которое сигнатурно не подтверждено антивирусными вендорами.