IHU Cybersecurity Exam Notes

Source: Juni_2026_Exams/Advance_Forensics/notes/14-exam-day-open-notes-reference.md

Exam-Day Open-Notes Reference

Use This First

For every question:

  1. Identify what is being asked.
  2. Select the tool and evidence source.
  3. Preserve the original output before adding filters.
  4. Record exact paths, APIs, PID/TID values, and raw results.
  5. Take a readable screenshot.
  6. Answer directly, then explain why the evidence supports it.

Do not copy example PID/TID values into your answer. Use values from your run.

Safe Lab Setup

Fast Tool Selection

Question asks about Start with Confirm with
File type/architecture CFF Explorer DiE, TrID, magic bytes
Packed/obfuscated DiE entropy/detection PEiD, sections, imports, strings
Imports/exports CFF Explorer Dependency Walker
Embedded files Resource Hacker Hash, magic bytes, CFF Explorer
Files created/deleted ProcMon Filesystem inspection
Registry changes ProcMon, Regshot Regedit, Autoruns
Processes/parents Process Hacker ProcMon Process Tree
Threads/TIDs ProcMon Process Hacker Threads tab
Runtime APIs APIMiner API Monitor, ProcMon behavior
Process injection APIMiner Process Hacker memory/modules
Persistence Autoruns ProcMon, registry, tasks/services
Network behavior FakeNet, Wireshark Strings/imports, ApateDNS
Memory layout Process Hacker, VMMap CFF Explorer PE fields

Initial Sample Record

Sample:
Full path:
File size:
SHA-256:
VM snapshot:
Execution privilege:
Analysis start time:
Network mode:

PowerShell:

Get-FileHash C:\Temp\sample.exe -Algorithm SHA256
Get-Item C:\Temp\sample.exe | Select Name,Length,CreationTime,LastWriteTime

Search VirusTotal by hash before uploading. Do not upload confidential samples unless explicitly permitted.

Static PE Triage

CFF Explorer

Inspect:

DOS Header
  e_magic       -> MZ signature
  e_lfanew      -> offset to PE header

NT Headers / File Header
  Machine       -> x86/x64 architecture
  NumberOfSections
  TimeDateStamp -> can be forged
  Characteristics -> EXE/DLL/32-bit flags

Optional Header
  Magic         -> 010B PE32, 020B PE32+
  AddressOfEntryPoint
  ImageBase
  SectionAlignment
  FileAlignment
  SizeOfImage
  Subsystem

Section Headers
  Name
  VirtualSize
  SizeOfRawData
  Characteristics/permissions

Import Directory
Export Directory
Resource Directory

Useful calculations:

VA = actual ImageBase + RVA
RVA = VA - actual ImageBase

Magic bytes:

MZ: 4D 5A
PE signature: 50 45 00 00

Packing Decision

Do not rely on one indicator.

Indicator Meaning
Entropy near 8 Supports compression/encryption/packing
PEiD/DiE packer signature Supports identified packer
UPX/custom section names Possible packer
Large virtual/raw-size difference Possible unpacking at runtime
Very few imports APIs may be hidden/resolved dynamically
Few meaningful strings Content may be compressed/encrypted
Entry point in unusual section Possible unpacking stub

Good conclusion:

The file is likely packed. DiE reports entropy of [value], the section
layout shows [indicator], and [PEiD/DiE] identifies [packer/signature].
High entropy alone would not prove maliciousness, but these indicators
together support packing.

Strings and Imports

Look for:

Important API categories:

Behavior APIs/imports
Files CreateFile, WriteFile, DeleteFile, MoveFile
Registry RegCreateKey, RegSetValue, RegDeleteValue
Processes CreateProcess, OpenProcess, TerminateProcess
Services OpenSCManager, CreateService, StartService
Network sockets socket, connect, send, recv
HTTP/download InternetOpen, HttpSendRequest, URLDownloadToFile
Dynamic imports LoadLibrary, GetProcAddress
Evasion IsDebuggerPresent, CheckRemoteDebuggerPresent

Static imports suggest capability, not confirmed runtime behavior.

ProcMon Quick Guide

Clean Capture

Ctrl+E -> stop/start capture
Ctrl+X -> clear existing events
Ctrl+L -> filters
Tools -> Process Tree
Options -> Select Columns

Recommended columns:

