https://tryhackme.com/room/windowsinternals
Task 1 Introduction
Keine Fragen in diesem Task.
Task 2 Processes
Frage 1:
Open the provided file: „Logfile.PML“ in Procmon and answer the questions below.
Die Datei befindet sich im Desktop-Ordner „Process Monitor“. Zuerst starten wir das Programm „Procmon“, welches sich im selben Ordner befindet. Dann gehen wir auf FIle > Open und öffnen die „Logfile.PML“.
Antwort 1:
Keine Antwort benötigt.
Frage 2:
What is the process ID of „notepad.exe“?
Wir drücken STRG+T, so öffnet sie die Tree-Ansicht. Scrollen wir nun etwas herunter finden wir auch gleich die gesuchte „notepad.exe“.

Antwort 2:
5984
Frage 3:
What is the parent process ID of the previous process?
Der Parent Process ist in diesem Fall „Explorer.exe“ und 6 Zeilen über „notepad.exe“, aus Frage 1, zu finden.
Antwort 3:
3412
Frage 4:
What is the integrity level of the process?
Wir haben noch „notepad.exe“ in der Tree-Ansicht ausgewählt und drücken auf „Go to process“ im selben Fenster, danach schließen wir das Fenster. Im regulären Programm haben wir jetzt die „notepad.exe“ ausgewählt. Hier doppelklicken wir darauf und es öffnet sich ein neues Fenster. Im neuen Fenster wählen wir den Reiter „Process“ und finden unsere Anwort.

Antwort 4:
High
Task 3 Threads
Frage 1:
What is the thread ID of the first thread created by notepad.exe?
Wir haben ja noch immer unser Fenster aus dem vorherigen Task offen und „notepad.exe“ markiert. Direkt darunter sehen wir auch den Notepad-Thread und seine ID.

Antwort 1:
5908
Frage 2:
What is the stack argument of the previous thread?
Wir doppelklicken jetzt auf den „notepad.exe“ Thread und es öffnet sich ein neues Fenster. In diesem Fenster wählen wir den Reiter „Event“, nicht von „Stacks“ verwirren lassen. Das Stack Argument wird unter dem Punkt „Thread“ gelistet.

Antwort 2:
6584
Task 4 Virtual Memory
Frage 1:
What is the total theoretical maximum virtual address space of a 32-bit x86 system?
Antwort 1:
2 GB
Frage 2:
What default setting flag can be used to reallocate user process address space?
Antwort 2:
increaseUserVA
Frage 3:
What is the base address of „notepad.exe“?
Wieder im Process Manager drücken wir STRG+F für die Suche. Im Suchfeld geben wir „Load Image“ ein und suchen, bis wir „notepad.exe“ mit „Load Image“ finden.

Doppelklichen und auf den Reiter „Process“ wechseln, dort finden wir die gesuchte Adresse.

Antwort 3:
0x7ff652ec0000
Task 5 Dynamic Link Libraries
Frage 1:
What is the base address of „ntdll.dll“ loaded from „notepad.exe“?
Wir öffnen wieder die Suche mit STRG+F und suchen nach „ntdll.dll“. Das Ergebnis zeigt uns wieder auf „notepad.exe“, hierauf klicken wir doppelt und öffnen das Fenster. Im „Process“-Reiter sehen wir unten die Adresse.

Antwort 1:
0x7ffd0be20000
Frage 2:
What is the size of „ntdll.dll“ loaded from „notepad.exe“?
Im selben Fenster, wie bei Frage 1, sehen wir auch die Größe.

Antwort 2:
0x1ec000
Frage 3:
How many DLLs were loaded by „notepad.exe“?
Wir öffnen den Filter mit STRG+L, um zwei Filter zu setzen, die uns die Suche erleichtern. Zuerst wählen wir im ersten Dropdown Menü „Operation“ aus und geben im Textfeld „Load Image“ ein. Dies bestätigen wir mit „Add“ und ggf. „Yes“.

Die Zweite Filteroption ist „Process Name“ und im Textfeld „notepad.exe“. Auch hier drücken wir wieder auf „Add“ und ggf. auf „Yes“.

Wir bestätigen alles mit „OK“ und erhalten 53 Ergebnisse. Von diesen 53 Ergebnissen müssen wir 2 nicht-DLLs abziehen, die in unserer Liste auftauchen. Einmal ist das „notepad.exe“ selbst und schließlich noch „winspool.drv“

Antwort 3:
51
Task 6 Portable Executable Format
Frage 1:
What PE component prints the message „This program cannot be run in DOS mode“?
Antwort 1:
DOS Stub
Frage 2:
What is the entry point reported by DiE?
Hier öffnen wir den Desktop-Ordner „die_win64_portable_3.03“ und starten das Programm „die“. Bei „File Name“ geben wir folgenden Pfad ein“C:/Windows/notepad.exe“, alternativ kann man auch auf die drei Punkte klicken und zu „notepad.exe“ navigieren.

Antwort 2:
000000014001acd0
Frage 3:
What is the value of „NumberOfSections“?
Den Wert finden wir unter „Sections“.
Antwort 3:
0006
Frage 4:
What is the virtual address of „.data“?
Dafür müssen wir auf den „PE“ Knopf drücken. Daraufhin öffnet sich ein neues Fenster und im linken Menü navigieren wir zu „Strings“. Rechts sehen wir dann verschiedene Werte, inklusive unseren gesuchten“virtual address“ Wert von .data.

Antwort 4:
00024000
Frage 5:
What string is located at the offset „0001f99c“?
Wieder zurück bei Detect it Easy drücken wir nun rechts auf „Strings“ und scrollen herunter, bis wir unseren gesuchten String gefunden haben.

Antwort 5:
Microsoft.Notepad
Task 7 Interacting with Windows Internals
Frage 1:
Enter the flag obtained from the executable below.
Wir starten eine Kommandozeile (Rechtsklick auf das WIndows Symbol in der Task-Leiste > run > cmd > ENTER) und navigieren zum Verzeichnis der Datei und starten diese.
C:\Users\THM-Attacker>cd desktop\Process Injection POC
C:\Users\THM-Attacker\Desktop\Process Injection POC>inject-poc.exe
Danach begrüßt uns die Flag:

Antwort 1:
THM{1Nj3c7_4lL_7H3_7h1NG2}
Task 8 Conclusion
Keine Fragen in diesem Task.