# Analiza złośliwego oprogramowania
{% hint style="success" %}
Dowiedz się i praktykuj Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Dowiedz się i praktykuj Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wesprzyj HackTricks
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Udostępnij sztuczki hakerskie, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na githubie.
{% endhint %}
## Arkusze oszustw w dziedzinie informatyki sądowej
[https://www.jaiminton.com/cheatsheet/DFIR/#](https://www.jaiminton.com/cheatsheet/DFIR/)
## Usługi online
* [VirusTotal](https://www.virustotal.com/gui/home/upload)
* [HybridAnalysis](https://www.hybrid-analysis.com)
* [Koodous](https://koodous.com)
* [Intezer](https://analyze.intezer.com)
* [Any.Run](https://any.run/)
## Narzędzia antywirusowe i wykrywające offline
### Yara
#### Instalacja
```bash
sudo apt-get install -y yara
```
#### Przygotuj zasady
Użyj tego skryptu do pobrania i scalenia wszystkich zasad malware Yara z github: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
Utwórz katalog _**rules**_ i wykonaj go. Spowoduje to utworzenie pliku o nazwie _**malware\_rules.yar**_, który zawiera wszystkie zasady Yara dla malware.
```bash
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
```
#### Skanowanie
```bash
yara -w malware_rules.yar image #Scan 1 file
yara -w malware_rules.yar folder #Scan the whole folder
```
#### YaraGen: Sprawdź złośliwe oprogramowanie i Utwórz reguły
Możesz użyć narzędzia [**YaraGen**](https://github.com/Neo23x0/yarGen) do generowania reguł yara z pliku binarnego. Sprawdź te samouczki: [**Część 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**Część 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**Część 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
```bash
python3 yarGen.py --update
python3.exe yarGen.py --excludegood -m ../../mals/
```
### ClamAV
#### Instalacja
```
sudo apt-get install -y clamav
```
#### Skanowanie
```bash
sudo freshclam #Update rules
clamscan filepath #Scan 1 file
clamscan folderpath #Scan the whole folder
```
### [Capa](https://github.com/mandiant/capa)
**Capa** wykrywa potencjalnie złośliwe **zdolności** w plikach wykonywalnych: PE, ELF, .NET. Dlatego znajdzie rzeczy takie jak taktyki Att\&ck lub podejrzane zdolności, takie jak:
- sprawdzenie błędu OutputDebugString
- uruchomienie jako usługa
- utworzenie procesu
Pobierz go z [**repozytorium Github**](https://github.com/mandiant/capa).
### IOCs
IOC oznacza Indicator Of Compromise. IOC to zestaw **warunków identyfikujących** potencjalnie niechciane oprogramowanie lub potwierdzony **złośliwy oprogramowanie**. Zespoły Blue używają tego rodzaju definicji do **wyszukiwania tego rodzaju złośliwych plików** w swoich **systemach** i **sieciach**.\
Dzielenie się tymi definicjami jest bardzo przydatne, ponieważ gdy złośliwe oprogramowanie zostanie zidentyfikowane w komputerze i zostanie utworzony IOC dla tego złośliwego oprogramowania, inne zespoły Blue mogą go użyć, aby szybciej zidentyfikować złośliwe oprogramowanie.
Narzędziem do tworzenia lub modyfikowania IOC jest [**Edytor IOC**](https://www.fireeye.com/services/freeware/ioc-editor.html)**.**\
Możesz użyć narzędzi takich jak [**Redline**](https://www.fireeye.com/services/freeware/redline.html) do **wyszukiwania zdefiniowanych IOC w urządzeniu**.
### Loki
[**Loki**](https://github.com/Neo23x0/Loki) to skaner dla prostych wskaźników kompromitacji.\
Wykrywanie opiera się na czterech metodach wykrywania:
```
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)**](https://www.rfxn.com/projects/linux-malware-detect/) to skaner złośliwego oprogramowania dla systemu Linux wydany na licencji GNU GPLv2, który został zaprojektowany wokół zagrożeń występujących w środowiskach hostowanych współdzielonych. Wykorzystuje dane dotyczące zagrożeń z systemów wykrywania intruzów na krawędzi sieci do wyodrębniania złośliwego oprogramowania, które jest aktywnie wykorzystywane w atakach, oraz generuje sygnatury do wykrywania. Ponadto dane dotyczące zagrożeń są również pochodne od zgłoszeń użytkowników za pomocą funkcji sprawdzania LMD oraz z zasobów społeczności związanych z złośliwym oprogramowaniem.
### rkhunter
Narzędzia takie jak [**rkhunter**](http://rkhunter.sourceforge.net) mogą być używane do sprawdzania systemu plików pod kątem możliwych **rootkitów** i złośliwego oprogramowania.
```bash
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
```
### FLOSS
[**FLOSS**](https://github.com/mandiant/flare-floss) to narzędzie, które spróbuje znaleźć zaszyfrowane ciągi wewnątrz plików wykonywalnych, używając różnych technik.
### PEpper
[PEpper](https://github.com/Th3Hurrican3/PEpper) sprawdza podstawowe informacje wewnątrz pliku wykonywalnego (dane binarne, entropia, adresy URL i IP, niektóre reguły yara).
### PEstudio
[PEstudio](https://www.winitor.com/download) to narzędzie, które pozwala uzyskać informacje o plikach wykonywalnych systemu Windows, takie jak importy, eksporty, nagłówki, ale także sprawdzi VirusTotal i znajdzie potencjalne techniki Att\&ck.
### Detect It Easy(DiE)
[**DiE**](https://github.com/horsicq/Detect-It-Easy/) to narzędzie do wykrywania, czy plik jest **zaszyfrowany**, a także znajdzie **pakowacze**.
### NeoPI
[**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI) to skrypt w języku Python, który używa różnorodnych **metod statystycznych** do wykrywania **zaszyfrowanych** i **zaszyfrowanych** treści w plikach tekstowych/skryptowych. Celem NeoPI jest pomaganie w **wykrywaniu ukrytego kodu powłoki internetowej**.
### **php-malware-finder**
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder) robi wszystko, co w jego mocy, aby wykryć **zaszyfrowany**/** podejrzany kod**, a także pliki używające funkcji **PHP** często używane w **malware**/powłokach internetowych.
### Sygnatury binarne Apple
Podczas sprawdzania niektórych próbek **malware**, zawsze powinieneś **sprawdzić sygnaturę** binarną, ponieważ **deweloper**, który ją podpisał, może być już **powiązany** z **malware**.
```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
```
## Techniki Wykrywania
### Składanie Plików
Jeśli wiesz, że pewny folder zawierający **pliki** serwera internetowego był **ostatnio zaktualizowany w pewnej dacie**. **Sprawdź**, kiedy zostały utworzone i zmodyfikowane **wszystkie pliki** na serwerze internetowym, a jeśli jakakolwiek data jest **podejrzana**, sprawdź ten plik.
### Punkty Odniesienia
Jeśli pliki w folderze **nie powinny być modyfikowane**, możesz obliczyć **sumę kontrolną** **oryginalnych plików** z folderu i **porównać** je z **aktualnymi**. Wszelkie zmiany będą **podejrzane**.
### Analiza Statystyczna
Kiedy informacje są zapisywane w logach, możesz **sprawdzić statystyki, takie jak ile razy każdy plik serwera internetowego był odwiedzany, ponieważ powłoka internetowa może być jednym z najczęściej używanych**.
{% hint style="success" %}
Dowiedz się i ćwicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Dowiedz się i ćwicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wesprzyj HackTricks
* Sprawdź [**plan subskrypcyjny**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Udostępnij sztuczki hakerskie, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na githubie.
{% endhint %}