TELFHASH – Trend Micro ELF Hash

nfsec.pl 2 tygodni temu

Telfhash to funkcja haszująca używanych symboli dla plików ELF w systemie *nix, tak jak imphash to funkcja haszująca importowanych bibliotek dla plików PE w systemie Windows. Za jej pomocą możemy grupować pliki ELF według podobieństwa na podstawie ich tabeli symboli. Pozwala to na byciu na bieżąco ze wszystkimi wariantami szkodliwego systemu (ang. malware), które są stale rozwijane i dokładne grupowanie zgodnie z ich rzeczywistą rodziną pochodzenia np. Tsunami, Gafgyt, czy Mirai. Telfhash do swoich obliczeń używa TLSH, co umożliwia mu rozpoznawanie oryginalnych próbek, choćby gdy zostały dodane do nich nowe funkcje importujące nowe biblioteki. jeżeli rozebrany i statycznie skompilowany plik binarny nie ma symboli, telfhash emuluje je poprzez uzyskanie i stworzenie listy z adresów docelowych dla wywołań funkcji.

rozebrany plik binarny (ang. stripped binary) – odnośni się do pliku wykonywalnego lub obiektowego, z którego zostały usunięte wszystkie informacje, które nie są niezbędne lub wymagane do normalnego i poprawnego wykonania, co potencjalnie skutkuje lepszą wydajnością, a czasami znacznie mniejszym wykorzystaniem miejsca na dysku przez plik. Usunięte informacje mogą obejmować rzeczy pomocne w usuwaniu usterek w kodzie (ang. debbuging) lub lokalizacji używanych symboli. Zabieg ten jest również używany jako jeden z poziomów obrony przed inżynierią wsteczną (ang. reverse enginerring), ponieważ analiza takiego pliku może być stosunkowo trudniejsza.

Telfhash jest oferowany jako biblioteka języka Python, aby można go było łatwo zintegrować ze skryptami w celu wygenerowania skrótu podobieństwa dla plików ELF:

python3 -m venv telfhash source telfhash/bin/activate pip install telfhash

Możemy go wykorzystać jako funkcję w skrypcie:

(telfhash) agresor@darkstar:~$ cat script.py #!/bin/env python3 import telfhash import pprint similar = telfhash.telfhash("/sbin/fsck*") groups = telfhash.group(similar) pprint.pprint(groups) (telfhash) agresor@darkstar:~$ ./script.py {'grouped': (('/sbin/fsck.ext2', '/sbin/fsck.ext3', '/sbin/fsck.ext4'), ('/sbin/fsck.fat', '/sbin/fsck.msdos', '/sbin/fsck.vfat')), 'nogroup': ['/sbin/fsck', '/sbin/fsck.minix', '/sbin/fsck.cramfs']}

lub narzędzie z linii poleceń:

(telfhash) agresor@darkstar:~$ telfhash -g /sbin/fsck* /sbin/fsck t1e811b1ba4a1e2e5388a38c44b4c336b58141c10b5f61a0ef9fb040f57f142c926cbf45 /sbin/fsck.btrfs - /sbin/fsck.cramfs t1e5e07d418933164f9e60ac747c7616cf8039f2e6403ddb409fbd4045489204d9efc55c /sbin/fsck.ext2 t1d932fd1d4b378c425d7aec633d6838a3098cc44c8b50cff0aee8b55dd88fd699e8a156 /sbin/fsck.ext3 t1d932fd1d4b378c425d7aec633d6838a3098cc44c8b50cff0aee8b55dd88fd699e8a156 /sbin/fsck.ext4 t1d932fd1d4b378c425d7aec633d6838a3098cc44c8b50cff0aee8b55dd88fd699e8a156 /sbin/fsck.fat t10fd0a703a5271131ab228e702802759584a0e2d055ed6f409f68c414642414f95c151d /sbin/fsck.minix t1ece06847c5232b815fa56d743c52257bc021f372a27eab005f7c4198acb800dbf9581d /sbin/fsck.msdos t10fd0a703a5271131ab228e702802759584a0e2d055ed6f409f68c414642414f95c151d /sbin/fsck.vfat t10fd0a703a5271131ab228e702802759584a0e2d055ed6f409f68c414642414f95c151d /sbin/fsck.xfs - Group 1: /sbin/fsck.ext2 /sbin/fsck.ext3 /sbin/fsck.ext4 Group 2: /sbin/fsck.fat /sbin/fsck.msdos /sbin/fsck.vfat Ungrouped: /sbin/fsck.minix /sbin/fsck.cramfs /sbin/fsck

Ponieważ telfhash zajmuje się plikami ELF może być przydatny w badaniach nad złośliwym oprogramowaniem atakującym systemy *nix, ale także kontenery Docker i podsystem Windows dla systemu Linux (WSL). Może być również szczególnie pomocny w przypadkach, gdy warianty złośliwego systemu stają się zagrożeniami międzyplatformowymi (ponieważ jest on niezależny od architektury). Skrót ten jest również dostępny za pośrednictwem VirusTotal, dzięki czemu jego użytkownicy mogą sprawnie przechodzić z analizy jednego pliku ELF na inne szukając: adresów URL, charakterystycznych poleceń i serwerów kontroli C&C, które zwykle są istotne w śledztwach incydentalnych lub rozpoznawania zagrożeń.

Więcej informacji: Telfhash: An Algorithm That Finds Similar Malicious ELF Files Used in Linux IoT Malware, telfhash

Idź do oryginalnego materiału