Po przerwie czas wrócić do nowego Sherlocka z Hack The Box. Dziś zadanie na poziomie Medium - Holmes 2025 2: The Watchman's Residue.
Po rozpakowaniu zawartości .zip mamy plik .pcap zawierający logi sieciowe, bazę haseł KeePass oraz obraz z KAPE.
WYKORZYSTANE NARZĘDZIA
Do rozwiązania tego zadania korzystałem z poniższych narzędzi:
- Wireshark
- kcli
- keepass2john
- Narzędzia do informatyki śledczej Erica Zimmermana
Teraz przechodzimy do analizy, zaczynamy od pliku .pcap
ANALIZA PCAP - KOMUNIKACJA Z CHATBOTEM
1. What was the IP address of the decommissioned machine used by the attacker to start a chat session with MSP-HELPDESK-AI?
Aby odpowiedzieć na to pytanie, korzystamy z poniższego zapytania, które powinno pokazać nam logi sieciowe powiązane z chatem, jak sugeruje pytanie.
http.request.method == "POST" && http.request.uri contains "/api/messages"
Po krótkiej analizie znajdujemy adres IP 10.0.69.34, który komunikuje się z innym adresem na porcie 1337, co wygląda dość nietypowo. Sprawdźmy ten adres dokładniej.
ip.src == 10.0.69.45
10.0.69.34
2. What was the hostname of the decommissioned machine?
Klikając Follow > TCP Stream możemy podejrzeć szczegóły komunikacji pomiędzy użytkownikiem a chatbotem.
WATSON-ALPHA-2
3. What was the first message the attacker sent to the AI chatbot?
Hello Old Friend
PROMPT INJECTION I WYCIEK DANYCH
Analizując komunikację, natrafimy na fragment, który da nam odpowiedzi na trzy kolejne pytania.
4. When did the attacker's prompt injection attack make MSP-HELPDESK-AI leak remote management tool info?
2025-08-19 12:02:06
5. What is the Remote management tool Device ID and password?
565963039:CogWork_Central_97&65
6. What was the last message the attacker sent to MSP-HELPDESK-AI?
JM WILL BE BACK
ANALIZA LOGÓW TEAMVIEWER
Przechodzimy do analizy logów. W katalogu Program Files znajdujemy katalog TeamViewer, który zawiera dwa pliki:
- Connections_incoming - informuje nas o sesjach użytkowników
- TeamViewer15_Logfile - zawiera logi z aplikacji TeamViewer - uwaga! nie są one w formacie UTC, tylko w lokalnej strefie czasowej - musimy mieć to na uwadze podczas analizy
Plik z sesjami daje nam odpowiedź na pytanie nr 7 i 8.
7. When did the attacker remotely access Cogwork Central Workstation?
2025-08-20 09:58:25
8. What was the RMM Account name used by the attacker?
James Moriarty
9. What was the machine's internal IP address from which the attacker connected?
Prosty grep, który wyszuka dla nas adresy IP w logach:
cat TeamViewer15_Logfile.log | grep -E "192\.|10\.|172\."
192.168.69.213
10. The attacker brought some tools to the compromised workstation to achieve its objectives. Under which path were these tools staged?
Przeszukujemy logi i tak jak podpowiada nam pytanie, możemy grepować po słowie Download i w końcu trafiamy na znany program mimikatz.
C:\Windows\Temp\safe\
NARZĘDZIA ERICA ZIMMERMANA - ANALIZA ARTEFAKTÓW
Przechodzimy do trudniejszej części zadania, gdzie będziemy musieli wykorzystać narzędzia Erica Zimmermana do informatyki śledczej. Jeżeli do tej pory o nich nie słyszałeś, rekomenduję zapoznać się z informacjami pod tym linkiem: https://ericzimmerman.github.io/#!index.md. Są niezwykle przydatne do pracy na artefaktach, w szczególności systemu Windows.
11. The attacker staged a browser credential harvesting tool on the compromised system. How long did this tool run before it was terminated? (Provide your answer in milliseconds, rounded to the nearest thousand)
Wracamy do naszego pytania. Musimy znaleźć informację, jak długo wykorzystywane było narzędzie do dumpu haseł. Wykorzystując Registry Explorer, ładujemy plik ntuser.dat ze ścieżki: The_Watchman's_Residue\TRIAGE_IMAGE_COGWORKCENTRAL\C\Users\Cogwork_Admin_
Kiedy przejdziemy do Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist, trafimy na interesującą nas informację.
8s = 8000 milisekund
8000
12. The attacker executed a OS Credential dumping tool on the system. When was the tool executed?
Szukamy informacji o wcześniej widzianym narzędziu, czyli mimikatz. Odpowiedź znajdziemy w USNJournal. Poniżej screen, jak wyciągnąć dane do formatu .csv
I interesująca nas informacja:
2025-08-20 10:07:08
EKSFILTRACJA DANYCH
13. The attacker exfiltrated multiple sensitive files. When did the exfiltration start? (UTC)
Wracamy do znanych już nam logów TeamViewera i grepujemy po słowie 'Send file'. Pamiętamy o tym, aby dostosować czas do UTC (-1 godz).
2025-08-20 10:12:08
14. Before exfiltration, several files were moved to the staged folder. When was the Heisen-9 facility backup database moved to the staged folder for exfiltration?
Analizując nasz plik .csv i wyszukując po słowie Heisen-9, natrafimy na interesującą nas informację:
2025-08-20 10:11:09
15. When did the attacker access and read a txt file, which was probably the output of one of the tools they brought, due to the naming convention of the file?
Mając świadomość, że w systemie był wykonany program mimikatz, szukamy pliku .txt. Pytanie nr 10 może nam sugerować, że plik będzie się znajdować w folderze z pobranymi narzędziami.
2025-08-20 10:08:06
PERSISTENCJA - WINLOGON
16. The attacker created a persistence mechanism on the workstation. When was the persistence setup?
Ponownie korzystając z Registry Explorera, analizujemy pliki znajdujące się w The_Watchman's_Residue\TRIAGE_IMAGE_COGWORK CENTRAL\C\Windows\System32\config_file
Następnie już w samym programie znajdujemy ścieżkę Microsoft/Windows NT/WinLogon
Dla czytelności skopiowałem do notatnika.
Natrafiamy na manipulację Userinit i plik JM.exe, który został pobrany na początku przez atakującego. Powoduje to, że za każdym razem kiedy użytkownik będzie logować się do systemu, plik JM.exe będzie wykonywany - w ten sposób atakujący uzyskał persistencję w systemie.
2025-08-20 10:13:57
17. What is the MITRE ID of the persistence subtechnique?
Powyższa technika to Autostart persistence.
T1547.004
18. When did the malicious RMM session end?
Poniższe nie wymaga objaśnienia :)
2025-08-20 10:14:27
ŁAMANIE HASŁA KEEPASS
19. The attacker found a password from exfiltrated files, allowing him to move laterally further into CogWork-1 infrastructure. What are the credentials for Heisen-9-WS-6?
Na sam koniec dochodzimy do bazy haseł programu KeePass. Na początek musimy wyciągnąć hash - wykorzystajmy program keepass2john - wynik zapisujemy do pliku.
Uruchamiamy program do łamania haseł, tym razem wybrałem John the Ripper, ale równie dobrze można wykorzystać np. hashcat.
Na samym końcu pozostaje nam wykorzystać hasło, aby dostać się do bazy. Ja wykorzystałem wersję kpcli, ale równie dobrze można skorzystać ze standardowej GUI.
Werni:Quantum1!
PODSUMOWANIE
Ten walkthrough pokazał kompleksowy atak obejmujący prompt injection na chatbota AI, wykorzystanie wycieku danych do dostępu przez TeamViewer, dumping credentials za pomocą mimikatz oraz ustanowienie persistencji poprzez modyfikację WinLogon.
Kluczowe umiejętności, które wykorzystaliśmy:
- Analiza ruchu sieciowego w Wireshark
- Analiza logów TeamViewer
- Praca z narzędziami Erica Zimmermana (Registry Explorer, MFTECmd)
- Analiza artefaktów Windows (UserAssist, USNJournal, WinLogon)
- Łamanie haseł KeePass z wykorzystaniem keepass2john i John the Ripper
- Mapowanie technik do MITRE ATT&CK