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.
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 telfhashMoż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/fsckPonieważ 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