12 KiB
Аналіз шкідливих програм
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!
Інші способи підтримки HackTricks:
- Якщо ви хочете побачити рекламу вашої компанії на HackTricks або завантажити HackTricks у форматі PDF, перевірте ПЛАНИ ПІДПИСКИ!
- Отримайте офіційний PEASS & HackTricks мерч
- Відкрийте для себе Сім'ю PEASS, нашу колекцію ексклюзивних NFT
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами на Twitter 🐦 @hacktricks_live.
- Поділіться своїми хакерськими трюками, надсилайте PR до HackTricks та HackTricks Cloud репозиторіїв GitHub.
Шпаргалки з форензики
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
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
Техніки виявлення
Стекінг файлів
Якщо ви знаєте, що деяка папка, що містить файли веб-сервера, була останнім разом оновлена на певну дату. Перевірте дату створення та зміни всіх файлів на веб-сервері, і якщо яка-небудь дата є підозрілою, перевірте цей файл.
Базові значення
Якщо файли папки не повинні були бути змінені, ви можете обчислити хеш оригінальних файлів папки та порівняти їх з поточними. Будь-що змінене буде підозрілим.
Статистичний аналіз
Коли інформація зберігається в журналах, ви можете перевірити статистику, таку як кількість разів, коли кожен файл веб-сервера був доступний, оскільки веб-оболонка може бути одним з найбільш.