Аналіз Шкідливого ПЗ

Reading time: 6 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

Шпаргалки з Судової Експертизи

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

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

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

Yara

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

bash
sudo apt-get install -y yara

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

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

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

Сканування

bash
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

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

ClamAV

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

sudo apt-get install -y clamav

Сканування

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

Capa

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

  • перевірка на помилку OutputDebugString
  • запуск як служба
  • створення процесу

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

IOCs

IOC означає Indicator Of Compromise. IOC - це набір умов, які ідентифікують деяке потенційно небажане програмне забезпечення або підтверджене шкідливе ПЗ. Blue Teams використовують таке визначення, щоб шукати такі шкідливі файли у своїх системах та мережах.
Д sharing these definitions is very useful as when malware is identified in a computer and an IOC for that malware is created, other Blue Teams can use it to identify the malware faster.

Інструмент для створення або модифікації 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 та шкідливе ПЗ.

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

FLOSS

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

PEpper

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

PEstudio

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

Detect It Easy(DiE)

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

NeoPI

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

php-malware-finder

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

Apple Binary Signatures

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

bash
#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

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

Складання файлів

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

Базові лінії

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

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

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

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks