root@echelon:~# cat /var/log/htb/watchmans-residue-walkthrough.md
// WALKTHROUGH

[*] Holmes 2025 2: The Watchman's Residue - Walkthrough

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
Odpowiedź: 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.

Hostname maszyny
Hostname maszyny w TCP Stream
Odpowiedź: WATSON-ALPHA-2

3. What was the first message the attacker sent to the AI chatbot?

Pierwsza wiadomość do chatbota
Pierwsza wiadomość atakującego
Odpowiedź: 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?

Odpowiedź: 2025-08-19 12:02:06

5. What is the Remote management tool Device ID and password?

Odpowiedź: 565963039:CogWork_Central_97&65

6. What was the last message the attacker sent to MSP-HELPDESK-AI?

Odpowiedzi 4, 5, 6
Prompt injection i wyciek danych RMM
Odpowiedź: 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?

Czas dostępu zdalnego
Logi połączeń TeamViewer
Odpowiedź: 2025-08-20 09:58:25

8. What was the RMM Account name used by the attacker?

Odpowiedź: 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\."
Wewnętrzny adres IP
Adres IP atakującego w logach
Odpowiedź: 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.

Ścieżka narzędzi
Lokalizacja narzędzi atakującego
Odpowiedź: 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

UserAssist - czas działania narzędzia
Analiza UserAssist w Registry Explorer
Odpowiedź: 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

Export USNJournal
Eksport danych z USNJournal

I interesująca nas informacja:

Czas wykonania mimikatz
Timestamp wykonania mimikatz
Odpowiedź: 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).

Początek eksfiltracji
Logi wysyłania plików przez TeamViewer
Odpowiedź: 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ę:

Przeniesienie bazy danych
Timestamp przeniesienia bazy Heisen-9
Odpowiedź: 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.

Dostęp do pliku txt
Odczyt pliku z wynikami mimikatz
Odpowiedź: 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.

Mechanizm persistencji
Manipulacja WinLogon - persistencja
Odpowiedź: 2025-08-20 10:13:57

17. What is the MITRE ID of the persistence subtechnique?

Powyższa technika to Autostart persistence.

Odpowiedź: T1547.004

18. When did the malicious RMM session end?

Poniższe nie wymaga objaśnienia :)

Koniec sesji RMM
Zakończenie złośliwej sesji TeamViewer
Odpowiedź: 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.

Ekstrakcja hasha KeePass
Ekstrakcja hasha z keepass2john

Uruchamiamy program do łamania haseł, tym razem wybrałem John the Ripper, ale równie dobrze można wykorzystać np. hashcat.

Łamanie hasła
Łamanie hasła KeePass z John the Ripper

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.

Dostęp do bazy KeePass
Odczyt credentials z bazy KeePass
Odpowiedź: 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
« POWRÓT DO LISTY ARTYKUŁÓW

system@echelon:~# cat /etc/privacy_notice.txt

Ta strona używa Google Analytics do zbierania anonimowych informacji o ruchu na stronie. Kontynuując korzystanie z tej strony, wyrażasz zgodę na używanie plików cookie zgodnie z naszą Polityką Prywatności.