Basic workflow:

  1. Stop capture.
  2. Clear events.
  3. Add Process Name is sample.exe → Include.
  4. Start capture.
  5. Execute the sample.
  6. Stop capture.
  7. Save the complete PML trace.
  8. Apply question-specific filters.

Useful Operations

Activity ProcMon operations
File create/open CreateFile
File content written WriteFile
Rename SetRenameInformationFile
Delete SetDispositionInformationFile
Registry key creation RegCreateKey
Registry value set RegSetValue
Process creation Process Create
Thread activity Operations containing Thread
DLL/EXE load Load Image
Network TCP Connect, TCP Send/Receive, UDP Send/Receive

Useful filters:

Process Name is sample.exe                 Include
Path begins with C:\Temp                   Include
Operation is CreateFile                    Include
Operation is WriteFile                     Include
Operation contains Thread                  Include
Category is Write                          Include
Result is ACCESS DENIED                    Include

CreateFile can open an existing file. Check Detail, following WriteFile events, and whether the path existed before execution.

APIMiner and API Monitor

The 2025 VM answer used:

C:\Users\IEUser\Desktop\APIMiner.lnk --app C:\Temp\sample.exe

Preserve every generated trace. Search API names and inspect nearby calls and arguments. Do not prove injection from a single API.

Process-Injection Cheat Sheet

Four Exam Stages

Stage Purpose Common APIs
1. Find/open target Select process and obtain handle CreateToolhelp32Snapshot, Process32First/Next, OpenProcess
2. Prepare memory Allocate and make memory usable/executable VirtualAllocEx, VirtualAlloc, VirtualProtect(Ex), NtAllocateVirtualMemory
3. Write/map payload Place DLL path, shellcode, or PE in target WriteProcessMemory, NtCreateSection, NtMapViewOfSection, NtUnmapViewOfSection
4. Execute Start or redirect a target thread CreateRemoteThread, NtCreateThreadEx, CreateThread, QueueUserAPC, SetThreadContext, ResumeThread

Privilege-related APIs:

OpenProcessToken
LookupPrivilegeValueW
AdjustTokenPrivileges

Classic DLL Injection

CreateToolhelp32Snapshot / Process32First / Process32Next
-> OpenProcess
-> VirtualAllocEx
-> WriteProcessMemory (DLL path)
-> GetModuleHandle / GetProcAddress (LoadLibrary)
-> CreateRemoteThread

Shellcode Injection

OpenProcess
-> VirtualAllocEx
-> WriteProcessMemory (raw shellcode)
-> VirtualProtectEx if needed
-> CreateRemoteThread

Section Mapping / Hollowing Indicators

CreateProcess with CREATE_SUSPENDED
NtCreateSection
NtMapViewOfSection
NtUnmapViewOfSection
GetThreadContext
SetThreadContext
ResumeThread

Strong Explanation

The trace supports process injection because the sample first [found/opened]
the target using [APIs], then prepared target memory using [APIs], placed or
mapped the payload using [APIs], and finally initiated execution using [APIs].
The sequence and cross-process parameters are stronger evidence than any
single API call.

Process Hacker Quick Guide

Inspect:

For injection:

PID and TID values change on every run.

Persistence Paths and Commands

Startup Folders

User:
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

All users:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

Shortcuts:
shell:startup
shell:common startup

Run/RunOnce Keys

HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKU\<SID>\Software\Microsoft\Windows\CurrentVersion\Run

Commands:

reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run
wmic useraccount get name,SID

Services

Registry:
HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>

Important values:
ImagePath
Start
ServiceDll
ObjectName

Event logs:
System Event ID 7045
Security Event ID 4697

Commands:

sc query
sc qc <ServiceName>
reg query HKLM\SYSTEM\CurrentControlSet\Services\<ServiceName>

Scheduled Tasks

Files:
C:\Windows\System32\Tasks

Registry:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache

Commands:

schtasks /query /fo list /v

Other Persistence

BootExecute:
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\BootExecute
Normal value commonly includes: autocheck autochk *

AppInit:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\LoadAppInit_DLLs

SilentProcessExit / IFEO:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

Persistence conclusion:

Persistence is supported by [artifact] at [exact path]. The value/task/service
[name] launches [executable and arguments] when [trigger]. Autoruns/ProcMon
confirmed [corroboration]. The referenced file [exists/does not exist] at
[path].

Network Analysis

