Przewiń do głównej treści

Network Forensics - Danabot

·1269 słów·6 min·
Blueteam Forensics Wireshark
CyberZgroza
Autor
CyberZgroza

Scenariusz: The SOC team has detected suspicious activity in the network traffic, revealing that a machine has been compromised. Sensitive company information has been stolen. Your task is to use Network Capture (PCAP) files and Threat Intelligence to investigate the incident and determine how the breach occurred.

Mamy do dyspozycji zrzut ruchu sieciowego w postaci pliku PCAP. Scenariusz nie podaje wielu szczegółów, oprócz tego, że istotne jest tu również szersze wykorzystanie narzędzi Cyber Threat Intelligence, aby zidentyfikować przyczynę uzyskania dostępu do hosta przez atakujących i uzyskać szerszy kontekst.

Do tego celu użyłem sprawdzonego Wiresharka oraz m.in. narzędzi VirusTotal, Cisco Talos oraz AbuseIPDB.

Pytanie 1
#

Which IP address was used by the attacker during the initial access?

Aby z samego zrzutu PCAP (z kilkoma tysiącami pakietów) zidentyfikować adres IP atakującego, potrzeba szerszego kontekstu. Ręczne sprawdzanie i scrollowanie ściany pakietów to marnowanie cennego czasu. Scenariusz nie podał żadnych szczegółów, więc potrzebujemy kontekstu i wstępnych informacji, na których będzie można się skupić. W tym celu wykorzystałem zakładkę Statistics, gdzie znajdują się informacje m.in. o ilości wysłanych pakietów przez poszczególne hosty, liczbie danych wysyłanych w jednostce czasu czy najczęściej wykorzystywanych protokołach. Timeline zrzutu pokazał, że ok. 62 sekundy od momentu rejestracji przez Wireshark wystąpił wyraźny i odstający od reszty wzrost liczby pakietów wysłanych w czasie.

danabot_spike

Najwięcej danych zostało przesłanych z adresu 188[.]114[.]97[.]3 do 10[.]2[.]14[.]101.

danabot

Co jeszcze ciekawsze, host 10[.]2[.]14[.]101 komunikował się z wieloma różnymi adresami IP. Poniżej fragment listy.

danabot_sus

Poniżej statystyki hostów z liczbą pakietów, które wysłały.

danabot_packets

Ze względu na znaczącą ilość danych przesłanych przez 10[.]2[.]14[.]101 zastosowałem filtr ip.addr==10[.]2[.]14[.]101, aby wyświetlić związany z nim ruch. Host 10[.]2[.]14[.]101 już na samym początku wysłał zapytanie DNS o adres IP domeny portfolio[.]serveirc[.]com. W odpowiedzi otrzymał adres 62[.]173[.]142[.]148, a następnie wymieniał z nim dane. Domena wydała mi się podejrzana, głównie przez wyraz „portfolio". Sprawdziłem więc zarówno IP, jak i domenę w VirusTotal.

danabot_dns

danabot_answer

Analiza w VT wykazała, że host 10[.]2[.]14[.]101 komunikował się ze złośliwą domeną.

danabot_vt

Poniżej analiza adresu IP w VT. Został oznaczony jako złośliwy przez jednego vendora.

danabot_vt_ip

Dodatkowa analiza za pomocą AbuseIPDB wykazała, że adres był wcześniej zgłaszany jako wykorzystywany w atakach.

danabot_abuse

Poniżej screen z Cisco Talos. Domena jest oznaczona jako niezaufana i złośliwa.

danabot_talos

Wracając do samych pakietów, znalazłem również zapytanie GET wysłane przez hosta 10[.]2[.]14[.]101 do uzyskanego wcześniej adresu 62[.]173[.]142[.]148. Zapytanie dotyczyło pliku login.php.

danabot_http_loign_file

Wireshark umożliwia „wydobycie" plików, które zostały pobrane m.in. przez protokół HTTP. Zapisałem więc plik na wyizolowanej maszynie wirtualnej i za pomocą narzędzia HashMyFiles uzyskałem hash MD5 i wrzuciłem go do VirusTotal.

donabot_vt_php

Analiza w VT potwierdziła, że login.php to tak naprawdę złośliwy plik JavaScript z kategorii „downloaderów". Dane z MITRE ATT&CK wskazały, że plik wykorzystuje m.in. technikę T1071 oraz T1095 do komunikacji z serwerem, zapewne pobierając dodatkowy malware. W szczegółach podana została informacja, że malware wysyła zapytania DNS.

danabot_vt_troj

donabot_dns_lp

Ponownie patrząc na pakiety, widzimy, że tuż po pobraniu złośliwego skryptu JS wysyłane są zapytania DNS o domeny wpad[.]localdomain, client[.]wns[.]windows.com oraz ogs[.]google[.]com. Pierwsza z nich nie ma wyników w VT, a host nie otrzymał jej adresu IP.

