NFsec Logo

TELFHASH – Trend Micro ELF Hash

29/09/2024 w Bezpieczeństwo Brak komentarzy.  (artykuł nr 909, ilość słów: 541)

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 oprogramowania (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, nawet gdy zostały dodane do nich nowe funkcje importujące nowe biblioteki. Jeśli 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 oprogramowania 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 zazwyczaj 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

Kategorie K a t e g o r i e : Bezpieczeństwo

Tagi T a g i : , , , , , , ,

Komentowanie tego wpisu jest zablokowane.