mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['', 'src/generic-methodologies-and-resources/basic-forensic-
This commit is contained in:
parent
d5f2d42e3d
commit
ca67b7b1a2
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
Обидва атрибути мають 4 часові мітки: **Зміна**, **доступ**, **створення** та **зміна реєстрації MFT** (MACE або MACB).
|
Обидва атрибути мають 4 часові мітки: **Зміна**, **доступ**, **створення** та **зміна реєстрації MFT** (MACE або MACB).
|
||||||
|
|
||||||
**Windows explorer** та інші інструменти показують інформацію з **`$STANDARD_INFORMATION`**.
|
**Провідник Windows** та інші інструменти показують інформацію з **`$STANDARD_INFORMATION`**.
|
||||||
|
|
||||||
### TimeStomp - Анти-слідчий інструмент
|
### TimeStomp - Анти-слідчий інструмент
|
||||||
|
|
||||||
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
### Usnjrnl
|
### Usnjrnl
|
||||||
|
|
||||||
**USN Journal** (Журнал номерів послідовності оновлень) є функцією NTFS (файлова система Windows NT), яка відстежує зміни обсягу. Інструмент [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) дозволяє досліджувати ці зміни.
|
**USN Journal** (Журнал номерів послідовності оновлень) є функцією NTFS (файлова система Windows NT), яка відстежує зміни обсягу. Інструмент [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) дозволяє перевіряти ці зміни.
|
||||||
|
|
||||||
.png>)
|
.png>)
|
||||||
|
|
||||||
@ -36,13 +36,13 @@
|
|||||||
.png>)
|
.png>)
|
||||||
|
|
||||||
- CTIME: Час створення файлу
|
- CTIME: Час створення файлу
|
||||||
- ATIME: Час зміни файлу
|
- ATIME: Час модифікації файлу
|
||||||
- MTIME: Зміна реєстрації MFT файлу
|
- MTIME: Зміна реєстрації MFT файлу
|
||||||
- RTIME: Час доступу до файлу
|
- RTIME: Час доступу до файлу
|
||||||
|
|
||||||
### Порівняння `$STANDARD_INFORMATION` та `$FILE_NAME`
|
### Порівняння `$STANDARD_INFORMATION` та `$FILE_NAME`
|
||||||
|
|
||||||
Ще один спосіб виявити підозрілі змінені файли - це порівняти час на обох атрибутах, шукаючи **невідповідності**.
|
Ще один спосіб виявити підозрілі модифіковані файли - це порівняти час на обох атрибутах, шукаючи **невідповідності**.
|
||||||
|
|
||||||
### Наносекунди
|
### Наносекунди
|
||||||
|
|
||||||
@ -54,13 +54,13 @@
|
|||||||
|
|
||||||
## Сховані дані
|
## Сховані дані
|
||||||
|
|
||||||
NFTS використовує кластер і мінімальний розмір інформації. Це означає, що якщо файл займає кластер і півтора, **залишкова половина ніколи не буде використана**, поки файл не буде видалено. Тоді можливо **сховати дані в цьому слек-просторі**.
|
NFTS використовує кластер і мінімальний розмір інформації. Це означає, що якщо файл займає кластер і півтора, то **залишкова половина ніколи не буде використана** до тих пір, поки файл не буде видалено. Тоді можливо **сховати дані в цьому слек-просторі**.
|
||||||
|
|
||||||
Існують інструменти, такі як slacker, які дозволяють ховати дані в цьому "схованому" просторі. Однак аналіз `$logfile` та `$usnjrnl` може показати, що деякі дані були додані:
|
Існують інструменти, такі як slacker, які дозволяють ховати дані в цьому "схованому" просторі. Однак аналіз `$logfile` та `$usnjrnl` може показати, що деякі дані були додані:
|
||||||
|
|
||||||
.png>)
|
.png>)
|
||||||
|
|
||||||
Тоді можливо відновити слек-простір, використовуючи інструменти, такі як FTK Imager. Зверніть увагу, що цей тип інструменту може зберігати вміст в обфусцированому або навіть зашифрованому вигляді.
|
Тоді можливо відновити слек-простір, використовуючи інструменти, такі як FTK Imager. Зверніть увагу, що такі інструменти можуть зберігати вміст у зашифрованому або навіть обфусцированому вигляді.
|
||||||
|
|
||||||
## UsbKill
|
## UsbKill
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ NFTS використовує кластер і мінімальний розм
|
|||||||
|
|
||||||
Вимкнення UserAssist вимагає двох кроків:
|
Вимкнення UserAssist вимагає двох кроків:
|
||||||
|
|
||||||
1. Встановіть два ключі реєстру, `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs` та `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled`, обидва на нуль, щоб сигналізувати, що ми хочемо вимкнути UserAssist.
|
1. Встановіть два ключі реєстру, `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs` та `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled`, обидва на нуль, щоб сигналізувати про те, що ми хочемо вимкнути UserAssist.
|
||||||
2. Очистіть свої піддерева реєстру, які виглядають як `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>`.
|
2. Очистіть свої піддерева реєстру, які виглядають як `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>`.
|
||||||
|
|
||||||
### Вимкнути часові мітки - Prefetch
|
### Вимкнути часові мітки - Prefetch
|
||||||
@ -109,7 +109,7 @@ NFTS використовує кластер і мінімальний розм
|
|||||||
|
|
||||||
### Видалити історію USB
|
### Видалити історію USB
|
||||||
|
|
||||||
Всі **USB Device Entries** зберігаються в реєстрі Windows під ключем **USBSTOR**, який містить підключі, які створюються щоразу, коли ви підключаєте USB-пристрій до свого ПК або ноутбука. Ви можете знайти цей ключ тут H`KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Видаливши це**, ви видалите історію USB.\
|
Всі **USB-пристрої** зберігаються в реєстрі Windows під ключем **USBSTOR**, який містить підключі, які створюються щоразу, коли ви підключаєте USB-пристрій до свого ПК або ноутбука. Ви можете знайти цей ключ тут H`KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Видаливши це**, ви видалите історію USB.\
|
||||||
Ви також можете використовувати інструмент [**USBDeview**](https://www.nirsoft.net/utils/usb_devices_view.html), щоб переконатися, що ви їх видалили (і щоб видалити їх).
|
Ви також можете використовувати інструмент [**USBDeview**](https://www.nirsoft.net/utils/usb_devices_view.html), щоб переконатися, що ви їх видалили (і щоб видалити їх).
|
||||||
|
|
||||||
Ще один файл, який зберігає інформацію про USB, - це файл `setupapi.dev.log` всередині `C:\Windows\INF`. Цей файл також слід видалити.
|
Ще один файл, який зберігає інформацію про USB, - це файл `setupapi.dev.log` всередині `C:\Windows\INF`. Цей файл також слід видалити.
|
||||||
@ -143,7 +143,7 @@ NFTS використовує кластер і мінімальний розм
|
|||||||
### Вимкнути журнали подій Windows
|
### Вимкнути журнали подій Windows
|
||||||
|
|
||||||
- `reg add 'HKLM\\SYSTEM\\CurrentControlSet\\Services\\eventlog' /v Start /t REG_DWORD /d 4 /f`
|
- `reg add 'HKLM\\SYSTEM\\CurrentControlSet\\Services\\eventlog' /v Start /t REG_DWORD /d 4 /f`
|
||||||
- У розділі служб вимкніть службу "Windows Event Log"
|
- У розділі служб вимкніть службу "Журнал подій Windows"
|
||||||
- `WEvtUtil.exec clear-log` або `WEvtUtil.exe cl`
|
- `WEvtUtil.exec clear-log` або `WEvtUtil.exe cl`
|
||||||
|
|
||||||
### Вимкнути $UsnJrnl
|
### Вимкнути $UsnJrnl
|
||||||
@ -152,7 +152,7 @@ NFTS використовує кластер і мінімальний розм
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Розширене ведення журналів та підробка трас (2023-2025)
|
## Розширене ведення журналів та підробка слідів (2023-2025)
|
||||||
|
|
||||||
### Ведення журналів PowerShell ScriptBlock/Module
|
### Ведення журналів PowerShell ScriptBlock/Module
|
||||||
|
|
||||||
@ -172,9 +172,11 @@ Remove-WinEvent # requires admin & Win11 23H2+
|
|||||||
```
|
```
|
||||||
Захисники повинні стежити за змінами в цих ключах реєстру та за великим обсягом видалення подій PowerShell.
|
Захисники повинні стежити за змінами в цих ключах реєстру та за великим обсягом видалення подій PowerShell.
|
||||||
|
|
||||||
### ETW (Event Tracing for Windows) Патч
|
### ETW (Event Tracing for Windows) Patch
|
||||||
|
|
||||||
Продукти безпеки кінцевих точок сильно покладаються на ETW. Популярний метод ухилення 2024 року полягає в патчуванні `ntdll!EtwEventWrite`/`EtwEventWriteFull` в пам'яті, щоб кожен виклик ETW повертав `STATUS_SUCCESS` без виведення події:
|
Продукти безпеки кінцевих точок сильно покладаються на ETW. Популярний метод ухилення 2024 року полягає в тому, щоб
|
||||||
|
виправити `ntdll!EtwEventWrite`/`EtwEventWriteFull` в пам'яті, щоб кожен виклик ETW повертав `STATUS_SUCCESS`
|
||||||
|
без виведення події:
|
||||||
```c
|
```c
|
||||||
// 0xC3 = RET on x64
|
// 0xC3 = RET on x64
|
||||||
unsigned char patch[1] = { 0xC3 };
|
unsigned char patch[1] = { 0xC3 };
|
||||||
@ -184,7 +186,7 @@ patch, sizeof(patch), NULL);
|
|||||||
```
|
```
|
||||||
Public PoCs (e.g. `EtwTiSwallow`) реалізують ту ж саму примітиву в PowerShell або C++.
|
Public PoCs (e.g. `EtwTiSwallow`) реалізують ту ж саму примітиву в PowerShell або C++.
|
||||||
Оскільки патч є **локальним для процесу**, EDR, що працюють в інших процесах, можуть його пропустити.
|
Оскільки патч є **локальним для процесу**, EDR, що працюють в інших процесах, можуть його пропустити.
|
||||||
Виявлення: порівняйте `ntdll` в пам'яті з диском або перехопіть перед режимом користувача.
|
Виявлення: порівняти `ntdll` в пам'яті з на диску, або перехопити перед режимом користувача.
|
||||||
|
|
||||||
### Відродження альтернативних потоків даних (ADS)
|
### Відродження альтернативних потоків даних (ADS)
|
||||||
|
|
||||||
@ -205,16 +207,92 @@ AuKill.exe -e "C:\\Program Files\\Windows Defender\\MsMpEng.exe"
|
|||||||
AuKill.exe -k CrowdStrike
|
AuKill.exe -k CrowdStrike
|
||||||
```
|
```
|
||||||
Драйвер видаляється після цього, залишаючи мінімальні артефакти.
|
Драйвер видаляється після цього, залишаючи мінімальні артефакти.
|
||||||
Заходи пом'якшення: увімкніть чорний список вразливих драйверів Microsoft (HVCI/SAC)
|
Заходи пом'якшення: увімкніть чорний список вразливих драйверів Microsoft (HVCI/SAC) і сповіщайте про створення служб ядра з шляхів, доступних для запису користувачем.
|
||||||
та сповіщайте про створення служб ядра з шляхів, доступних для запису користувачем.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Посилання
|
## Linux Anti-Forensics: Самостійне виправлення та Cloud C2 (2023–2025)
|
||||||
|
|
||||||
- Sophos X-Ops – “AuKill: Зброя для вразливого драйвера для відключення EDR” (березень 2023)
|
### Самостійне виправлення скомпрометованих служб для зменшення виявлення (Linux)
|
||||||
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
|
Супротивники все частіше "самостійно виправляють" службу відразу після її експлуатації, щоб запобігти повторній експлуатації та пригнічувати виявлення на основі вразливостей. Ідея полягає в тому, щоб замінити вразливі компоненти на останні легітимні бінарні файли/JAR з верхнього рівня, щоб сканери повідомляли, що хост виправлений, в той час як стійкість і C2 залишаються.
|
||||||
- Red Canary – “Виправлення EtwEventWrite для прихованості: Виявлення та полювання” (червень 2024)
|
|
||||||
https://redcanary.com/blog/etw-patching-detection
|
Приклад: Apache ActiveMQ OpenWire RCE (CVE‑2023‑46604)
|
||||||
|
- Після експлуатації зловмисники отримали легітимні JAR з Maven Central (repo1.maven.org), видалили вразливі JAR у встановленні ActiveMQ і перезапустили брокера.
|
||||||
|
- Це закрило початковий RCE, зберігаючи інші точки доступу (cron, зміни конфігурації SSH, окремі імпланти C2).
|
||||||
|
|
||||||
|
Операційний приклад (ілюстративний)
|
||||||
|
```bash
|
||||||
|
# ActiveMQ install root (adjust as needed)
|
||||||
|
AMQ_DIR=/opt/activemq
|
||||||
|
cd "$AMQ_DIR"/lib
|
||||||
|
|
||||||
|
# Fetch patched JARs from Maven Central (versions as appropriate)
|
||||||
|
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-client/5.18.3/activemq-client-5.18.3.jar
|
||||||
|
curl -fsSL -O https://repo1.maven.org/maven2/org/apache/activemq/activemq-openwire-legacy/5.18.3/activemq-openwire-legacy-5.18.3.jar
|
||||||
|
|
||||||
|
# Remove vulnerable files and ensure the service uses the patched ones
|
||||||
|
rm -f activemq-client-5.18.2.jar activemq-openwire-legacy-5.18.2.jar || true
|
||||||
|
ln -sf activemq-client-5.18.3.jar activemq-client.jar
|
||||||
|
ln -sf activemq-openwire-legacy-5.18.3.jar activemq-openwire-legacy.jar
|
||||||
|
|
||||||
|
# Apply changes without removing persistence
|
||||||
|
systemctl restart activemq || service activemq restart
|
||||||
|
```
|
||||||
|
Forensic/hunting tips
|
||||||
|
- Перегляньте каталоги служб на наявність незапланованих замін бінарних/JAR файлів:
|
||||||
|
- Debian/Ubuntu: `dpkg -V activemq` та порівняйте хеші/шляхи файлів з дзеркалами репозиторіїв.
|
||||||
|
- RHEL/CentOS: `rpm -Va 'activemq*'`
|
||||||
|
- Шукайте версії JAR, які присутні на диску, але не належать менеджеру пакетів, або символічні посилання, оновлені поза межами.
|
||||||
|
- Хронологія: `find "$AMQ_DIR" -type f -printf '%TY-%Tm-%Td %TH:%TM %p\n' | sort` для кореляції ctime/mtime з вікном компрометації.
|
||||||
|
- Історія оболонки/телеметрія процесів: докази `curl`/`wget` до `repo1.maven.org` або інших CDN артефактів відразу після початкової експлуатації.
|
||||||
|
- Управління змінами: перевірте, хто застосував "патч" і чому, а не лише те, що присутня патчена версія.
|
||||||
|
|
||||||
|
### Cloud‑service C2 with bearer tokens and anti‑analysis stagers
|
||||||
|
Спостережуване ремесло поєднувало кілька довгострокових C2 шляхів та пакування для протидії аналізу:
|
||||||
|
- Завантажувачі ELF з PyInstaller, захищені паролем, щоб ускладнити пісочницю та статичний аналіз (наприклад, зашифрований PYZ, тимчасове витягування під `/_MEI*`).
|
||||||
|
- Індикатори: `strings` хіти, такі як `PyInstaller`, `pyi-archive`, `PYZ-00.pyz`, `MEIPASS`.
|
||||||
|
- Артефакти під час виконання: витягування до `/tmp/_MEI*` або користувацькі `--runtime-tmpdir` шляхи.
|
||||||
|
- C2 на базі Dropbox з жорстко закодованими OAuth Bearer токенами
|
||||||
|
- Мережеві маркери: `api.dropboxapi.com` / `content.dropboxapi.com` з `Authorization: Bearer <token>`.
|
||||||
|
- Шукайте в проксі/NetFlow/Zeek/Suricata вихідний HTTPS до доменів Dropbox з серверних навантажень, які зазвичай не синхронізують файли.
|
||||||
|
- Паралельний/резервний C2 через тунелювання (наприклад, Cloudflare Tunnel `cloudflared`), зберігаючи контроль, якщо один канал заблоковано.
|
||||||
|
- Хост IOCs: процеси/одиниці `cloudflared`, конфігурація в `~/.cloudflared/*.json`, вихідний 443 до Cloudflare edges.
|
||||||
|
|
||||||
|
### Persistence and “hardening rollback” to maintain access (Linux examples)
|
||||||
|
Зловмисники часто поєднують самопатчинг з надійними шляхами доступу:
|
||||||
|
- Cron/Anacron: редагування `0anacron` стуба в кожному каталозі `/etc/cron.*/` для періодичного виконання.
|
||||||
|
- Шукайте:
|
||||||
|
```bash
|
||||||
|
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
|
||||||
|
grep -R --line-number -E 'curl|wget|python|/bin/sh' /etc/cron.*/* 2>/dev/null
|
||||||
|
```
|
||||||
|
- Відкат жорсткості конфігурації SSH: увімкнення входу root та зміна стандартних оболонок для облікових записів з низькими привілеями.
|
||||||
|
- Шукайте увімкнення входу root:
|
||||||
|
```bash
|
||||||
|
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
|
||||||
|
# значення прапорців, такі як "yes" або надто поблажливі налаштування
|
||||||
|
```
|
||||||
|
- Шукайте підозрілі інтерактивні оболонки на системних облікових записах (наприклад, `games`):
|
||||||
|
```bash
|
||||||
|
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
|
||||||
|
```
|
||||||
|
- Випадкові, коротко названі артефакти маяків (8 алфавітних символів), які скидаються на диск і також контактують з хмарним C2:
|
||||||
|
- Шукайте:
|
||||||
|
```bash
|
||||||
|
find / -maxdepth 3 -type f -regextype posix-extended -regex '.*/[A-Za-z]{8}$' \
|
||||||
|
-exec stat -c '%n %s %y' {} \; 2>/dev/null | sort
|
||||||
|
```
|
||||||
|
|
||||||
|
Захисники повинні корелювати ці артефакти з зовнішнім впливом та подіями патчування служб, щоб виявити антифорензічне самовиправлення, використане для приховування початкової експлуатації.
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
- Sophos X-Ops – “AuKill: A Weaponized Vulnerable Driver for Disabling EDR” (March 2023)
|
||||||
|
https://news.sophos.com/en-us/2023/03/07/aukill-a-weaponized-vulnerable-driver-for-disabling-edr
|
||||||
|
- Red Canary – “Patching EtwEventWrite for Stealth: Detection & Hunting” (June 2024)
|
||||||
|
https://redcanary.com/blog/etw-patching-detection
|
||||||
|
|
||||||
|
- [Red Canary – Patching for persistence: How DripDropper Linux malware moves through the cloud](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
|
||||||
|
- [CVE‑2023‑46604 – Apache ActiveMQ OpenWire RCE (NVD)](https://nvd.nist.gov/vuln/detail/CVE-2023-46604)
|
||||||
|
|
||||||
{{#include ../../banners/hacktricks-training.md}}
|
{{#include ../../banners/hacktricks-training.md}}
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
export PATH=/mnt/usb/bin:/mnt/usb/sbin
|
export PATH=/mnt/usb/bin:/mnt/usb/sbin
|
||||||
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
|
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
|
||||||
```
|
```
|
||||||
Якщо ви налаштували систему на використання хороших і відомих бінарних файлів, ви можете почати **витягувати деяку базову інформацію**:
|
Як тільки ви налаштували систему на використання хороших і відомих бінарних файлів, ви можете почати **витягувати деяку базову інформацію**:
|
||||||
```bash
|
```bash
|
||||||
date #Date and time (Clock may be skewed, Might be at a different timezone)
|
date #Date and time (Clock may be skewed, Might be at a different timezone)
|
||||||
uname -a #OS info
|
uname -a #OS info
|
||||||
@ -35,14 +35,14 @@ find /directory -type f -mtime -1 -print #Find modified files during the last mi
|
|||||||
|
|
||||||
- **Root процеси** зазвичай працюють з низькими PID, тому якщо ви знайдете root процес з великим PID, ви можете підозрювати
|
- **Root процеси** зазвичай працюють з низькими PID, тому якщо ви знайдете root процес з великим PID, ви можете підозрювати
|
||||||
- Перевірте **зареєстровані логіни** користувачів без оболонки в `/etc/passwd`
|
- Перевірте **зареєстровані логіни** користувачів без оболонки в `/etc/passwd`
|
||||||
- Перевірте **хеші паролів** в `/etc/shadow` для користувачів без оболонки
|
- Перевірте наявність **хешів паролів** в `/etc/shadow` для користувачів без оболонки
|
||||||
|
|
||||||
### Дамп пам'яті
|
### Дамп пам'яті
|
||||||
|
|
||||||
Щоб отримати пам'ять працюючої системи, рекомендується використовувати [**LiME**](https://github.com/504ensicsLabs/LiME).\
|
Щоб отримати пам'ять працюючої системи, рекомендується використовувати [**LiME**](https://github.com/504ensicsLabs/LiME).\
|
||||||
Щоб **скомпілювати** його, вам потрібно використовувати **той самий ядро**, яке використовує машина жертви.
|
Щоб **скомпілювати** його, вам потрібно використовувати **той самий ядро**, яке використовує машина жертви.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!TIP]
|
||||||
> Пам'ятайте, що ви **не можете встановити LiME або будь-що інше** на машині жертви, оскільки це призведе до кількох змін у ній
|
> Пам'ятайте, що ви **не можете встановити LiME або будь-що інше** на машині жертви, оскільки це призведе до кількох змін у ній
|
||||||
|
|
||||||
Отже, якщо у вас є ідентична версія Ubuntu, ви можете використовувати `apt-get install lime-forensics-dkms`\
|
Отже, якщо у вас є ідентична версія Ubuntu, ви можете використовувати `apt-get install lime-forensics-dkms`\
|
||||||
@ -53,7 +53,7 @@ sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
|
|||||||
```
|
```
|
||||||
LiME підтримує 3 **формати**:
|
LiME підтримує 3 **формати**:
|
||||||
|
|
||||||
- Raw (кожен сегмент з'єднаний разом)
|
- Raw (кожен сегмент об'єднаний разом)
|
||||||
- Padded (той же, що й raw, але з нулями в правих бітах)
|
- Padded (той же, що й raw, але з нулями в правих бітах)
|
||||||
- Lime (рекомендований формат з метаданими)
|
- Lime (рекомендований формат з метаданими)
|
||||||
|
|
||||||
@ -64,7 +64,7 @@ LiME також може бути використаний для **відпра
|
|||||||
#### Вимкнення
|
#### Вимкнення
|
||||||
|
|
||||||
По-перше, вам потрібно буде **вимкнути систему**. Це не завжди можливо, оскільки іноді система буде виробничим сервером, який компанія не може дозволити собі вимкнути.\
|
По-перше, вам потрібно буде **вимкнути систему**. Це не завжди можливо, оскільки іноді система буде виробничим сервером, який компанія не може дозволити собі вимкнути.\
|
||||||
Є **2 способи** вимкнення системи: **нормальне вимкнення** та **вимкнення "вийняти штекер"**. Перше дозволить **процесам завершитися як зазвичай** і **файловій системі** бути **синхронізованою**, але також дозволить можливому **шкідливому ПЗ** **знищити докази**. Підхід "вийняти штекер" може призвести до **втрати деякої інформації** (не багато інформації буде втрачено, оскільки ми вже зробили зображення пам'яті) і **шкідливе ПЗ не матиме жодної можливості** щось з цим зробити. Тому, якщо ви **підозрюєте**, що може бути **шкідливе ПЗ**, просто виконайте **команду** **`sync`** на системі і вийміть штекер.
|
Існує **2 способи** вимкнення системи: **нормальне вимкнення** та **вимкнення "вийняти шнур"**. Перше дозволить **процесам завершитися як зазвичай** і **файловій системі** бути **синхронізованою**, але також дозволить можливому **шкідливому ПЗ** **знищити докази**. Підхід "вийняти шнур" може призвести до **втрати деякої інформації** (не багато інформації буде втрачено, оскільки ми вже зробили знімок пам'яті) і **шкідливе ПЗ не матиме жодної можливості** щось з цим зробити. Тому, якщо ви **підозрюєте**, що може бути **шкідливе ПЗ**, просто виконайте **команду** **`sync`** на системі і вийміть шнур.
|
||||||
|
|
||||||
#### Зняття зображення диска
|
#### Зняття зображення диска
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ dcfldd if=/dev/sdc of=/media/usb/pc.image hash=sha256 hashwindow=1M hashlog=/med
|
|||||||
```
|
```
|
||||||
### Попередній аналіз образу диска
|
### Попередній аналіз образу диска
|
||||||
|
|
||||||
Імідж образу диска без додаткових даних.
|
Іміджування образу диска без додаткових даних.
|
||||||
```bash
|
```bash
|
||||||
#Find out if it's a disk image using "file" command
|
#Find out if it's a disk image using "file" command
|
||||||
file disk.img
|
file disk.img
|
||||||
@ -139,7 +139,7 @@ ThisisTheMasterSecret
|
|||||||
Linux пропонує інструменти для забезпечення цілісності системних компонентів, що є критично важливим для виявлення потенційно проблемних файлів.
|
Linux пропонує інструменти для забезпечення цілісності системних компонентів, що є критично важливим для виявлення потенційно проблемних файлів.
|
||||||
|
|
||||||
- **Системи на базі RedHat**: Використовуйте `rpm -Va` для всебічної перевірки.
|
- **Системи на базі RedHat**: Використовуйте `rpm -Va` для всебічної перевірки.
|
||||||
- **Системи на базі Debian**: `dpkg --verify` для початкової перевірки, після чого виконайте `debsums | grep -v "OK$"` (після встановлення `debsums` за допомогою `apt-get install debsums`) для виявлення будь-яких проблем.
|
- **Системи на базі Debian**: `dpkg --verify` для початкової перевірки, а потім `debsums | grep -v "OK$"` (після встановлення `debsums` за допомогою `apt-get install debsums`) для виявлення будь-яких проблем.
|
||||||
|
|
||||||
### Детектори шкідливого ПЗ/Rootkit
|
### Детектори шкідливого ПЗ/Rootkit
|
||||||
|
|
||||||
@ -153,10 +153,10 @@ malware-analysis.md
|
|||||||
|
|
||||||
Щоб ефективно шукати встановлені програми на системах Debian і RedHat, розгляньте можливість використання системних журналів і баз даних разом із ручними перевірками в загальних каталогах.
|
Щоб ефективно шукати встановлені програми на системах Debian і RedHat, розгляньте можливість використання системних журналів і баз даних разом із ручними перевірками в загальних каталогах.
|
||||||
|
|
||||||
- Для Debian перевірте _**`/var/lib/dpkg/status`**_ і _**`/var/log/dpkg.log`**_ для отримання деталей про встановлення пакетів, використовуючи `grep` для фільтрації конкретної інформації.
|
- Для Debian перевірте _**`/var/lib/dpkg/status`**_ і _**`/var/log/dpkg.log`**_, щоб отримати деталі про встановлення пакетів, використовуючи `grep` для фільтрації конкретної інформації.
|
||||||
- Користувачі RedHat можуть запитувати базу даних RPM за допомогою `rpm -qa --root=/mntpath/var/lib/rpm`, щоб перерахувати встановлені пакети.
|
- Користувачі RedHat можуть запитати базу даних RPM за допомогою `rpm -qa --root=/mntpath/var/lib/rpm`, щоб перерахувати встановлені пакети.
|
||||||
|
|
||||||
Щоб виявити програмне забезпечення, встановлене вручну або поза цими менеджерами пакетів, досліджуйте каталоги, такі як _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_, і _**`/sbin`**_. Поєднайте списки каталогів із командами, специфічними для системи, щоб ідентифікувати виконувані файли, не пов'язані з відомими пакетами, що покращить ваш пошук усіх встановлених програм.
|
Щоб виявити програмне забезпечення, встановлене вручну або поза цими менеджерами пакетів, досліджуйте каталоги, такі як _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_, і _**`/sbin`**_. Поєднайте списки каталогів із системно-специфічними командами, щоб ідентифікувати виконувані файли, не пов'язані з відомими пакетами, що покращить ваш пошук усіх встановлених програм.
|
||||||
```bash
|
```bash
|
||||||
# Debian package and log details
|
# Debian package and log details
|
||||||
cat /var/lib/dpkg/status | grep -E "Package:|Status:"
|
cat /var/lib/dpkg/status | grep -E "Package:|Status:"
|
||||||
@ -174,7 +174,7 @@ find / -type f -executable | grep <something>
|
|||||||
```
|
```
|
||||||
## Відновлення видалених запущених бінарних файлів
|
## Відновлення видалених запущених бінарних файлів
|
||||||
|
|
||||||
Уявіть процес, який був виконаний з /tmp/exec і потім видалений. Можливо, його витягти.
|
Уявіть процес, який був виконаний з /tmp/exec і потім видалений. Можливо, його витягти
|
||||||
```bash
|
```bash
|
||||||
cd /proc/3746/ #PID with the exec file deleted
|
cd /proc/3746/ #PID with the exec file deleted
|
||||||
head -1 maps #Get address of the file. It was 08048000-08049000
|
head -1 maps #Get address of the file. It was 08048000-08049000
|
||||||
@ -196,6 +196,32 @@ cat /var/spool/cron/crontabs/* \
|
|||||||
#MacOS
|
#MacOS
|
||||||
ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Library/LaunchAgents/
|
ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Library/LaunchAgents/
|
||||||
```
|
```
|
||||||
|
#### Hunt: Зловживання Cron/Anacron через 0anacron та підозрілі стуби
|
||||||
|
Атакуючі часто редагують стуб 0anacron, що знаходиться в кожному каталозі /etc/cron.*/ для забезпечення періодичного виконання.
|
||||||
|
```bash
|
||||||
|
# List 0anacron files and their timestamps/sizes
|
||||||
|
for d in /etc/cron.*; do [ -f "$d/0anacron" ] && stat -c '%n %y %s' "$d/0anacron"; done
|
||||||
|
|
||||||
|
# Look for obvious execution of shells or downloaders embedded in cron stubs
|
||||||
|
grep -R --line-number -E 'curl|wget|/bin/sh|python|bash -c' /etc/cron.*/* 2>/dev/null
|
||||||
|
```
|
||||||
|
#### Hunt: SSH hardening rollback and backdoor shells
|
||||||
|
Зміни в sshd_config та системних облікових записах оболонок є звичайними після експлуатації для збереження доступу.
|
||||||
|
```bash
|
||||||
|
# Root login enablement (flag "yes" or lax values)
|
||||||
|
grep -E '^\s*PermitRootLogin' /etc/ssh/sshd_config
|
||||||
|
|
||||||
|
# System accounts with interactive shells (e.g., games → /bin/sh)
|
||||||
|
awk -F: '($7 ~ /bin\/(sh|bash|zsh)/ && $1 ~ /^(games|lp|sync|shutdown|halt|mail|operator)$/) {print}' /etc/passwd
|
||||||
|
```
|
||||||
|
#### Hunt: Cloud C2 markers (Dropbox/Cloudflare Tunnel)
|
||||||
|
- API-мітки Dropbox зазвичай використовують api.dropboxapi.com або content.dropboxapi.com через HTTPS з Authorization: Bearer токенами.
|
||||||
|
- Шукайте в proxy/Zeek/NetFlow несподіваний вихід Dropbox з серверів.
|
||||||
|
- Cloudflare Tunnel (`cloudflared`) забезпечує резервний C2 через вихідний 443.
|
||||||
|
```bash
|
||||||
|
ps aux | grep -E '[c]loudflared|trycloudflare'
|
||||||
|
systemctl list-units | grep -i cloudflared
|
||||||
|
```
|
||||||
### Послуги
|
### Послуги
|
||||||
|
|
||||||
Шляхи, де шкідливе ПЗ може бути встановлено як служба:
|
Шляхи, де шкідливе ПЗ може бути встановлено як служба:
|
||||||
@ -210,9 +236,9 @@ ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Libra
|
|||||||
- **\~/.config/autostart/**: Для автоматичних програм запуску, специфічних для користувача, які можуть бути прихованим місцем для шкідливого ПЗ, націленого на користувача.
|
- **\~/.config/autostart/**: Для автоматичних програм запуску, специфічних для користувача, які можуть бути прихованим місцем для шкідливого ПЗ, націленого на користувача.
|
||||||
- **/lib/systemd/system/**: Стандартні файли одиниць системи, надані встановленими пакетами.
|
- **/lib/systemd/system/**: Стандартні файли одиниць системи, надані встановленими пакетами.
|
||||||
|
|
||||||
### Ядрові модулі
|
### Модулі ядра
|
||||||
|
|
||||||
Ядрові модулі Linux, які часто використовуються шкідливим ПЗ як компоненти руткітів, завантажуються під час завантаження системи. Директорії та файли, критично важливі для цих модулів, включають:
|
Модулі ядра Linux, які часто використовуються шкідливим ПЗ як компоненти руткітів, завантажуються під час завантаження системи. Директорії та файли, критично важливі для цих модулів, включають:
|
||||||
|
|
||||||
- **/lib/modules/$(uname -r)**: Містить модулі для версії ядра, що працює.
|
- **/lib/modules/$(uname -r)**: Містить модулі для версії ядра, що працює.
|
||||||
- **/etc/modprobe.d**: Містить конфігураційні файли для контролю завантаження модулів.
|
- **/etc/modprobe.d**: Містить конфігураційні файли для контролю завантаження модулів.
|
||||||
@ -246,10 +272,10 @@ Linux використовує різні файли для автоматичн
|
|||||||
- **/var/log/xferlog**: Записує FTP-передачі файлів.
|
- **/var/log/xferlog**: Записує FTP-передачі файлів.
|
||||||
- **/var/log/**: Завжди перевіряйте на наявність несподіваних журналів тут.
|
- **/var/log/**: Завжди перевіряйте на наявність несподіваних журналів тут.
|
||||||
|
|
||||||
> [!NOTE]
|
> [!TIP]
|
||||||
> Журнали системи Linux та підсистеми аудиту можуть бути вимкнені або видалені під час вторгнення або інциденту з шкідливим ПЗ. Оскільки журнали на системах Linux зазвичай містять деяку з найкорисніших інформації про злочинні дії, зловмисники регулярно їх видаляють. Тому, перевіряючи доступні журнали, важливо шукати прогалини або записи в неправильному порядку, які можуть свідчити про видалення або підробку.
|
> Журнали системи Linux та підсистеми аудиту можуть бути вимкнені або видалені під час вторгнення або інциденту з шкідливим ПЗ. Оскільки журнали на системах Linux зазвичай містять деяку з найкорисніших інформацій про злочинні дії, зловмисники регулярно їх видаляють. Тому, перевіряючи доступні журнали, важливо шукати прогалини або записи в неправильному порядку, які можуть свідчити про видалення або підробку.
|
||||||
|
|
||||||
**Linux зберігає історію команд для кожного користувача**, що зберігається в:
|
**Linux зберігає історію команд для кожного користувача**, яка зберігається в:
|
||||||
|
|
||||||
- \~/.bash_history
|
- \~/.bash_history
|
||||||
- \~/.zsh_history
|
- \~/.zsh_history
|
||||||
@ -282,7 +308,7 @@ Linux використовує різні файли для автоматичн
|
|||||||
|
|
||||||
[**usbrip**](https://github.com/snovvcrash/usbrip) - це невеликий програмний продукт, написаний на чистому Python 3, який аналізує журнали Linux (`/var/log/syslog*` або `/var/log/messages*` залежно від дистрибутива) для створення таблиць історії подій USB.
|
[**usbrip**](https://github.com/snovvcrash/usbrip) - це невеликий програмний продукт, написаний на чистому Python 3, який аналізує журнали Linux (`/var/log/syslog*` або `/var/log/messages*` залежно від дистрибутива) для створення таблиць історії подій USB.
|
||||||
|
|
||||||
Цікаво знати **всі USB, які були використані**, і це буде ще корисніше, якщо у вас є авторизований список USB для виявлення "порушень" (використання USB, які не входять до цього списку).
|
Цікаво знати **всі USB, які були використані**, і це буде ще корисніше, якщо у вас є авторизований список USB для виявлення "інцидентів порушення" (використання USB, які не входять до цього списку).
|
||||||
|
|
||||||
### Встановлення
|
### Встановлення
|
||||||
```bash
|
```bash
|
||||||
@ -302,24 +328,24 @@ usbrip ids search --pid 0002 --vid 0e0f #Search for pid AND vid
|
|||||||
## Перегляд облікових записів користувачів та активності входу
|
## Перегляд облікових записів користувачів та активності входу
|
||||||
|
|
||||||
Перевірте _**/etc/passwd**_, _**/etc/shadow**_ та **журнали безпеки** на наявність незвичних імен або облікових записів, створених або використаних у близькій близькості до відомих несанкціонованих подій. Також перевірте можливі атаки грубої сили на sudo.\
|
Перевірте _**/etc/passwd**_, _**/etc/shadow**_ та **журнали безпеки** на наявність незвичних імен або облікових записів, створених або використаних у близькій близькості до відомих несанкціонованих подій. Також перевірте можливі атаки грубої сили на sudo.\
|
||||||
Крім того, перевірте файли, такі як _**/etc/sudoers**_ та _**/etc/groups**_, на предмет несподіваних привілеїв, наданих користувачам.\
|
Крім того, перевірте файли, такі як _**/etc/sudoers**_ та _**/etc/groups**_, на наявність несподіваних привілеїв, наданих користувачам.\
|
||||||
Нарешті, шукайте облікові записи з **без паролів** або **легко вгадуваними** паролями.
|
Нарешті, шукайте облікові записи з **без паролів** або **легко вгадуваними** паролями.
|
||||||
|
|
||||||
## Перевірка файлової системи
|
## Перевірка файлової системи
|
||||||
|
|
||||||
### Аналіз структур файлової системи в розслідуванні шкідливого ПЗ
|
### Аналіз структур файлової системи в розслідуванні шкідливого ПЗ
|
||||||
|
|
||||||
Під час розслідування інцидентів з шкідливим ПЗ структура файлової системи є важливим джерелом інформації, що розкриває як послідовність подій, так і вміст шкідливого ПЗ. Однак автори шкідливого ПЗ розробляють методи, щоб ускладнити цей аналіз, такі як зміна часових міток файлів або уникнення файлової системи для зберігання даних.
|
Під час розслідування інцидентів з шкідливим ПЗ структура файлової системи є важливим джерелом інформації, що розкриває як послідовність подій, так і вміст шкідливого ПЗ. Однак автори шкідливого ПЗ розробляють техніки, щоб ускладнити цей аналіз, такі як зміна часових міток файлів або уникнення файлової системи для зберігання даних.
|
||||||
|
|
||||||
Щоб протидіяти цим антифорензічним методам, важливо:
|
Щоб протидіяти цим антифорензічним методам, важливо:
|
||||||
|
|
||||||
- **Провести ретельний аналіз хронології** за допомогою інструментів, таких як **Autopsy** для візуалізації хронологій подій або **Sleuth Kit's** `mactime` для детальних даних хронології.
|
- **Провести детальний аналіз хронології** за допомогою інструментів, таких як **Autopsy** для візуалізації хронологій подій або **Sleuth Kit's** `mactime` для детальних даних хронології.
|
||||||
- **Дослідити несподівані скрипти** в $PATH системи, які можуть включати shell або PHP скрипти, що використовуються зловмисниками.
|
- **Дослідити несподівані скрипти** в $PATH системи, які можуть включати shell або PHP скрипти, що використовуються зловмисниками.
|
||||||
- **Перевірити `/dev` на наявність нетипових файлів**, оскільки він традиційно містить спеціальні файли, але може містити файли, пов'язані зі шкідливим ПЗ.
|
- **Перевірити `/dev` на наявність нетипових файлів**, оскільки традиційно він містить спеціальні файли, але може містити файли, пов'язані зі шкідливим ПЗ.
|
||||||
- **Шукати приховані файли або каталоги** з іменами, такими як ".. " (крапка крапка пробіл) або "..^G" (крапка крапка контроль-G), які можуть приховувати шкідливий вміст.
|
- **Шукати приховані файли або каталоги** з іменами, такими як ".. " (крапка крапка пробіл) або "..^G" (крапка крапка контроль-G), які можуть приховувати шкідливий вміст.
|
||||||
- **Визначити файли setuid root** за допомогою команди: `find / -user root -perm -04000 -print` Це знаходить файли з підвищеними привілеями, які можуть бути зловживані зловмисниками.
|
- **Визначити файли setuid root** за допомогою команди: `find / -user root -perm -04000 -print` Це знаходить файли з підвищеними привілеями, які можуть бути зловживані зловмисниками.
|
||||||
- **Переглянути часові мітки видалення** в таблицях inode, щоб виявити масові видалення файлів, що може вказувати на наявність rootkit або троянів.
|
- **Переглянути часові мітки видалення** в таблицях inode, щоб виявити масові видалення файлів, що може вказувати на наявність rootkit або троянів.
|
||||||
- **Перевірити послідовні inode** на наявність сусідніх шкідливих файлів після виявлення одного, оскільки вони могли бути розміщені разом.
|
- **Перевірити послідовні inodes** на наявність сусідніх шкідливих файлів після виявлення одного, оскільки вони могли бути розміщені разом.
|
||||||
- **Перевірити загальні каталоги бінарних файлів** (_/bin_, _/sbin_) на наявність нещодавно змінених файлів, оскільки ці файли могли бути змінені шкідливим ПЗ.
|
- **Перевірити загальні каталоги бінарних файлів** (_/bin_, _/sbin_) на наявність нещодавно змінених файлів, оскільки ці файли могли бути змінені шкідливим ПЗ.
|
||||||
````bash
|
````bash
|
||||||
# List recent files in a directory:
|
# List recent files in a directory:
|
||||||
@ -328,20 +354,20 @@ ls -laR --sort=time /bin```
|
|||||||
# Sort files in a directory by inode:
|
# Sort files in a directory by inode:
|
||||||
ls -lai /bin | sort -n```
|
ls -lai /bin | sort -n```
|
||||||
````
|
````
|
||||||
> [!NOTE]
|
> [!TIP]
|
||||||
> Зверніть увагу, що **зловмисник** може **змінити** **час**, щоб **файли виглядали** **легітимними**, але він **не може** змінити **inode**. Якщо ви виявите, що **файл** вказує на те, що він був створений і змінений в **один і той же час** з іншими файлами в тій же папці, але **inode** є **неочікувано більшим**, то **часові мітки цього файлу були змінені**.
|
> Зверніть увагу, що **зловмисник** може **змінити** **час**, щоб **файли виглядали** **легітимними**, але він **не може** змінити **inode**. Якщо ви виявите, що **файл** вказує на те, що він був створений і змінений в **один і той же час** з іншими файлами в тій же папці, але **inode** є **неочікувано більшим**, то **часові мітки цього файлу були змінені**.
|
||||||
|
|
||||||
## Порівняння файлів різних версій файлової системи
|
## Порівняння файлів різних версій файлової системи
|
||||||
|
|
||||||
### Резюме порівняння версій файлової системи
|
### Резюме порівняння версій файлової системи
|
||||||
|
|
||||||
Щоб порівняти версії файлової системи та виявити зміни, ми використовуємо спрощені команди `git diff`:
|
Щоб порівняти версії файлових систем і виявити зміни, ми використовуємо спрощені команди `git diff`:
|
||||||
|
|
||||||
- **Щоб знайти нові файли**, порівняйте дві директорії:
|
- **Щоб знайти нові файли**, порівняйте дві директорії:
|
||||||
```bash
|
```bash
|
||||||
git diff --no-index --diff-filter=A path/to/old_version/ path/to/new_version/
|
git diff --no-index --diff-filter=A path/to/old_version/ path/to/new_version/
|
||||||
```
|
```
|
||||||
- **Для зміненого контенту**, перерахувати зміни, ігноруючи конкретні рядки:
|
- **Для зміненого контенту** перерахувати зміни, ігноруючи конкретні рядки:
|
||||||
```bash
|
```bash
|
||||||
git diff --no-index --diff-filter=M path/to/old_version/ path/to/new_version/ | grep -E "^\+" | grep -v "Installed-Time"
|
git diff --no-index --diff-filter=M path/to/old_version/ path/to/new_version/ | grep -E "^\+" | grep -v "Installed-Time"
|
||||||
```
|
```
|
||||||
@ -349,7 +375,7 @@ git diff --no-index --diff-filter=M path/to/old_version/ path/to/new_version/ |
|
|||||||
```bash
|
```bash
|
||||||
git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
|
git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
|
||||||
```
|
```
|
||||||
- **Опції фільтра** (`--diff-filter`) допомагають звузити до конкретних змін, таких як додані (`A`), видалені (`D`) або змінені (`M`) файли.
|
- **Опції фільтрації** (`--diff-filter`) допомагають звузити до конкретних змін, таких як додані (`A`), видалені (`D`) або змінені (`M`) файли.
|
||||||
- `A`: Додані файли
|
- `A`: Додані файли
|
||||||
- `C`: Скопійовані файли
|
- `C`: Скопійовані файли
|
||||||
- `D`: Видалені файли
|
- `D`: Видалені файли
|
||||||
@ -365,6 +391,8 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
|
|||||||
- [https://cdn.ttgtmedia.com/rms/security/Malware%20Forensics%20Field%20Guide%20for%20Linux%20Systems_Ch3.pdf](https://cdn.ttgtmedia.com/rms/security/Malware%20Forensics%20Field%20Guide%20for%20Linux%20Systems_Ch3.pdf)
|
- [https://cdn.ttgtmedia.com/rms/security/Malware%20Forensics%20Field%20Guide%20for%20Linux%20Systems_Ch3.pdf](https://cdn.ttgtmedia.com/rms/security/Malware%20Forensics%20Field%20Guide%20for%20Linux%20Systems_Ch3.pdf)
|
||||||
- [https://www.plesk.com/blog/featured/linux-logs-explained/](https://www.plesk.com/blog/featured/linux-logs-explained/)
|
- [https://www.plesk.com/blog/featured/linux-logs-explained/](https://www.plesk.com/blog/featured/linux-logs-explained/)
|
||||||
- [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
|
- [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
|
||||||
- **Книга: Посібник з комп'ютерної криміналістики для Linux-систем: Посібники з цифрової криміналістики**
|
- **Книга: Посібник з комп'ютерної криміналістики для Linux: Полеві посібники з цифрової криміналістики**
|
||||||
|
|
||||||
|
- [Red Canary – Патчинг для стійкості: Як шкідливе ПЗ DripDropper для Linux переміщується через хмару](https://redcanary.com/blog/threat-intelligence/dripdropper-linux-malware/)
|
||||||
|
|
||||||
{{#include ../../banners/hacktricks-training.md}}
|
{{#include ../../banners/hacktricks-training.md}}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user