donabot_dns_miss

Do domeny client[.]wns[.]windows.com należał adres 20[.]90[.]153[.]243. Według zgłoszeń w AbuseIPDB adres był w przeszłości wykorzystywany w złośliwych działaniach.

danabot_ip2

Co ciekawe, w VirusTotal wyżej wspomniana domena nie została oznaczona przez żadnego vendora, ale w zakładce „Community" jest ponad 300 komentarzy wskazujących na jej wykorzystywanie w przeszłości do złośliwych operacji. Trzecia domena natomiast, ogs[.]google[.]com, nie została oznaczona jako złośliwa w AbuseIPDB, Cisco Talos oraz VirusTotal bądź nie było jej w bazie danych.

danabot_ipgoogle

Biorąc powyższe informacje pod uwagę, złośliwy adres IP pod kontrolą atakującego to 62[.]173[.]142[.]148. Poniżej fragment komunikacji z tym hostem. Po uzyskaniu złośliwego skryptu połączenie zostało zakończone (FIN).

danabot_mal_ip

Odpowiedź: 62[.]173[.]142[.]148

Pytanie 2
#

What is the name of the malicious file used for initial access?

Plik został zidentyfikowany jako login.php, który zgodnie z VirusTotal jest skryptem JS i oznaczony jako „downloader" - jego zadaniem jest pobranie dodatkowego malware’u.

MD5: 5daf53bf848bb4cda008a655bdecf425 SHA256: 847b4ad90b1daba2d9117a8e05776f3f902dda593fb1252289538acf476c4268

Plik jest jednolinijkowym skryptem z zastosowaną obfuskacją. Najprawdopodobniej jedną z technik jest wykorzystanie kodowania Base64, na co dowodem może być obecność alfabetu Base64 w kodzie (zaznaczone poniżej). Dla lepszej czytelności zastosowałem „word wrap" w Notepad++.

danabot_alphabet_b64

Poniżej techniki używane przez malware zgodnie z MITRE ATT&CK.

danabot_mitre_att

Zgodnie ze szczegółami techniki T1071 malware komunikuje się ze złośliwą domeną soundata[.]top. W zrzucie PCAP zostało zarejestrowane zapytanie DNS o nią, co stanowi dowód na uruchomienie skryptu na hoście 10[.]2[.]14[.]101.

danabot_dns_look_soundata

danabot_dns_soundata

Zapytanie GET o zasób login.php nastąpiło tuż po uzyskaniu adresu IP domeny portfolio[.]serveirc[.]com, co sugeruje, że plik był częścią etapu initial access. Zrzut nie zawierał jednak wcześniejszego ruchu sieciowego, co nie daje pełnego obrazu okoliczności (mail phishingowy? zdalny dostęp do hosta?), w jakich 10[.]2[.]14[.]101 wysłał zapytanie DNS o złośliwą domenę. Dodatkowo faktyczna nazwa skryptu to allegato_708.js - zapytanie GET było więc o login.php, ale zasób został zapisany jako allegato_708.js.

danabot_real_name

Odpowiedź: allegato_708.js

Pytanie 3
#

What is the SHA-256 hash of the malicious file used for initial access?

Hash SHA256 uzyskałem za pomocą HashMyFiles.

Odpowiedź: 847b4ad90b1daba2d9117a8e05776f3f902dda593fb1252289538acf476c4268

Pytanie 4
#

Which process was used to execute the malicious file?

Użyto procesu wscript do uruchomienia skryptu. wscript.exe (Windows Script Host) to wbudowany interpreter skryptów w systemie Windows, obecny w każdej instalacji od Windows 98. Służy do uruchamiania skryptów napisanych w językach takich jak VBScript czy JS. Ponieważ jest podpisany cyfrowo przez Microsoft, nieodpowiednio skonfigurowane narzędzia bezpieczeństwa mogą go przepuszczać. To przykład ataku metodą „Living off the Land". Poniżej fragment kodu z nazwą narzędzia oraz informacje z VT.

danabot_code

danabot_wscript

danabot_wscript2

Odpowiedź: wscript.exe

Pytanie 5
#

What is the file extension of the second malicious file utilized by the attacker?

Ponownie wchodzimy na listę pobranych plików w zakładce Export objects -> HTTP. Na liście pobranych zasobów zidentyfikowałem kolejny podejrzany plik - bibliotekę DLL resources.dll. Poniżej widoczny adres URL ze złośliwą domeną soundata[.]top.

danabot_get_dll

Poniżej lista pobranych plików.

danabot_file_list

Poniżej analiza domeny soundata[.]top. Zgodnie z danymi była wykorzystywana przez malware DANABOT, stosowany głównie w atakach na sektor finansowy.