FakeNet Workflow

  1. Restore snapshot.
  2. Start FakeNet before the sample.
  3. Start Wireshark on the isolated adapter.
  4. Execute the sample.
  5. Record DNS requests, HTTP requests, destination ports, timing, and payloads.
  6. Stop capture and save the PCAP.

Useful Indicators

Observation Possible meaning
Many high-entropy domains DGA
Repeated periodic DNS requests Beaconing/DGA
Many NXDOMAIN responses Generated inactive domains
%, =, query parameters in strings HTTP C2 formatting
socket/connect/send/recv Socket communication capability
InternetOpen/HttpSendRequest WinINet HTTP behavior

Wireshark display filters:

dns
dns.flags.rcode == 3
http
tls
tcp.stream eq <number>
ip.addr == <address>

For TLS decryption:

Wireshark -> Edit -> Preferences -> Protocols -> TLS
Set (Pre)-Master-Secret log filename to the provided SSL key log.

Registry Hive Loading - Supplemental

If an offline-registry question appears:

  1. Export the hive with .LOG1 and .LOG2.
  2. Load the working copy in Registry Explorer.
  3. Record whether transaction logs were replayed.
  4. For SYSTEM, read Select\Current.
  5. If Current = 1, use ControlSet001; if 2, use ControlSet002.
  6. Report both logical and offline paths.

Common hives:

C:\Windows\System32\config\SOFTWARE
C:\Windows\System32\config\SYSTEM
C:\Windows\System32\config\SAM
C:\Users\<user>\NTUSER.DAT
C:\Users\<user>\AppData\Local\Microsoft\Windows\UsrClass.dat

Verified 2025 Example Answers

These are examples from the uploaded answer PDF. Verify all results in your own exam run.

Example 1: Type and Packing

The sample is a 32-bit Windows Portable Executable. CFF Explorer identifies
the PE32 structure. DiE reports entropy of 7.99488, close to the maximum of 8,
and [additional section/signature evidence]. These indicators support that the
file is packed.

Evidence: Figure 1 (CFF Explorer) and Figure 2 (DiE Entropy).

Example 2: Created Files

The 2025 answer reported:

C:\Temp\old_sample.exe
C:\Temp\ui\
C:\Temp\ui\SwDRM.dll
C:\Temp\ui\IPHLPAPI.DLL
C:\Temp\ui\WINNSI.DLL
C:\Temp\ui\powrprof.dll
C:\Temp\ui\config.json

Answer form:

ProcMon shows that sample.exe created [items] under C:\Temp. The artifacts
were short-lived and were later deleted, as shown by [delete operation].
Figure [X] shows the process-name and C:\Temp path filters with the relevant
operations.

Example 3: Injection

The API trace supports process injection:

1. Target discovery/opening: [APIs and target].
2. Memory/privilege preparation: [APIs and parameters].
3. Payload mapping/writing: [APIs and target addresses].
4. Thread execution/manipulation: [APIs and TID/target].

The ordered cross-process sequence confirms the behavior more strongly than
any individual API.

The verified 2025 answer used:

Stage 1: CreateToolhelp32Snapshot, OpenProcess
Stage 2: LookupPrivilegeValueW, AdjustTokenPrivileges,
         VirtualAlloc, VirtualProtect
Stage 3: NtCreateSection, NtMapViewOfSection, NtUnmapViewOfSection
Stage 4: CreateThread, GetThreadContext, SetThreadContext

Example 4: Thread IDs

ProcMon, filtered with Operation contains Thread, shows [count] distinct
threads with IDs [your TIDs]. Figure [X] displays the filtered events and TID
column.

The old answer reported 3608, 3424, 1176, and 2684; do not reuse them.

Universal Answer Template

Question [number]: [short title]

Direct answer:
[One or two sentences answering exactly what was asked.]

Tool and method:
[Tool/version, command, filters, or navigation.]

Evidence:
- Source/path/API:
- Raw result:
- PID/TID/address where relevant:
- Screenshot: Figure [number]

Interpretation:
[Explain why the evidence supports the answer.]

Corroboration:
[Second tool/artifact, if available.]

Limitation:
[What this evidence does not prove or any uncertainty.]

Screenshot Checklist

Every screenshot should show:

Use captions:

Figure 1. DiE identifies sample.exe as PE32 and reports entropy of [value].
Figure 2. ProcMon shows sample.exe creating [file] under C:\Temp.
Figure 3. APIMiner records [API] against target PID [PID].

Do not submit:

Final Ten-Minute Review