Malware Analysis

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Шпаргалки з форензики

https://www.jaiminton.com/cheatsheet/DFIR/#

Онлайн сервіси

Офлайн антивірусні та інструменти виявлення

Yara

Встановлення

sudo apt-get install -y yara

Підготовка правил

Використовуйте цей скрипт для завантаження та об'єднання всіх правил yara для виявлення шкідливих програм з github: https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9 Створіть каталог rules та виконайте його. Це створить файл з назвою malware_rules.yar, який містить всі правила yara для виявлення шкідливих програм.

wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py

Сканування

yara -w malware_rules.yar image  #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder

YaraGen: Перевірка наявності шкідливих програм та створення правил

Ви можете використовувати інструмент YaraGen для генерації правил yara з бінарного файлу. Перегляньте ці уроки: Частина 1, Частина 2, Частина 3

python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m  ../../mals/

ClamAV

Встановлення

sudo apt-get install -y clamav

Сканування

sudo freshclam      #Update rules
clamscan filepath   #Scan 1 file
clamscan folderpath #Scan the whole folder

Capa виявляє потенційно шкідливі можливості в виконуваних файлах: PE, ELF, .NET. Таким чином, він знайде такі речі, як тактики Att&ck або підозрілі можливості, такі як:

  • перевірка помилки OutputDebugString

  • запуск як служба

  • створення процесу

Отримайте його в репозиторії Github.

IOCs

IOC означає Індикатор Компрометації. IOC - це набір умов, які ідентифікують деяке потенційно небажане програмне забезпечення або підтверджене шкідливе програмне забезпечення. Команди Blue використовують цей тип визначення для пошуку цього типу шкідливих файлів у своїх системах та мережах. Дуже корисно ділитися цими визначеннями, оскільки коли шкідливе програмне забезпечення ідентифікується на комп'ютері і створюється IOC для цього шкідливого програмного забезпечення, інші команди Blue можуть використовувати його для швидшої ідентифікації шкідливого програмного забезпечення.

Інструмент для створення або зміни IOCs - IOC Editor. Ви можете використовувати інструменти, такі як Redline для пошуку визначених IOCs на пристрої.

Loki

Loki - це сканер для простих індикаторів компрометації. Виявлення базується на чотирьох методах виявлення:

1. File Name IOC
Regex match on full file path/name

2. Yara Rule Check
Yara signature matches on file data and process memory

3. Hash Check
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files

4. C2 Back Connect Check
Compares process connection endpoints with C2 IOCs (new since version v.10)

Linux Malware Detect

Linux Malware Detect (LMD) - це програма для виявлення шкідливих програм для Linux, що випущена під ліцензією GNU GPLv2, яка розроблена для боротьби з загрозами, з якими стикаються в спільних хостингових середовищах. Вона використовує дані про загрози з систем виявлення вторгнень на мережевому краю для вилучення шкідливих програм, які активно використовуються в атаках, та генерує підписи для виявлення. Крім того, дані про загрози також походять від користувачів за допомогою функції перевірки LMD та ресурсів спільноти щодо шкідливих програм.

rkhunter

Інструменти, такі як rkhunter, можуть бути використані для перевірки файлової системи на можливі rootkits та шкідливі програми.

sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]

FLOSS

FLOSS - це інструмент, який спробує знайти зашифровані рядки всередині виконуваних файлів за допомогою різних технік.

PEpper

PEpper перевіряє деякі основні речі всередині виконуваного файлу (бінарні дані, ентропія, URL-адреси та IP-адреси, деякі правила yara).

PEstudio

PEstudio - це інструмент, який дозволяє отримувати інформацію про виконувані файли Windows, такі як імпорт, експорт, заголовки, а також перевіряє VirusTotal та знаходить потенційні техніки Att&ck.

Detect It Easy(DiE)

DiE - це інструмент для виявлення того, чи є файл зашифрованим, а також для пошуку упаковувальників.

NeoPI

NeoPI - це сценарій Python, який використовує різноманітні статистичні методи для виявлення зашифрованого та зашифрованого вмісту в текстових/сценарних файлах. Призначення NeoPI - допомогти в виявленні прихованого коду веб-оболонок.

php-malware-finder

PHP-malware-finder робить все можливе для виявлення зашифрованого/підозрілого коду, а також файлів, які використовують функції PHP, які часто використовуються в зловмисних програмах/веб-оболонках.

Apple Binary Signatures

При перевірці деякого зразка шкідливого ПЗ ви завжди повинні перевіряти підпис бінарного файлу, оскільки розробник, який підписав його, може вже бути пов'язаний з шкідливим ПЗ.

#Get signer
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"

#Check if the app’s contents have been modified
codesign --verify --verbose /Applications/Safari.app

#Check if the signature is valid
spctl --assess --verbose /Applications/Safari.app

Техніки виявлення

Стекінг файлів

Якщо ви знаєте, що деяка папка, що містить файли веб-сервера, була останнім разом оновлена на певну дату. Перевірте дату створення та зміни всіх файлів на веб-сервері, і якщо яка-небудь дата є підозрілою, перевірте цей файл.

Базові значення

Якщо файли папки не повинні були бути змінені, ви можете обчислити хеш оригінальних файлів папки та порівняти їх з поточними. Будь-що змінене буде підозрілим.

Статистичний аналіз

Коли інформація зберігається в журналах, ви можете перевірити статистику, таку як кількість разів, коли кожен файл веб-сервера був доступний, оскільки веб-оболонка може бути одним з найбільш.

Last updated