danabot_vt_stop

Tak jak w przypadku login.php, wyeksportowałem plik i uzyskałem hash resources.dll.

MD5: e758e07113016aca55d9eda2b0ffeebe SHA256: 2597322a49a6252445ca4c8d713320b238113b3b8fd8a2d6fc1088a5934cee0e

Poniżej podstawowe informacje o pliku z PE Studio.

danabot_pe_studio

Poniżej fragment raportu w VT nt. biblioteki DLL.

DLL_VT_analysis_short

Fragment macierzy MITRE ATT&CK z opisem technik użytych przez bibliotekę DLL. Istotna jest taktyka Collection oraz 6 technik związanych z eksfiltracją danych: T1005, T1056, T1113, T1119, T1185.

danabot_mitre

Odpowiedź DNS wskazała, że adres IP domeny soundata[.]top to 188[.]114[.]97[.]3. Zaznaczony pierwszy fragment to proces przesyłania złośliwej biblioteki DLL na hosta ofiary. Eksfiltracja danych z hosta ofiary rozpoczęła się o godz. 16:28:44 UTC (drugi spike) na adres 195[.]133[.]88[.]98.

danabot_stats

danabot_exfiltration2

Poniżej analiza adresu IP, do którego malware wysyłał zaszyfrowane dane podczas procesu eksfiltracji.

danabot_c2_ip

danabot_reputation

Poniżej analiza adresu IP domeny soundata[.]top w VT.

danabot_soundata_ip

Odpowiedź: .dll

Pytanie 6
#

What is the MD5 hash of the second malicious file?

Hash MD5 uzyskałem za pomocą narzędzia HashMyFiles.

Odpowiedź: e758e07113016aca55d9eda2b0ffeebe

Podsumowanie
#

Faza 1 - Initial Access
#

Host 10.2.14.101 odpytał domenę portfolio[.]serveirc[.]com (oznaczona jako złośliwa w VirusTotal i Cisco Talos) i nawiązał połączenie przez HTTP z serwerem atakującego 62[.]173[.]142[.]148.

Faza 2 - Delivery, Execution
#

Pobrany plik allegato_708.js (login.php) - zaobfuskowany skrypt JavaScript z kategorii „downloader", uruchomiony przez proces wscript.exe.

MD5: 5daf53bf848bb4cda008a655bdecf425

Faza 3 - C2
#

Skrypt nawiązał kontakt z domeną C2 soundata[.]top i pobrał bibliotekę resources.dll - właściwy moduł Danabot odpowiedzialny za kradzież danych.

MD5: e758e07113016aca55d9eda2b0ffeebe

Faza 4 - Eksfiltracja danych
#

DanaBot należy do kategorii trojanów bankowych, których głównym celem jest kradzież poświadczeń, danych sesji bankowych oraz innych informacji o charakterze poufnym. Przeprowadzona analiza ujawniła podejrzaną aktywność sieciową hosta 10[.]2[.]14[.]101 - o godzinie 16:28:44 UTC zarejestrowano gwałtowny wzrost liczby pakietów skierowanych do 195[.]133[.]88[.]98, figurującego w bazach VirusTotal (VT) i AbuseIPDB jako złośliwy adres. Charakter i skala wysyłanych danych, a także cechy malware’u Danabot wskazują, że doszło do eksfiltracji danych.

IOC
#

IP: 62[.]173[.]142[.]148 IP: 195[.]133[.]88[.]98 IP: 20[.]90[.]153[.]243 Domena: portfolio[.]serveirc[.]com Domena: wpad[.]localdomain Domena: client[.]wns[.]windows.com Domena: soundata[.]top MD5: e758e07113016aca55d9eda2b0ffeebe MD5: 5daf53bf848bb4cda008a655bdecf425

Related

Network Forensics - PsExec Lateral Movement
·1235 słów·6 min
Blueteam Forensics Wireshark Lateral-Movement
Analiza zrzutu ruchu sieciowego PCAP z wykorzystaniem Wiresharka. Identyfikacja nieautoryzowanego dostępu i lateral movement z wykorzystaniem narzędzia PsExec w środowisku Windows - rekonstrukcja kolejnych etapów ataku, identyfikacja skompromitowanych hostów oraz zastosowanych technik.
LLMNR/NBT-NS Poisoning (T1557.001)
·1793 słów·9 min
Blueteam Forensics Wireshark Windows
Analiza złośliwego ruchu sieciowego w AD - T1557.001
Android forensics - ALEAPP
·890 słów·5 min
Blueteam Forensics DFIR
Analiza zrzutu systemu Android z wykorzystaniem ALEAPP. Korelacja artefaktów oraz rekonstrukcja aktywności użytkownika na podstawie danych systemowych i aplikacyjnych.