hacktricks/generic-methodologies-and-resources/basic-forensic-methodology/malware-analysis.md

8.6 KiB
Raw Blame History

Analiza złośliwego oprogramowania

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Arkusze oszustw w dziedzinie śledztw

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

Usługi online

Narzędzia antywirusowe i wykrywania offline

Yara

Instalacja

sudo apt-get install -y yara

Przygotuj zasady

Użyj tego skryptu do pobrania i połączenia wszystkich zasad malware Yara z githuba: 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.

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

Skanowanie

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 do generowania reguł yara z pliku binarnego. Sprawdź te samouczki: Część 1, Część 2, Część 3

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

ClamAV

Instalacja

sudo apt-get install -y clamav

Skanowanie

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

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.

IOCs

IOC oznacza Indicator Of Compromise. IOC to zestaw warunków identyfikujących potencjalnie niechciane oprogramowanie lub potwierdzony malware. 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ć do szybszej identyfikacji złośliwego oprogramowania.

Narzędziem do tworzenia lub modyfikowania IOC jest Edytor IOC.
Możesz użyć narzędzi takich jak Redline do wyszukiwania zdefiniowanych IOC w urządzeniu.

Loki

Loki to skaner dla prostych wskaźników kompromitacji.
Wykrywanie opiera się na czterech metodach detekcji:

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) 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 mogą być używane do sprawdzania systemu plików pod kątem możliwych rootkitów i złośliwego oprogramowania.

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

FLOSS

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 sprawdza podstawowe informacje wewnątrz pliku wykonywalnego (dane binarne, entropię, adresy URL i IP, niektóre reguły yara).

PEstudio

PEstudio 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 to narzędzie do wykrywania, czy plik jest zaszyfrowany, a także znajdzie pakowacze.

NeoPI

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 pomoc w wykrywaniu ukrytego kodu powłoki internetowej.

php-malware-finder

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 złośliwego oprogramowania zawsze powinieneś sprawdzić sygnaturę binarną, ponieważ deweloper, który ją podpisał, może być już powiązany z złośliwym oprogramowaniem.

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

#Check if the apps 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 WWW został ostatnio zaktualizowany w pewnej dacie. Sprawdź, kiedy pliki w serwerze WWW zostały utworzone i zmodyfikowane, a jeśli któraś z dat jest podejrzana, sprawdź ten plik.

Punkty odniesienia

Jeśli pliki w folderze nie powinny być modyfikowane, możesz obliczyć skrót oryginalnych plików z folderu i porównać je z aktualnymi. Wszelkie zmiany będą podejrzane.

Analiza statystyczna

Gdy informacje są zapisywane w logach, możesz sprawdzić statystyki, takie jak ile razy każdy plik serwera WWW był odwiedzany, ponieważ web shell może być jednym z najczęściej używanych.