2 packs: 15% off with code BUY2. 3 or more: 20% off with code BUY3.

Free GIAC Certified Forensic Analyst GCFA Practice Questions

80 free GIAC Certified Forensic Analyst GCFA practice questions from the CertStash pack of 318, each with the correct answer and a full explanation. The rule is the same for every exam: ten free on the product page, 80 free here, all 318 in the pack, and each step includes the one before it.

Question 1

Adam, a malicious hacker has successfully gained unauthorized access to the Linux system of Umbrella Inc. Web server of the company runs on Apache. He has downloaded sensitive documents and database files from the computer.

After performing these malicious tasks, Adam finally runs the following command on the Linux command box before disconnecting. for (( i = 0;i<11;i++ )); do dd if=/dev/random of=/dev/hda && dd if=/dev/zero of=/dev/hda; done

Which of the following actions does Adam want to perform by the above command?

  1. Making a bit stream copy of the entire hard disk for later download.
  2. Deleting all log files present on the system.
  3. Wiping the contents of the hard disk with zeros.
  4. Infecting the hard disk with polymorphic virus strings.
Show answer and explanation

Correct answer: C. Wiping the contents of the hard disk with zeros.

The command loops 11 times, alternating between writing random data (dd if=/dev/random) and zeros (dd if=/dev/zero) to /dev/hda, which is the hard disk device. This pattern of overwriting with random data followed by zeros is a standard disk wiping technique used to securely erase data by making it unrecoverable. Adam is attempting to destroy forensic evidence of his activities.

Why the other options are wrong

  • A. Bitstream copying would use if=/dev/hda as the input source, not the output destination (of=/dev/hda).
  • B. Log files are specific files in directories like /var/log, not erased by directly writing to the disk device.
  • D. The command overwrites the disk with random data and then zeros, not with polymorphic virus code designed to evade detection.

Question 2

An analyst runs the Volatility 3 malfind plugin against a memory image from a workstation suspected of hosting injected malware. Which memory region characteristic is the primary condition malfind uses to report a region as possibly containing injected code?

  1. A file-backed region mapped from a DLL in System32 with PAGE_EXECUTE_WRITECOPY protection
  2. A VAD region whose protection allows both write and execute access
  3. Any region containing strings that match a loaded YARA rule
  4. A read-only region that has been paged out to the pagefile
Show answer and explanation

Correct answer: B. A VAD region whose protection allows both write and execute access

Injected code usually lands in memory that the attacker allocated with both write and execute rights, so the payload can be copied in and then run. Malfind walks each process VAD tree, flags regions whose protection string contains both EXECUTE and WRITE, focuses on private (VadS) memory, and skips regions that are empty or entirely paged out to cut false positives. Legitimately loaded images are mapped from files with PAGE_EXECUTE_WRITECOPY, which is why ordinary DLLs do not normally appear in malfind output.

Why the other options are wrong

  • A. Image-backed DLL mappings with PAGE_EXECUTE_WRITECOPY are the normal state for loaded modules and are excluded by malfind's logic.
  • C. Signature matching against YARA rules is the job of a YARA scanning plugin such as vadyarascan, not malfind's protection-based test.
  • D. Malfind deliberately skips regions that are entirely unavailable due to paging or full of zeros, and read-only memory cannot hold runnable injected code.

Question 3

An analyst parses the MFT entry for C:\Windows\System32\wbemsvc32.dll. $STANDARD_INFORMATION shows a creation time of 2019-12-07 09:10:14, while the $FILE_NAME attribute shows a creation time of 2026-03-03 14:22:09. What is the most likely explanation?

  1. The DLL shipped with a 2019 Windows build and was updated in place in 2026
  2. The $STANDARD_INFORMATION times were backdated with a timestamp-altering tool after the file arrived in 2026
  3. The system clock was set to 2019 at the moment the file was created
  4. The $FILE_NAME creation time records the last time the DLL was loaded
Show answer and explanation

Correct answer: B. The $STANDARD_INFORMATION times were backdated with a timestamp-altering tool after the file arrived in 2026

NTFS keeps creation times in both $STANDARD_INFORMATION and $FILE_NAME, but they are exposed differently. $SI values are what users see and can be modified at user level through API calls, while $FN values are handled by the kernel and normally change only through kernel-level interaction or by moving or renaming the file. An $SI creation time years earlier than the $FN creation time is therefore a classic timestomping indicator: the file arrived in 2026 and its visible dates were backdated to blend in with operating system files.

Why the other options are wrong

  • A. An in-place content update changes modification-related times; it does not explain an $SI creation time that predates the file's $FN creation.
  • C. A wrong clock affects every timestamp written at that moment, so on its own it would not open a six-year gap between the two attributes.
  • D. $FILE_NAME holds creation, modification, MFT entry change and access times; it does not record when a DLL was loaded.

Question 4

An analyst builds a file system timeline from an NTFS image with The Sleuth Kit. After running fls with the -m option and saving the output to body.txt, what does the mactime step contribute to the workflow?

  1. It carves file content from unallocated clusters so deleted data can be added to the timeline
  2. It reads the body file and sorts the time values into a chronological timeline of file activity
  3. It computes an MD5 hash of every file and writes it into the first field of each body file line
  4. It parses registry hives and event logs directly from the image and merges them with the file system data
Show answer and explanation

Correct answer: B. It reads the body file and sorts the time values into a chronological timeline of file activity

Timeline creation with The Sleuth Kit is a two-step process. First, temporal data is gathered into the pipe-delimited body file, usually with fls -m, which writes one line per file holding all of that file's times. Second, mactime reads the body file and sorts and merges the entries into a single chronological timeline written to standard output. The body file alone is an unsorted per-file list; mactime is what turns each file's separate time values into time-ordered rows showing which activity occurred at each moment.

Why the other options are wrong

  • A. Recovering content from unallocated space is a carving or icat task; mactime works only on metadata already present in the body file.
  • C. mactime does not hash anything; it only sorts the body file lines and prints their size, mode, UID, GID, inode and name beside each time, and it does not print the MD5 field at all.
  • D. mactime has no parsers for registry hives or event logs; it only sorts body file lines that other tools have produced.

Question 5

Malfind reports a private PAGE_EXECUTE_READWRITE region in explorer.exe whose first bytes are 4D 5A (MZ). The region has no mapped file, and dlllist shows no module at that base address. Which explanation best fits these findings?

  1. A DLL was loaded normally with LoadLibrary and has not yet been added to the PEB
  2. The region is a memory-mapped data file that explorer.exe opened for reading
  3. A PE file was written into the process and mapped manually, as in reflective DLL injection
  4. Windows compressed the page in memory, which changed its protection to read, write and execute
Show answer and explanation

Correct answer: C. A PE file was written into the process and mapped manually, as in reflective DLL injection

An MZ header marks the start of a Portable Executable. When a DLL loads through the Windows loader it is backed by a file on disk, receives PAGE_EXECUTE_WRITECOPY protection and is linked into the PEB module lists that dlllist walks. A PE sitting in private, writable and executable memory with no backing file and no PEB entry was copied in and mapped by the attacker's own code. Reflective DLL injection works this way, manually performing the loader's job so the module never appears as a normally loaded library.

Why the other options are wrong

  • A. A library loaded with LoadLibrary is file-backed, carries PAGE_EXECUTE_WRITECOPY protection and is linked into the PEB lists that dlllist reads.
  • B. A mapped data file is file-backed, which contradicts the absence of a mapped file, and it would not need execute permission.
  • D. Memory compression does not grant execute and write rights to a page or create a PE header in private memory.

Question 6

In MFTECmd output, a recently dropped executable shows a $STANDARD_INFORMATION creation time of 2021-06-15 10:00:00.0000000, while almost every other timestamp on the volume has non-zero digits across all seven fractional places. Why is this value worth flagging?

  1. NTFS rounds creation times to whole seconds, so the value is simply normal
  2. The value proves the file was copied from a FAT-formatted USB drive
  3. The value is a placeholder NTFS writes whenever a creation time is unknown
  4. NTFS records times in 100-nanosecond units, so an exact whole-second value suggests a time set by a tool rather than by normal file activity
Show answer and explanation

Correct answer: D. NTFS records times in 100-nanosecond units, so an exact whole-second value suggests a time set by a tool rather than by normal file activity

NTFS stores file times as FILETIME values counting 100-nanosecond intervals, which MFTECmd displays with seven fractional digits, so timestamps produced by normal activity almost always carry non-zero fractions. A creation time that lands exactly on a whole second is consistent with a value supplied by a program, such as a timestomping utility that sets only whole seconds. Velociraptor's MFT timeline artifact computes a USecZero flag for this pattern. It is a lead to check against $FILE_NAME times and the USN journal, not proof on its own.

Why the other options are wrong

  • A. NTFS keeps 100-nanosecond resolution and does not round creation times to whole seconds.
  • B. A whole-second value is not evidence of a FAT source, and copying a file gives the copy a new creation time when it is written.
  • C. A specific 2021 date and time is an explicit value written to the attribute, not an empty placeholder.

Question 7

An analyst reviewing Sysmon process creation events is building a list of expected parents for core Windows processes. Which parent process is normal for smss.exe?

  1. services.exe
  2. wininit.exe
  3. System, or another instance of smss.exe
  4. explorer.exe
Show answer and explanation

Correct answer: C. System, or another instance of smss.exe

During boot the Windows kernel hands control to the Session Manager, smss.exe, which initializes the system session and loads drivers not marked as boot-start. Because the kernel starts it, the normal parent of smss.exe is the System process, and MITRE's parent-mismatch analytic accepts only System or smss.exe as its parent. Any smss.exe started by services.exe, a user shell, or another unexpected parent suggests masquerading or process hollowing and warrants closer inspection.

Why the other options are wrong

  • A. services.exe is the Service Control Manager that starts services, and an smss.exe child of it would be abnormal.
  • B. wininit.exe is itself expected to be started by smss.exe, so it is a child rather than the parent.
  • D. explorer.exe is the user shell, and an smss.exe launched from it would strongly suggest masquerading.

Question 8

An examiner wants a body file that covers every file and directory on an NTFS partition image, not just the entries in the root directory. Which fls command produces it?

  1. fls -m C: -d ntfs.dd > body.txt
  2. fls -l -p ntfs.dd > body.txt
  3. fls -m C: -D ntfs.dd > body.txt
  4. fls -r -m C: ntfs.dd > body.txt
Show answer and explanation

Correct answer: D. fls -r -m C: ntfs.dd > body.txt

The -m option makes fls print entries in the time machine (body file) format that mactime reads, prepending the given string as the mount point, but by itself fls lists only the directory at the requested inode, which defaults to the root. Adding -r makes fls walk the whole directory hierarchy so every file and directory gets a line. fls needs -m together with -r to gather all files, and the command is run once for each partition being timelined.

Why the other options are wrong

  • A. The -d option restricts output to deleted entries only, so every allocated file would be missing from the body file.
  • B. The -l option prints a human-readable long listing rather than body file format, and without -r it does not recurse.
  • C. The -D option displays directory entries only, leaving every regular file out of the timeline.

Question 9

The Volatility 3 hollowprocesses plugin reports that the ImageBaseAddress in the PEB of a running svchost.exe does not match the process SectionBaseAddress. Why is this mismatch treated as a sign of process hollowing?

  1. The SectionBaseAddress is stored in the pagefile, so any difference proves the image was swapped to disk
  2. The PEB value is set by the kernel and the SectionBaseAddress is set by the process, so the process lied
  3. Windows changes the PEB image base every time ASLR rebases a DLL, so a mismatch shows a crash
  4. The PEB is writable by code in the process, while the SectionBaseAddress lives in kernel memory, so a mismatch shows user-mode tampering
Show answer and explanation

Correct answer: D. The PEB is writable by code in the process, while the SectionBaseAddress lives in kernel memory, so a mismatch shows user-mode tampering

The EPROCESS structure in kernel memory records where the original executable section was mapped (SectionBaseAddress). The PEB is user-mode memory that the process itself can modify. Hollowing malware unmaps or replaces the original image and often rewrites the PEB image base to point at its own payload so tools that trust the PEB are fooled. Comparing the kernel's value with the PEB's value exposes that manipulation, which is exactly the first check hollowprocesses performs.

Why the other options are wrong

  • A. SectionBaseAddress is a field of the EPROCESS kernel structure, not a pagefile record, and paging does not change either address.
  • B. This reverses the roles: the PEB is the user-mode structure malware can write, while SectionBaseAddress is held in kernel memory.
  • C. ASLR rebasing of a DLL does not alter the process executable's image base recorded in the PEB, and a crash is not indicated by this comparison.

Question 10

An administrator ran a short-lived script interpreter on a server and it exited ten minutes before memory was captured. The analyst wants to find that process, including its exit time, in the memory image. Which Volatility 3 plugin is most likely to show it?

  1. windows.psscan, because it carves EPROCESS structures by pool signature and can find processes that are no longer in the active list
  2. windows.pslist, because it keeps exited processes in the active process list until reboot
  3. windows.pstree, because it reconstructs terminated processes from their children
  4. windows.cmdline, because it records the command lines of exited processes
Show answer and explanation

Correct answer: A. windows.psscan, because it carves EPROCESS structures by pool signature and can find processes that are no longer in the active list

Pslist walks the kernel's active process list, and an exited process is removed from that list once it is torn down. The memory that held its EPROCESS structure is not wiped immediately, so psscan, which scans memory for process pool signatures instead of following the list, often still finds it, complete with create and exit times. This is why comparing psscan with pslist is a normal part of reviewing process activity: entries that appear only in psscan with an exit time usually represent recently terminated programs.

Why the other options are wrong

  • B. Exited processes are unlinked from the active process list, so pslist does not keep them until reboot.
  • C. Pstree is built from the pslist enumeration and does not rebuild terminated processes.
  • D. Cmdline reads the command line from each listed process's PEB and has no record for processes that are not enumerated.

What people say about the full Certified Forensic Analyst GCFA pack 4.8 from 19

Thank you so much!!! Passed GCFA with high score.
LaurenCertified Forensic Analyst GCFA
I passed my GCFA certification exam today. I scored A 93% marks in the exam. Highly suggest everyone to prepare for the exam with the questions and answers pdf file by Cert Stash.
EdgarCertified Forensic Analyst GCFA
I took GCFA exam recently and passed with 91% marks, the GCFA exam dumps are valid, thanks a lot and good luck!
DeliaCertified Forensic Analyst GCFA

Question 11

Within ten minutes, an Internet-facing server logs hundreds of 4625 events from one source address. Each event names a different valid domain account, and every event shows Sub Status 0xC000006A. Which activity best fits this pattern?

  1. User enumeration with guessed account names that do not exist
  2. Password spraying of one or a few common passwords across many accounts
  3. Repeated attempts to log on to accounts disabled by an administrator
  4. Brute forcing many passwords against a single privileged account
Show answer and explanation

Correct answer: B. Password spraying of one or a few common passwords across many accounts

Sub Status 0xC000006A means the account name was valid but the password was wrong. Many such failures, each against a different valid account and from one source in a short window, match password spraying: one password or a small list of common passwords tried against many accounts to avoid the lockouts that brute forcing a single account would trigger. The status code also separates spraying from enumeration, because guesses against nonexistent accounts return 0xC0000064 instead.

Why the other options are wrong

  • A. Logons with nonexistent account names fail with 0xC0000064, while these failures name valid accounts with bad passwords.
  • C. Logons to accounts disabled by an administrator fail with 0xC0000072, not 0xC000006A.
  • D. Brute forcing targets one account with many passwords, while these failures are spread across many different accounts.

Question 12

Comparing a workstation's registry to a clean build, an analyst finds that the Shell value under HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon reads explorer.exe, C:\Users\Public\svc.exe. What is the normal state of this value?

  1. It normally lists explorer.exe plus every program in the Startup folder
  2. It normally points to userinit.exe, which then launches the shell
  3. It normally points only to explorer.exe, so the appended program indicates persistence
  4. It normally points to winlogon.exe so that the shell restarts after a crash
Show answer and explanation

Correct answer: C. It normally points only to explorer.exe, so the appended program indicates persistence

Winlogon reads the Shell value to decide which shell to start when a user logs on, and on a normal system it points to explorer.exe. Because Winlogon starts whatever the value lists, attackers append their own executable after explorer.exe so that it runs at every logon while the desktop still appears normally. MITRE ATT&CK documents this as Winlogon Helper DLL persistence, including malware that sets Shell to explorer.exe followed by a malicious path. Baseline comparison of these values exposes the change.

Why the other options are wrong

  • A. Startup folder programs are a separate autostart location and are not listed in the Shell value.
  • B. userinit.exe belongs in the separate Userinit value, not in Shell.
  • D. winlogon.exe reads this value, and the value never points back to Winlogon itself.

Question 13

Examining a raw $MFT record for a deleted tool, an analyst sees header flags of 0x0000 where live files show 0x0001, yet the $STANDARD_INFORMATION, $FILE_NAME and $DATA attributes are still present. What does this mean for the timeline?

  1. The record is corrupt and its timestamps must be discarded
  2. The record describes a directory, because directories use the value 0x0000
  3. The in-use flag was cleared on deletion while the attributes remain, so the tool's names and times are recoverable until the entry is reused
  4. The record is part of the $MFTMirr backup and duplicates a live entry
Show answer and explanation

Correct answer: C. The in-use flag was cleared on deletion while the attributes remain, so the tool's names and times are recoverable until the entry is reused

Each MFT file record header carries flags in which 0x0001 marks the record segment as in use and 0x0002 marks that a file name index is present, meaning a directory. When a file is deleted, NTFS clears the in-use flag but leaves the attribute contents in place, and the entry is marked free so it may later be reused. Until reuse happens, MFT parsers can still report the deleted file's name, parent and both sets of timestamps, which is how deleted malware reappears in a timeline.

Why the other options are wrong

  • A. A cleared in-use flag is the normal state of a deleted record rather than a sign of corruption.
  • B. Directories are marked by the 0x0002 flag, so 0x0000 indicates a record that is neither in use nor a directory.
  • D. $MFTMirr holds a backup of only the first four MFT entries, not records for user files.

Question 14

A firewall team must permit PowerShell remoting from the incident response jump host to all workstations for live response. Which default ports does PowerShell remoting use for WinRM over HTTP and HTTPS?

  1. 135 and 445
  2. 80 and 443
  3. 8080 and 8443
  4. 5985 and 5986
Show answer and explanation

Correct answer: D. 5985 and 5986

PowerShell remoting uses the WS-Management protocol through the WinRM service, whose default PowerShell remoting ports are 5985 for HTTP and 5986 for HTTPS. Microsoft notes that if a connection URI names HTTP or HTTPS without a port, the standard ports 80 and 443 are used instead, so the remoting defaults must be specified explicitly in that case. Ports 135 and 445 belong to RPC and SMB, which tools such as PsExec rely on rather than WinRM.

Why the other options are wrong

  • A. Ports 135 and 445 carry RPC endpoint mapping and SMB, used by tools such as PsExec, not by WinRM.
  • B. Ports 80 and 443 are used only when a connection URI gives a transport without a port, so they are not the PowerShell remoting defaults.
  • C. Ports 8080 and 8443 are common alternate web ports with no role in WinRM.

Question 15

An insider is suspected of searching for confidential project names on a Windows workstation. Which key in the user's NTUSER.DAT records keywords the user searched for through Windows search features?

  1. Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery
  2. Software\Microsoft\Windows\CurrentVersion\Explorer\TypedPaths
  3. Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
  4. Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
Show answer and explanation

Correct answer: A. Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery

The WordWheelQuery key under the user's Explorer settings holds keywords the user searched for, which may then have led to opening files or folders or running programs. Because it sits in that user's NTUSER.DAT, the search terms are attributed to a specific account, and they can be matched with ShellBags, LNK files, and Jump Lists that show what the user went on to open. Search terms are strong evidence of intent, which is valuable in insider cases.

Why the other options are wrong

  • B. TypedPaths holds paths typed into the Explorer address bar, not search keywords.
  • C. UserAssist records programs launched through Windows Explorer, not search keywords.
  • D. RecentDocs records recently opened files and folders, not the keywords the user searched for.

Question 16

Pslist from a Windows 10 workstation with 16 GB of RAM shows about 70 svchost.exe processes, while a Windows 10 virtual machine with 2 GB of RAM shows about 20. Both run the genuine System32 binary under services.exe. What best explains the difference?

  1. The workstation is infected with a worm that clones svchost.exe
  2. The virtual machine has a rootkit hiding most of its svchost.exe processes
  3. On systems with more than 3.5 GB of RAM, Windows 10 runs most services in their own svchost.exe instead of grouping them
  4. Each logged-on user receives a separate copy of every service on high-memory systems
Show answer and explanation

Correct answer: C. On systems with more than 3.5 GB of RAM, Windows 10 runs most services in their own svchost.exe instead of grouping them

Svchost.exe hosts services implemented as DLLs. Starting with Windows 10 version 1703, systems with more than 3.5 GB of RAM split previously grouped services so that each runs in its own svchost.exe, while smaller systems keep grouping them. Typical counts are roughly 17 to 21 instances when grouped and 67 to 74 when split. Knowing this baseline keeps an analyst from treating a high svchost.exe count as malicious and focuses attention on path, parent, command line and loaded DLLs instead.

Why the other options are wrong

  • A. A large but legitimate count is expected on high-memory systems, and these instances run the genuine binary under services.exe.
  • B. Fewer instances on a low-memory system is the documented grouping behavior, not evidence of hiding.
  • D. Service splitting is based on memory size, not on the number of logged-on users.

Question 17

In a domain where accounts normally use AES, one user account requests service tickets for 40 different SPNs within two minutes. The domain controller's 4769 events for these requests show Ticket Encryption Type 0x17. Which attack is most likely?

  1. Password spraying
  2. DCSync
  3. Kerberoasting
  4. Pass the hash
Show answer and explanation

Correct answer: C. Kerberoasting

In Kerberoasting, an adversary with a valid TGT requests service tickets for SPNs, because tickets encrypted with RC4 use the service account's password hash as the key and can be cracked offline. Event 4769 records each service ticket request, and encryption type 0x17 is RC4-HMAC. A burst of RC4 ticket requests for many SPNs from one account, in an environment that normally issues AES tickets (0x11 or 0x12), is the classic signature to hunt for.

Why the other options are wrong

  • A. Password spraying produces failed logons across many accounts, not successful service ticket requests from one account.
  • B. DCSync abuses directory replication APIs to pull credential data and does not depend on requesting RC4 service tickets.
  • D. Pass the hash authenticates with a stolen NTLM hash and does not explain a burst of RC4 service ticket requests for many SPNs.

Question 18

The incident response team has turned the evidence over to the forensic team. Now, it is the time to begin looking for the ways to improve the incident response process for next time.

What are the typical areas for improvement?

Each correct answer represents a complete solution.

Choose all that apply.

  1. Information dissemination policy
  2. Additional personnel security controls
  3. Incident response plan
  4. Electronic monitoring statement
Show answer and explanation

Correct answer: A, B, C. Information dissemination policy; Additional personnel security controls; Incident response plan

After an incident, the post-incident review focuses on process improvements in three key areas: the Information Dissemination Policy (how information flows during incidents), Additional Personnel Security Controls (strengthening human factors in incident response), and the Incident Response Plan itself (updating procedures based on lessons learned). Electronic monitoring statements are compliance documentation rather than improvement areas; they describe existing monitoring practices but are not typical areas for post-incident improvement initiatives.

Why the other options are wrong

  • D. Electronic monitoring statements document existing monitoring practices and policies but are not a typical area for incident response process improvement.

Question 19

In a user's NTUSER.DAT, value names under Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count look like P:\Hfref\wqbr\Qbjaybnqf\gbby.rkr. Why do the names appear this way?

  1. They are Base64 encoded to fit the REG_BINARY data type.
  2. They are encrypted with a key derived from the user's SID.
  3. Letters in the names are obfuscated with ROT-13, which can be reversed without a key.
  4. They are stored as UTF-16 big-endian strings that the viewer misreads.
Show answer and explanation

Correct answer: C. Letters in the names are obfuscated with ROT-13, which can be reversed without a key.

The UserAssist key records programs launched through Windows Explorer, and the value names under each GUID's Count subkey are obfuscated with ROT-13 applied to ASCII letters, while digits and other characters are left unchanged. Decoding P:\Hfref\wqbr\Qbjaybnqf\gbby.rkr gives C:\Users\jdoe\Downloads\tool.exe. Parsers such as Plaso's userassist plugin decode the names automatically and also report the run count and last execution time stored in the value data, making UserAssist useful evidence of GUI program execution by that user.

Why the other options are wrong

  • A. Base64 output would not keep the drive and folder structure visible, while these names keep backslashes and length intact.
  • B. No key is involved: the letters are simply rotated by 13 places and can be reversed by anyone.
  • D. A byte order error would produce unreadable characters, not consistently shifted letters with intact punctuation.

Question 20

Adam works as a professional Computer Hacking Forensic Investigator. A project has been assigned to him to investigate a compromised system of a cyber criminal, who hides some information in his computer. This computer runs on Linux operating system. Adam wants to extract the data units of a file, which is specified by its meta-data address. He is using the Sleuth Kit for this purpose.

Which of the following commands in the Sleuth kit will he use to accomplish the task?

  1. dcat
  2. ifind
  3. icat
  4. istat
Show answer and explanation

Correct answer: C. icat

The icat command in the Sleuth Kit is used to extract and display the data content of a file based on its inode (meta-data address). It reads the data units associated with a specific inode and outputs the file contents. This is exactly what Adam needs to recover data from a file specified by its meta-data address.

Why the other options are wrong

  • A. dcat is used to display the contents of a disk block or sector, not to extract file data from an inode.
  • B. ifind is used to find the inode number associated with a file name, not to extract file data.
  • D. istat displays detailed meta-data information about an inode but does not extract the actual file data.

Question 21

The Volatility 3 sessions plugin groups processes by session and labels one group with the session type RDP-Tcp#2 and the user CORP/jlee. Where does the plugin obtain the session type and the user name?

  1. From Security event 4624 records cached in memory
  2. From the SAM hive entry for each logged-on account
  3. From each process's environment variables, such as SESSIONNAME, USERNAME and USERDOMAIN
  4. From the Remote Desktop Services configuration in the SYSTEM hive
Show answer and explanation

Correct answer: C. From each process's environment variables, such as SESSIONNAME, USERNAME and USERDOMAIN

Every process carries a session ID in its kernel structure, and its environment block records who and where it is running. The sessions plugin reads the session ID from each process, then takes the user from the USERNAME and USERDOMAIN variables and the session type from SESSIONNAME, which holds values such as Console or an RDP-Tcp#N name for Remote Desktop sessions. Grouping processes this way quickly shows which programs ran inside a remote session, a useful step when tracing interactive lateral movement.

Why the other options are wrong

  • A. The plugin does not parse event log records; it reads process environment variables.
  • B. The SAM hive stores local account data, not the session in which each process is running.
  • D. Remote Desktop configuration in the SYSTEM hive describes settings, not which processes run in which session.

Question 22

A laptop was found hibernated, and its disk was imaged. A raw keyword search of C:\hiberfil.sys finds almost none of the plain-text strings that a RAM capture of a similar running system contains. What is the most likely reason?

  1. The hibernation file stores only page tables, not memory contents
  2. Hibernation writes memory to pagefile.sys, leaving hiberfil.sys empty
  3. The hibernation file is encrypted with the user's logon password
  4. Memory is saved to the hibernation file in a compressed format, so it must be decompressed or converted before raw searching
Show answer and explanation

Correct answer: D. Memory is saved to the hibernation file in a compressed format, so it must be decompressed or converted before raw searching

When Windows hibernates, it writes the contents of memory to the hidden hiberfil.sys file in the root of the system drive so the session can be restored later. That data is compressed on the way to disk and decompressed on resume, which is why a raw string search of the file misses most text. Examiners first decompress or convert the hibernation file into a usable memory image and then analyze it like any other capture, gaining a memory snapshot from a machine that was not running when seized.

Why the other options are wrong

  • A. A hibernate transition writes all the contents of memory to the hibernation file, not just page tables.
  • B. Hibernation uses hiberfil.sys, the file that exists specifically to hold saved memory for resume.
  • C. Hibernation compresses memory contents rather than encrypting them with the user's password, which is why conversion makes them readable.

Question 23

An analyst wants Volatility 3 output that reflects the connections and listeners still tracked by the TCP/IP stack's own structures, similar to what netstat would have shown on the live host, rather than objects carved from anywhere in memory. Which plugin fits that goal?

  1. windows.netscan
  2. windows.handles
  3. windows.sessions
  4. windows.netstat
Show answer and explanation

Correct answer: D. windows.netstat

Volatility 3 offers two views of network activity. Netstat traverses the network tracking structures that the TCP/IP driver maintains, such as its port pools and connection tables, which mirrors what the live system considered current. Netscan instead scans memory for network objects wherever they lie, which can surface additional entries but requires more care in interpretation. Running both and comparing them is good practice; when the goal is the stack's own current view, netstat is the plugin that walks those structures.

Why the other options are wrong

  • A. Netscan scans memory for network objects rather than traversing the TCP/IP tracking structures.
  • B. Handles lists open handles per process and does not reconstruct the TCP/IP stack's connection tables.
  • C. Sessions groups processes by logon session information from environment variables and does not report network connections.

Question 24

EDR shows that a payload started from HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce when a user logged on. When the analyst exports that key an hour later, it contains no values. What is the most likely explanation?

  1. RunOnce values under HKCU are only read when the user is a member of the Administrators group.
  2. Windows moves executed RunOnce values into the corresponding Run key.
  3. RunOnce values are ignored unless the computer is started in Safe Mode.
  4. By default, Windows deletes a RunOnce value before its command line runs.
Show answer and explanation

Correct answer: D. By default, Windows deletes a RunOnce value before its command line runs.

The Run key launches its program at every logon, while RunOnce launches it one time. By default the RunOnce value is deleted before the command line is run, unless the value name is prefixed with an exclamation point to defer deletion until after the command runs. An empty RunOnce key after logon is therefore consistent with the payload having executed, and the analyst should look to execution artifacts, registry transaction logs, or recovered deleted registry data for the original value.

Why the other options are wrong

  • A. The administrator-only restriction applies to the HKLM RunOnce key, not to the per-user HKCU RunOnce key.
  • B. Windows does not copy RunOnce entries into the Run key; a program must be registered in the Run key to run at every logon.
  • C. Run and RunOnce keys are ignored by default in Safe Mode, the opposite of running only in Safe Mode.

Question 25

An analyst moving from Volatility 2 to Volatility 3 looks for the profile list for a Windows 10 memory image and cannot find one. How does Volatility 3 obtain the kernel structure definitions it needs for the image?

  1. It uses symbol tables in JSON (ISF) format and, for Windows, can generate a matching table from the kernel PDB downloaded from Microsoft's symbol server
  2. It requires the analyst to run imageinfo and then pass the suggested profile with the --profile option
  3. It reads the structure layouts from the hiberfil.sys file collected with the memory image
  4. It applies one fixed set of structure offsets that covers every Windows 10 build
Show answer and explanation

Correct answer: A. It uses symbol tables in JSON (ISF) format and, for Windows, can generate a matching table from the kernel PDB downloaded from Microsoft's symbol server

Volatility 3 no longer uses profiles. Structure layouts and symbol locations come from symbol tables stored as Intermediate Symbol Format (ISF) JSON files. For a Windows image, Volatility identifies the kernel's PDB by its GUID and age, looks for a matching table in its symbol directories, and if none exists downloads the PDB from Microsoft's symbol server and converts it. Because the offsets come from the official debugging information for that exact build, the analyst does not choose a profile at all.

Why the other options are wrong

  • B. The --profile option and the imageinfo step belong to Volatility 2, and Volatility 3 does not use profiles.
  • C. The hibernation file holds saved memory contents, not structure definitions, and Volatility 3 takes its definitions from symbol tables.
  • D. Structure offsets differ between builds, which is why Volatility 3 matches a symbol table to the specific kernel PDB of the image.

25 questions in. Want the rest? The first half of the pack, free by email · The full pack

Question 26

An administrator must connect by RDP to a server suspected of running credential-dumping malware and uses Restricted Admin mode. What is the effect on the administrator's account credentials?

  1. They are cached on the server but encrypted with the RDP session key
  2. They are not supplied to the server, and the session uses the computer account's credentials
  3. The plaintext password is sent to the server but erased at logoff
  4. They are copied into the server's Credential Manager vault instead of LSASS
Show answer and explanation

Correct answer: B. They are not supplied to the server, and the session uses the computer account's credentials

Standard Remote Desktop sends the user's credentials to the target host, where the domain credentials are stored in LSASS. Restricted Admin mode instead makes the client perform a network logon challenge-response or use a Kerberos service ticket, so the administrator's credentials are never supplied to the remote host. The session runs with the computer account's credentials, and network access is limited to what the computer account can reach, which leaves nothing reusable for a credential thief on the server.

Why the other options are wrong

  • A. In Restricted Admin mode the administrator's credentials never reach the server, so nothing is cached there.
  • C. Sending the plaintext password to the host describes standard RDP, which is exactly what Restricted Admin mode avoids.
  • D. Restricted Admin mode keeps the credentials off the server altogether rather than storing them in another location on it.

Question 27

A compromised application server will be restored from a backup taken three weeks ago, but the intrusion's start date is still uncertain. According to NIST SP 800-61r3, what should happen before the backup is used?

  1. Restore it immediately, because a backup is always older than the compromise
  2. Check the backup for indicators of compromise, corruption, and other integrity issues
  3. Restore it into an isolated test domain and promote it to production unchanged
  4. Restore it and rely on endpoint detection to catch anything it reintroduces
Show answer and explanation

Correct answer: B. Check the backup for indicators of compromise, corruption, and other integrity issues

A backup made after an intruder arrived can contain the same malware, persistence, or modified accounts that responders are trying to remove. SP 800-61r3 therefore says the integrity of backups and other restoration assets should be verified before they are used, by checking them for indicators of compromise, file corruption, and other integrity issues. Restored assets should also be checked and the root causes remediated before production use, so that recovery does not reintroduce the attacker.

Why the other options are wrong

  • A. When the start of an intrusion is unknown, a backup can postdate the compromise and carry the attacker's changes.
  • C. Restoring into a test domain without checking the backup and then promoting it unchanged skips the integrity verification entirely.
  • D. Relying on later detection accepts reintroducing the compromise instead of verifying the restoration asset first.

Question 28

During live response on a Windows 11 host, a responder needs netstat output that names the executable involved in creating each connection or listening port. Which netstat option provides this, and what limitation applies to it?

  1. -b, which can be time-consuming and fails unless the user has sufficient permissions
  2. -o, which shows the executable path but works only for UDP
  3. -n, which resolves each connection to its program name
  4. -r, which lists the program that owns each route and listening port
Show answer and explanation

Correct answer: A. -b, which can be time-consuming and fails unless the user has sufficient permissions

Netstat's -b option displays the executable involved in creating each connection or listening port, and where a host process runs several components it shows the chain of components down to TCP/IP. This can be slow and fails without sufficient permissions, so it is run from an elevated prompt. The -o option shows only the owning PID, which must then be matched to a process list, so responders often combine -a, -n, -o and -b to capture addresses, PIDs and executables together.

Why the other options are wrong

  • B. The -o option adds the owning process ID, not the executable path, and it is not limited to UDP.
  • C. The -n option shows addresses and ports numerically and skips name resolution; it does not identify programs.
  • D. The -r option displays the routing table, which has no owning program for each port.

Question 29

On a Windows 11 workstation, an analyst notices that a LogonUI.exe process appears each time a user presses Ctrl+Alt+Del, with winlogon.exe as its parent. How should this activity be classified?

  1. Suspicious, because credential prompts should come from lsass.exe directly
  2. Normal, because Winlogon starts Logon UI after a secure attention sequence to collect credentials
  3. Suspicious, because LogonUI.exe should run only once at boot
  4. Normal only if LogonUI.exe was started by explorer.exe instead
Show answer and explanation

Correct answer: B. Normal, because Winlogon starts Logon UI after a secure attention sequence to collect credentials

Winlogon manages secure user interaction. After it receives a secure attention sequence such as Ctrl+Alt+Del, Winlogon always starts Logon UI, which asks each credential provider for its tiles, displays them, and submits the credentials the user enters for authentication. Winlogon then passes those credentials to the LSA. A LogonUI.exe that appears at each sign-in or unlock under winlogon.exe is therefore expected, matching the parent that MITRE's mismatch analytic allows.

Why the other options are wrong

  • A. LSASS authenticates the credentials, but the secure desktop prompt is presented by Logon UI started by Winlogon.
  • C. Winlogon starts Logon UI whenever it receives a secure attention sequence, not just once at boot.
  • D. explorer.exe is never the expected parent of LogonUI.exe, which belongs to the Winlogon logon process.

Question 30

A timeline merges data from a Windows 11 NTFS system volume with a FAT32 USB drive that was last written on a laptop set to UTC+8. Before any adjustment, how do the FAT32 times relate to the NTFS times?

  1. FAT32 times reflect the writing computer's local time, so they need the UTC+8 offset applied to align with the UTC-based NTFS times
  2. FAT32 times are stored in UTC like NTFS times, so the two sets align without adjustment
  3. FAT32 stores no timestamps, so files on the USB drive produce no timeline entries
  4. Both file systems store local time, so the same UTC+8 offset must be applied to both sets
Show answer and explanation

Correct answer: A. FAT32 times reflect the writing computer's local time, so they need the UTC+8 offset applied to align with the UTC-based NTFS times

NTFS records timestamps in UTC, so they are unaffected by time zone or daylight saving changes. FAT records times based on the local time of the computer that wrote them, and with coarse resolution: write times to 2 seconds and last access only to the day. When FAT32 and NTFS data are merged, the FAT values must be interpreted in the writing system's zone, here UTC+8, or the USB activity will appear eight hours out of place relative to the NTFS events around it.

Why the other options are wrong

  • B. Only NTFS stores UTC; FAT stores local time, so treating FAT values as UTC misplaces the events.
  • C. FAT records creation, write and access dates, so files on the USB drive do produce timeline entries.
  • D. NTFS stores UTC, so applying a local offset to the NTFS times would shift values that were already correct.

Question 31

During live response an analyst considers terminating a process that may be masquerading as a system binary. Which of these processes does Microsoft list as a built-in critical system process whose termination triggers bug check 0xEF?

  1. explorer.exe
  2. taskhostw.exe
  3. spoolsv.exe
  4. wininit.exe
Show answer and explanation

Correct answer: D. wininit.exe

Bug check 0xEF, CRITICAL_PROCESS_DIED, occurs when a process marked critical terminates, because Windows can no longer trust its own integrity. Microsoft's built-in critical system processes include csrss.exe, wininit.exe, logonui.exe, smss.exe, services.exe, conhost.exe, and winlogon.exe. Knowing this list matters during response: killing the genuine copy of one of them crashes the host and destroys volatile evidence, so the analyst must confirm that a suspect is an impostor before terminating it.

Why the other options are wrong

  • A. explorer.exe is the user shell and is not among the critical system processes Microsoft lists.
  • B. taskhostw.exe hosts tasks and is not among the critical system processes Microsoft lists.
  • C. spoolsv.exe is the Print Spooler service process and is not among the critical system processes Microsoft lists.

Question 32

Process creation auditing is enabled on a Windows 10 fleet, and Security event 4688 records appear for every new process, but the Process Command Line field is always empty. What is the most likely reason?

  1. Event 4688 never records command lines; only Sysmon can capture them
  2. The policy setting that includes the command line in process creation events has not been enabled, and the field is empty by default
  3. The command line is stored only in the Creator Process Name field
  4. Command lines are recorded only for processes started by SYSTEM
Show answer and explanation

Correct answer: B. The policy setting that includes the command line in process creation events has not been enabled, and the field is empty by default

Event 4688 (a new process has been created) gained a Process Command Line field in Windows 8.1 and Server 2012 R2, but it stays empty unless the Group Policy setting Include command line in process creation events under Administrative Templates, System, Audit Process Creation is enabled. With it enabled, the log keeps the arguments of every process, which preserves on disk the same evidence the cmdline plugin recovers from memory and helps reconstruct activity for processes that exited long before any memory capture.

Why the other options are wrong

  • A. Event 4688 has a Process Command Line field that is populated once the relevant policy is enabled, so Sysmon is not the only source.
  • C. Creator Process Name holds the path of the parent executable, not the new process's arguments.
  • D. When the policy is enabled, command lines are recorded for new processes regardless of the account that started them.

Question 33

An analyst runs Invoke-Command with -ComputerName listing 500 hosts to collect running process lists and does not specify -ThrottleLimit. How many concurrent remote connections does PowerShell establish for the command?

  1. 5
  2. 16
  3. 32
  4. 500, one for every listed host at once
Show answer and explanation

Correct answer: C. 32

Invoke-Command fans a script block out to many computers in parallel over PowerShell remoting, which makes it practical for live triage at scale. The ThrottleLimit parameter caps the number of concurrent connections; if it is omitted or set to 0, the default of 32 is used, and the remaining computers are handled as connections free up. The limit applies only to the current command, not to the session or the computer, and each result carries a PSComputerName property naming its source host.

Why the other options are wrong

  • A. Five connections would apply only if the analyst explicitly set the throttle limit to 5.
  • B. Sixteen is not the default concurrency for Invoke-Command.
  • D. PowerShell does not open every connection at once; it queues hosts beyond the default limit.

Question 34

Which of the following statements about the HKEY_LOCAL_MACHINE registry hive is true?

  1. It contains the user profile for the user who is currently logged on to the computer.
  2. It contains information about the local computer system, including hardware and operating system data, such as bus type, system memory, device drivers, and startup control parameters.
  3. It contains configuration data for the current hardware profile.
  4. It contains data that associates file types with programs and configuration data for COM objects, Visual Basic programs, or other automation.
Show answer and explanation

Correct answer: B. It contains information about the local computer system, including hardware and operating system data, such as bus type, system memory, device drivers, and startup control parameters.

HKEY_LOCAL_MACHINE is the registry hive that contains system-wide configuration data about the local computer, including hardware information, device drivers, bus types, system memory, and startup control parameters. This data applies to all users and is independent of user profiles.

Why the other options are wrong

  • A. HKEY_CURRENT_USER contains the user profile for the currently logged-on user, not HKEY_LOCAL_MACHINE.
  • C. HKEY_CURRENT_CONFIG contains configuration data for the current hardware profile.
  • D. HKEY_CLASSES_ROOT contains file type associations and COM object configurations, not HKEY_LOCAL_MACHINE.

Question 35

Before exporting a large Plaso storage file, a lead analyst wants to confirm which parsers ran during extraction, how many events each parser produced and what preprocessing recorded about the source system. Which tool provides this?

  1. psort.py with the null output module
  2. pinfo.py
  3. log2timeline.py --info
  4. psteal.py with --source pointing at the storage file
Show answer and explanation

Correct answer: B. pinfo.py

pinfo reports on the contents of a Plaso storage file: when and how the extraction ran, the information gathered during preprocessing, which parsers were used and with what parameters, how many events were extracted in total and per parser, and any tags or analysis plugin reports. Reviewing this before export confirms that the expected artifact parsers actually produced events, so gaps such as an event log parser that never ran are caught before the team relies on the timeline.

Why the other options are wrong

  • A. psort with the null output module writes no events and is used for running analysis plugins, not for summarizing parser statistics.
  • C. log2timeline --info lists the hashers, parsers, parser plugins and parser presets Plaso supports, not what ran for a particular storage file.
  • D. psteal extracts events from source evidence and writes output; it does not report on an existing storage file.

Question 36

A super timeline built with Plaso's recycle_bin parser shows an entry from C:\ $Recycle.Bin\S-1-5-21-3623811015-3361044348-30300820-1104\$IZ3K8Q1.zip on a Windows 11 host. What information does this $I file contribute?

  1. The deleted file's original size, its deletion date and time, and its original name and location
  2. The complete content of the deleted file
  3. The name of the process that deleted the file
  4. The deleted file's original creation time copied from $STANDARD_INFORMATION
Show answer and explanation

Correct answer: A. The deleted file's original size, its deletion date and time, and its original name and location

When a user deletes a file to the Recycle Bin, Windows stores two files in that user's SID folder under C:\$Recycle.Bin: a $R file with the original data and a $I file with metadata. The $I file records a format version, the original file size, the deletion date and time as a UTC FILETIME and the original filename, which tracks the original location. Plaso turns this into a timeline event, and the SID folder ties the deletion to a specific user account.

Why the other options are wrong

  • B. The original content is kept in the matching $R file, not in the $I metadata file.
  • C. The $I file holds size, deletion time and original name, not the identity of the deleting process.
  • D. The $I file records when the file was deleted, not its original creation time.

Question 37

Your company suspects an employee of sending unauthorized emails to competitors. These emails are alleged to contain confidential company data.

Which of the following is the most important step for you to take in preserving the chain of custody?

  1. Preserve the email server including all logs.
  2. Make copies of that employee's email.
  3. Seize the employee's PC.
  4. Place spyware on the employee's PC to confirm these activities.
Show answer and explanation

Correct answer: A. Preserve the email server including all logs.

Preserving the email server including all logs is the most critical first step because it captures the complete forensic evidence in its original state, including server logs that document the unauthorized email transmission, timestamps, and other metadata necessary to establish a complete chain of custody. Making copies of only the employee's email is incomplete, seizing the PC alone may not capture server-side evidence, and installing spyware is illegal and violates chain of custody protocols.

Why the other options are wrong

  • B. Copying only the employee's email misses critical server logs and metadata necessary for complete evidence preservation.
  • C. Seizing only the employee's PC does not capture the complete evidence trail on the email server.
  • D. Installing spyware is illegal, violates chain of custody procedures, and is an unethical investigative technique.

Question 38

An analyst has a raw image of a whole Windows 11 disk that holds an EFI system partition, a reserved partition and the main NTFS volume. Before running fls -r -m against the NTFS volume, which step supplies the value that the fls -o option needs?

  1. Run mmls on the image and read the starting sector of the NTFS partition from the partition layout
  2. Run mactime -h to print the session header, which includes the volume starting sector
  3. Run istat on MFT entry 0 to obtain the byte position of the $MFT within the volume
  4. Run fls -V to display the default sector offset for the detected image type
Show answer and explanation

Correct answer: A. Run mmls on the image and read the starting sector of the NTFS partition from the partition layout

fls analyzes a file system, so when the evidence is a whole-disk image it must be told where the NTFS volume begins. The -o option takes the sector offset at which the file system starts in the image. mmls reads the partition table and lists each partition with its starting sector, and that start value is passed to fls, for example fls -r -m C: -o 1026048 disk.dd. Because fls is run once per partition, the same lookup is repeated for every volume that will be added to the timeline.

Why the other options are wrong

  • B. mactime -h only prints session details such as the time range and input source of a timeline; it never reads the partition table.
  • C. istat describes one metadata entry inside a file system that has already been located, and the position of the $MFT is not the volume start that -o expects.
  • D. The -V option only prints the fls version number.

Question 39

Volatility 3 cmdline output lists every user-mode process with its arguments, but the entry for the System process (PID 4) shows no command line. What explains this?

  1. The System process command line was erased by a rootkit
  2. The command line was paged out because the System process had been idle
  3. Cmdline skips processes owned by the LocalSystem account
  4. The command line is read from the PEB, and the System process has no PEB because it runs only in kernel mode
Show answer and explanation

Correct answer: D. The command line is read from the PEB, and the System process has no PEB because it runs only in kernel mode

Cmdline obtains each process's command line from the RTL_USER_PROCESS_PARAMETERS structure that the Process Environment Block (PEB) points to, which lives in user-mode memory. The System process hosts kernel threads and has no user-mode address space or PEB, so there is no command line to read. This is normal and should not be confused with a user-mode process whose PEB page is paged out or smeared, which typically produces a read error rather than a missing value.

Why the other options are wrong

  • A. The absence is expected because the System process has no PEB, so it is not a sign of tampering.
  • B. There is no PEB for the System process to page out; the value is missing by design, not because of paging.
  • C. Cmdline does not filter by account, and other LocalSystem processes such as services.exe show command lines.

Question 40

An analyst opens a file from C:\Users\kim\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations in a compound file viewer and sees a stream named DestList plus streams named 1, 2, 3, a, and b. What do the hexadecimal-numbered streams contain?

  1. Thumbnail images of recently opened documents
  2. Windows Shortcut (LNK) data, one for each item in the Jump List
  3. Registry values copied from the RecentDocs key
  4. Prefetch data for the application that owns the Jump List
Show answer and explanation

Correct answer: B. Windows Shortcut (LNK) data, one for each item in the Jump List

Automatic destinations Jump List files use the OLE Compound File format and contain a DestList stream plus hexadecimal-numbered streams, each holding a Windows Shortcut (LNK) for one item. The DestList stream tracks those entries, recording for each one an entry number, a last modification time, and its pin status. Because each embedded stream is a full shortcut, it carries the same target timestamps, volume details, and tracker data as a standalone LNK file, which is why tools like JLECmd can export the embedded shortcuts for parsing with LECmd.

Why the other options are wrong

  • A. Thumbnail images are not stored in Jump Lists; the numbered streams hold shortcut data.
  • C. Jump Lists are files in the user profile and do not contain copies of registry values.
  • D. Prefetch data is kept in .pf files in the Prefetch folder, not inside Jump List streams.

Question 41

An analyst working from an old Volatility 2 cheat sheet wants to list the processes in win11.raw with Volatility 3. Which command uses correct Volatility 3 syntax?

  1. python3 vol.py -f win11.raw --profile=Win11x64 pslist
  2. python3 vol.py -f win11.raw imageinfo pslist
  3. python3 vol.py -f win11.raw windows.pslist
  4. python3 vol.py pslist.windows --image win11.raw
Show answer and explanation

Correct answer: C. python3 vol.py -f win11.raw windows.pslist

Volatility 3 takes the image with -f and then the plugin name, and plugin names are prefixed with the operating system they apply to, such as windows.pslist, windows.pstree or windows.cmdline. No profile is supplied because the framework finds the right symbol table automatically. Running python3 vol.py --help lists the available plugins in this dotted form, which is a quick way to confirm the exact name before building an analysis script.

Why the other options are wrong

  • A. The --profile option and the bare pslist plugin name are Volatility 2 syntax, which Volatility 3 does not accept.
  • B. imageinfo is a Volatility 2 plugin for suggesting profiles, and Volatility 3 runs one named plugin per command.
  • D. The operating system prefix comes first in the plugin name, and the image is given with -f, not an --image option.

Question 42

A USN record for a suspicious write shows only the name payload.dll, a FileReferenceNumber and a ParentFileReferenceNumber. How can the analyst determine the full folder path where payload.dll was written?

  1. Read the path from the record's SourceInfo field
  2. Resolve the ParentFileReferenceNumber against the $MFT, walking each parent directory up to the root
  3. Read the path from the record's SecurityId field
  4. Look up the record's USN value in $LogFile, which stores a full path for every USN record
Show answer and explanation

Correct answer: B. Resolve the ParentFileReferenceNumber against the $MFT, walking each parent directory up to the root

Each USN record stores only the item's own name, plus the file reference of the item and of the directory where it is located. To build the full path, a parser resolves the parent file reference to its MFT entry, reads that directory's $FILE_NAME attribute, which in turn names its own parent directory, and repeats until it reaches the root directory at MFT entry 5. This is why the $MFT should always be collected together with $J: the journal alone cannot supply full paths.

Why the other options are wrong

  • A. SourceInfo carries flags describing the source of a change, such as operating system data management, not a path.
  • C. SecurityId is the security identifier assigned to the file or directory and contains no path.
  • D. $LogFile is the metadata transaction journal and is not an index of paths for USN records.

Question 43

A Windows 11 laptop with default power settings was shut down from the Start menu before seizure. Its disk image contains C:\hiberfil.sys. Which memory contents should the analyst expect that file to hold?

  1. Kernel and session 0 state, because fast startup logs off user sessions before writing the hibernation file
  2. The complete user sessions as they were at shutdown, including open documents
  3. Nothing usable, because every shutdown deletes hiberfil.sys
  4. Only a copy of the page file made at shutdown
Show answer and explanation

Correct answer: A. Kernel and session 0 state, because fast startup logs off user sessions before writing the hibernation file

On current Windows versions a shutdown request performs a fast startup transition by default. The system logs off user sessions and then writes the state of the kernel session (session 0) to the hibernation file so the next boot is faster, although the machine appears to have shut down fully. The resulting hiberfil.sys can still reveal kernel-level evidence such as drivers and services, but user processes and their data are not expected in it. A full hibernate, by contrast, preserves the user session too.

Why the other options are wrong

  • B. User sessions are logged off before a fast startup writes the hibernation file, so complete user session memory is a feature of full hibernation instead.
  • C. A fast startup shutdown writes the hibernation file rather than deleting it.
  • D. The hibernation file holds saved memory state, not a copy of the page file.

Question 44

The Volatility 3 drivermodule plugin lists a driver object named \Driver\netflt2 whose DriverStart address does not fall inside any kernel module on the loaded module list. What does this most likely indicate?

  1. The driver was unloaded normally and its driver object is waiting to be freed
  2. The driver is a built-in Windows component that is always reported
  3. The driver belongs to a Microsoft signed module that was loaded from System32
  4. The driver's code comes from a kernel module that has been hidden, a common rootkit technique
Show answer and explanation

Correct answer: D. The driver's code comes from a kernel module that has been hidden, a common rootkit technique

Every legitimate driver object points to start code inside a loaded kernel module, and those modules are tracked in the kernel's loaded module list. Drivermodule scans for driver objects and tries to match each DriverStart address to a known module. When a driver points into memory that belongs to no listed module, the module that supplied the code has probably been unlinked or loaded manually to hide it. Drivermodule marks a short list of built-in components that cause false positives as known exceptions, so a named third-party driver like this deserves investigation.

Why the other options are wrong

  • A. Unloading a driver tears down its driver object, and drivermodule skips start addresses that look like smear from terminated objects.
  • B. Built-in components that cause false positives, such as ACPI_HAL and Win32k, are flagged as known exceptions, and netflt2 is not one of them.
  • C. A normally loaded module from System32 appears on the loaded module list, so its driver's start address would match a known module.

Question 45

Data theft from a laptop is suspected, and an analyst wants to know how many bytes a particular executable sent over the network during the past weeks. Which SRUM table, parsed by tools such as SrumECmd, holds this information?

  1. The Application Resource Usage table {D10CA2FE-6FCF-4F6D-848E-B2E99266FA89}
  2. The Network Data Usage table {973F5D5C-1D90-4944-BE8E-24B94231A174}
  3. The Push Notifications table {D10CA2FE-6FCF-4F6D-848E-B2E99266FA86}
  4. The SruDbCheckpointTable
Show answer and explanation

Correct answer: B. The Network Data Usage table {973F5D5C-1D90-4944-BE8E-24B94231A174}

SRUM stores each provider's data in a table named after the provider's GUID. The table {973F5D5C-1D90-4944-BE8E-24B94231A174} comes from the Network Data Usage Monitor and records BytesSent and BytesRecvd per entry, with application and user identifiers resolved through the SruDbIdMapTable. Because SRUM keeps this usage history in its own database, it can show that an unusual program uploaded a large volume of data, which makes it valuable when investigating exfiltration.

Why the other options are wrong

  • A. The Application Resource Usage table records per-application foreground and background bytes read and written, not bytes sent over the network.
  • C. The Push Notifications table records notification provider data, not application network byte counts.
  • D. SruDbCheckpointTable is a database housekeeping table and does not record per-application network usage.

Question 46

A payload on a server relaunches on a schedule, yet schtasks /query and the Task Scheduler console list no suspicious task. The Tarrask malware family is suspected. Which technique hides a scheduled task from these views?

  1. Deleting the task's Security Descriptor (SD) registry value, which requires SYSTEM permissions
  2. Renaming the task so that its name resembles a built-in Microsoft task
  3. Clearing the Task Scheduler operational event log after the task is registered
  4. Encoding the task's action command line in Base64
Show answer and explanation

Correct answer: A. Deleting the task's Security Descriptor (SD) registry value, which requires SYSTEM permissions

An adversary can hide a task from schtasks /query and the Task Scheduler by deleting the Security Descriptor (SD) registry value associated with the task, which must be done with SYSTEM permissions. Tarrask is documented as creating such hidden tasks for persistence. Because the task still runs, responders should examine the task registry keys and task files directly, using offline registry parsing where possible, instead of relying on the built-in enumeration tools that the technique is designed to defeat.

Why the other options are wrong

  • B. A renamed task is still registered normally and appears in schtasks /query output, even if its name looks legitimate.
  • C. Clearing event history removes log records about the task but leaves the task itself visible to schtasks and the console.
  • D. Encoding the command line obscures what the task runs but does not remove the task from task listings.

Question 47

Memory analysis shows processes running in an RDP-Tcp session on a file server. The analyst searches the Security log for the matching successful logon event 4624. Which Logon Type value identifies a Remote Desktop logon?

  1. 2
  2. 3
  3. 5
  4. 10
Show answer and explanation

Correct answer: D. 10

Event 4624 records every successful logon along with a Logon Type that describes how the account authenticated. Type 10, RemoteInteractive, means a user logged on remotely through Terminal Services or Remote Desktop, which matches processes found running in an RDP-Tcp session in memory. Correlating the logon time, account and source address in that event with the session's process start times ties the volatile evidence to a specific remote logon and source host.

Why the other options are wrong

  • A. Type 2 is an interactive logon at the computer itself, such as at the console.
  • B. Type 3 is a network logon, such as access to a shared folder, which does not create an interactive desktop session.
  • C. Type 5 is a service logon by the Service Control Manager starting a service.

Question 48

During an intrusion, the team proposes redirecting the attacker to a sandbox to observe their tooling before containing the compromised servers. According to NIST SP 800-61r3, what should the team do before executing this strategy?

  1. Discuss its feasibility with the legal department, accepting that the delay could let the attacker escalate access
  2. Eradicate every persistence mechanism first so that the sandbox stays isolated
  3. Notify the attacker's internet service provider so that it can monitor the session
  4. Restore the compromised servers from backup so that production data is protected
Show answer and explanation

Correct answer: A. Discuss its feasibility with the legal department, accepting that the delay could let the attacker escalate access

Watching an adversary in a sandbox can yield evidence and intelligence, but it deliberately delays containment and eradication. SP 800-61r3 recommends that the response team first discuss the feasibility of the strategy with the legal department, and it warns that the intentional delay is dangerous because the attacker could escalate unauthorized access or compromise other systems. This is the core trade-off between containment timing and intelligence gathering in enterprise incident response.

Why the other options are wrong

  • B. Eradicating persistence first would end the observation the strategy is meant to allow, and it does not address the legal and risk questions of delaying containment.
  • C. Alerting an outside provider does nothing to settle whether the organization may lawfully and safely delay containment.
  • D. Restoring from backup is a recovery action that removes the attacker's foothold rather than preparing to observe it.

Question 49

An RDP session found in memory had been idle, and the analyst suspects an attacker reconnected to the existing, disconnected session instead of starting a new one. Which Security event records a reconnection to an existing session, including the client's IP address?

  1. 4778
  2. 4779
  3. 4672
  4. 4688
Show answer and explanation

Correct answer: A. 4778

Event 4778 is generated when a user reconnects to an existing Terminal Services session or switches back to an existing desktop with Fast User Switching. It records the session name, such as an RDP-Tcp name, and the Client Address of the computer the user reconnected from. Because reconnecting reuses a session that already exists, the processes in memory may have been started long before the attacker's return, so 4778 is the event that dates and sources the reconnection itself.

Why the other options are wrong

  • B. Event 4779 records a user disconnecting from an existing session, not reconnecting to it.
  • C. Event 4672 records special privileges assigned to a new logon, not a reconnection to an existing session.
  • D. Event 4688 records the creation of a new process.

Question 50

On a busy file server, an analyst parses $UsnJrnl:$J but finds no records older than nine days, although the intrusion began a month ago. What is the most likely reason?

  1. The journal has a maximum size, and NTFS removes the earliest records as new ones arrive
  2. The journal keeps exactly nine days of records by design, regardless of its size
  3. The attacker must have wiped the journal, because NTFS never discards records
  4. USN records older than a week are moved into $LogFile
Show answer and explanation

Correct answer: A. The journal has a maximum size, and NTFS removes the earliest records as new ones arrive

The change journal is bounded by a maximum size, which administrators can set with fsutil usn createjournal. NTFS may delete old records to conserve space: once the $J stream reaches its maximum size, the earliest entries are removed and replaced with a sparse data run. On a busy server that can leave only days of history, so the reach of the journal must be judged per system, and older activity has to be reconstructed from other artifacts.

Why the other options are wrong

  • B. Retention depends on the journal's maximum size and the volume's activity, not on a fixed number of days.
  • C. NTFS itself deletes old records to conserve space, so missing early history does not by itself prove tampering.
  • D. $LogFile is the separate metadata transaction journal; aged USN entries are removed from the stream rather than moved there.

50 questions in. Want the rest? The first half of the pack, free by email · The full pack

Question 51

A new team member proposes installing Volatility 3 on a compromised workstation and using it to capture the workstation's RAM before analysis begins. What is wrong with this plan?

  1. Volatility 3 analyzes memory images but does not acquire memory, so a capture tool such as WinPmem or FTK Imager must create the image first
  2. Volatility 3 can capture RAM only from Linux systems, so a Windows build of it is needed
  3. Volatility 3 can capture RAM only after it has generated a symbol table from the live kernel
  4. Volatility 3 captures memory only by copying hiberfil.sys, so the workstation must hibernate first
Show answer and explanation

Correct answer: A. Volatility 3 analyzes memory images but does not acquire memory, so a capture tool such as WinPmem or FTK Imager must create the image first

Volatility is an analysis framework that reads memory images that already exist, such as raw captures, crash dumps or virtual machine memory files. It has no acquisition capability, so responders use a dedicated capture tool, for example WinPmem or FTK Imager, run from trusted media with the output written off the system. Installing an analysis framework on the suspect host would also change the system unnecessarily while adding nothing to the capture.

Why the other options are wrong

  • B. Volatility does not acquire memory on any operating system, so the platform is irrelevant.
  • C. Symbol tables let Volatility interpret an existing image, and they do not give it a capture capability.
  • D. Volatility does not acquire memory at all, and forcing hibernation would alter the system and is not a Volatility function.

Question 52

While recovering from a full Active Directory domain compromise, the team follows Microsoft guidance to reset the krbtgt account password twice. What is the reason for the second reset?

  1. The first reset takes effect only after the next scheduled replication cycle
  2. Each domain controller must confirm the new password with a second reset
  3. Two resets are needed because the RC4 and AES keys are changed separately
  4. The account keeps a password history of two, so a second reset clears the old password
Show answer and explanation

Correct answer: D. The account keeps a password history of two, so a second reset clears the old password

The KDC encrypts ticket-granting tickets with a key derived from the krbtgt password, so a compromised krbtgt key lets an attacker forge tickets. Microsoft notes that the krbtgt password history value is 2, meaning the account holds its two most recent passwords. Resetting twice clears any old password from that history, so no domain controller can replicate using an old password, and tickets encrypted with the old key become invalid. Microsoft also requires a wait between the two resets.

Why the other options are wrong

  • A. The reset itself changes the password; Microsoft explains the second reset by the two-entry password history, not by replication timing.
  • B. Microsoft describes no confirmation step by domain controllers, and the system generates a strong password automatically on each reset.
  • C. The guidance ties the two resets to the two-entry password history, not to changing key types one at a time.

Question 53

A workstation's Security log shows event 4720 for an account named helpdesk_svc, followed seconds later by event 4732 naming the same account as the new member. Which attacker action does this sequence most likely represent?

  1. Resetting the password of an existing local account
  2. Enumerating the members of the local Administrators group
  3. Creating a new user account and adding it to a security-enabled local group such as Administrators
  4. Re-enabling a local account that an administrator had disabled
Show answer and explanation

Correct answer: C. Creating a new user account and adding it to a security-enabled local group such as Administrators

Event 4720 is generated every time a new user object is created, and event 4732 is generated every time a new member is added to a security-enabled local group. Seeing both for the same account within seconds shows an account being created and immediately granted group membership, which is a common way for attackers to keep privileged access to a host. The analyst should check which group was changed, the Subject account that performed both actions, and the logon session that ties them to the intrusion.

Why the other options are wrong

  • A. A password reset of an existing account does not create a new user object, so it would not produce event 4720.
  • B. Enumerating group membership only reads the group and does not add a member, so it would not produce event 4732.
  • D. Re-enabling an existing account does not create a new user object, so it would not produce event 4720.

Question 54

A Sysmon Event ID 10 entry shows SourceImage C:\ProgramData\svc\wupd.exe, TargetImage C:\Windows\System32\lsass.exe and GrantedAccess 0x1010. What does the access mask indicate the source process obtained?

  1. The right to read lsass.exe memory plus limited query information, consistent with credential dumping
  2. The right to terminate lsass.exe, consistent with a denial-of-service attempt
  3. The right to create new threads in lsass.exe, consistent with remote thread injection
  4. The right to change the priority class of lsass.exe, consistent with performance tuning
Show answer and explanation

Correct answer: A. The right to read lsass.exe memory plus limited query information, consistent with credential dumping

Process access masks are built from documented bits. 0x1010 combines PROCESS_QUERY_LIMITED_INFORMATION (0x1000) with PROCESS_VM_READ (0x0010), the right needed to call ReadProcessMemory. LSASS holds credential material for logged-on users, so an unexpected binary from a ProgramData folder opening it for memory reads is a strong indicator of credential dumping. In a memory image the same attack often leaves an LSASS dump tool or an injected thread to find.

Why the other options are wrong

  • B. Terminating a process requires PROCESS_TERMINATE (0x0001), which is not part of 0x1010.
  • C. Creating a thread in another process requires PROCESS_CREATE_THREAD (0x0002), which is not part of 0x1010.
  • D. Changing priority class requires PROCESS_SET_INFORMATION (0x0200), which is not part of 0x1010.

Question 55

An endpoint stopped sending process telemetry to the EDR console shortly before ransomware ran. The analyst runs the Volatility 3 etwpatch plugin, which reports that EtwEventWrite in ntdll.dll inside several processes begins with a RET instruction. What does this indicate?

  1. The ETW functions were updated by a Windows cumulative update that changed their prologue
  2. The processes were compiled without Event Tracing for Windows support
  3. Malware patched the ETW write function so that events from those processes are never delivered to security tools
  4. The system was running in safe mode, which disables ETW providers
Show answer and explanation

Correct answer: C. Malware patched the ETW write function so that events from those processes are never delivered to security tools

Event Tracing for Windows carries much of the telemetry that EDR and logging tools consume, and user-mode events pass through functions such as EtwEventWrite in ntdll.dll. Patching the first instruction of that function to return immediately silently drops every event the process tries to write. Etwpatch inspects the first opcode of key ETW functions in each process and flags RET or JMP patches, so the result here explains the telemetry gap and points to deliberate defense impairment before the ransomware ran.

Why the other options are wrong

  • A. A Windows update changes the DLL on disk for every process alike and does not replace a function's first instruction with an immediate return.
  • B. EtwEventWrite is part of ntdll.dll loaded into every process, so the result does not depend on how an application was compiled.
  • D. Safe mode does not rewrite the first instruction of ntdll.dll functions inside running processes.

Question 56

A sales laptop records 4624 events with logon type 11 whenever its owner signs in at a hotel before connecting to the corporate VPN. How should the analyst interpret these events?

  1. As a pass-the-hash attempt, because no domain controller was contacted
  2. As Remote Desktop sessions arriving through the hotel network
  3. As normal cached interactive logons using locally stored domain credentials
  4. As service logons started before the VPN connected
Show answer and explanation

Correct answer: C. As normal cached interactive logons using locally stored domain credentials

Logon type 11 is CachedInteractive: a user logged on with network credentials that were stored locally, and the domain controller was not contacted to verify them. That is exactly what happens when a domain-joined laptop is used off the corporate network before the VPN is up, so the pattern is normal for mobile users. The same account producing type 2 logons on the office network and type 11 while travelling fits a normal baseline.

Why the other options are wrong

  • A. Signing in with cached credentials while away from a domain controller is expected behavior, not a pass-the-hash indicator.
  • B. Remote Desktop logons are RemoteInteractive, type 10, not type 11.
  • D. Services start under Service logons, type 5.

Question 57

In a report, an analyst must explain why windows.pslist and windows.psscan can return different results for the same memory image. Which data source does windows.pslist use to enumerate processes?

  1. A scan of physical memory for pool allocations tagged as process objects
  2. The ready queues of each processor's control region
  3. The handle table of the csrss.exe process
  4. The doubly linked list of EPROCESS structures reached from the kernel symbol PsActiveProcessHead through each ActiveProcessLinks entry
Show answer and explanation

Correct answer: D. The doubly linked list of EPROCESS structures reached from the kernel symbol PsActiveProcessHead through each ActiveProcessLinks entry

windows.pslist follows the kernel's active process list: it starts at PsActiveProcessHead and walks the ActiveProcessLinks member of each EPROCESS. The result reflects what the operating system itself considers active, so a process unlinked from that list disappears from the output. windows.psscan instead scans memory for pool allocations carrying the process pool tag, so it can also report unlinked or exited processes whose structures remain in memory. Comparing the two outputs is the basis for spotting hidden or terminated processes.

Why the other options are wrong

  • A. Pool tag scanning is how windows.psscan works, which is exactly why its results can differ from the list-walking windows.pslist.
  • B. windows.pslist does not enumerate processes from processor scheduling structures; it walks the active process list.
  • C. windows.pslist reads the kernel's active process list rather than handles held by csrss.exe.

Question 58

To corroborate USN journal findings about files created and renamed minutes before a server crashed, an analyst wants the NTFS transaction log that the file system replays to restore consistency after a failure. Which metadata file holds it?

  1. $Bitmap, MFT entry 6
  2. $MFTMirr, MFT entry 1
  3. $LogFile, MFT entry 2
  4. $Secure, MFT entry 9
Show answer and explanation

Correct answer: C. $LogFile, MFT entry 2

$LogFile, at MFT entry 2, contains the NTFS metadata transaction journal. NTFS maintains this transaction-based log so that after a system failure it can automatically restore file system consistency during the next startup. Because it records metadata operations as transactions, parsers such as MFTECmd can process it to corroborate USN journal findings about recent file creation, renaming and deletion, giving a second, independent view of the same burst of activity.

Why the other options are wrong

  • A. $Bitmap tracks which clusters are allocated and holds no transaction history.
  • B. $MFTMirr is a backup of the first four MFT entries, not a transaction log.
  • D. $Secure holds security and access control information rather than a transaction log.

Question 59

An analyst building a user activity timeline sees a 4624 event with logon type 7 for the user's own account at 13:02, shortly after the user returned from lunch. What does this logon type record?

  1. The workstation was unlocked
  2. The user signed in over Remote Desktop
  3. A scheduled task ran on the user's behalf
  4. The user mapped a network drive
Show answer and explanation

Correct answer: A. The workstation was unlocked

Logon type 7 is Unlock: the workstation was unlocked. Returning to a locked session and entering credentials generates a 4624 of this type, so a type 7 event at the moment a user comes back to the desk is normal and helps establish when the user was physically present at the keyboard. It should not be mistaken for a remote or network logon, which carry their own logon types and would point to different activity on the host.

Why the other options are wrong

  • B. Remote Desktop logons are recorded as RemoteInteractive, type 10.
  • C. Scheduled tasks run under Batch logons, type 4.
  • D. Accessing a network share produces a Network logon, type 3, on the server holding the share.

Question 60

An analyst compares a suspect host's process tree against a known-good Windows 11 baseline. Which process is the normal parent of services.exe, the Service Control Manager?

  1. smss.exe
  2. winlogon.exe
  3. System
  4. wininit.exe
Show answer and explanation

Correct answer: D. wininit.exe

The Service Control Manager, services.exe, starts at boot and maintains the database of installed services, starting services and driver services at startup or on demand. It is launched by wininit.exe. MITRE's parent-mismatch analytic flags any services.exe whose parent is not wininit.exe, so a services.exe under any other parent points to masquerading and should be examined closely.

Why the other options are wrong

  • A. smss.exe starts wininit.exe and winlogon.exe, but it is not the expected parent of services.exe.
  • B. winlogon.exe manages interactive logon and is not the expected parent of the Service Control Manager.
  • C. The System process is the expected parent of smss.exe, not of services.exe.

Question 61

An analyst is documenting the normal security context of services that run as LocalSystem in order to judge whether a suspicious service's access is expected. Which statement about the LocalSystem account is accurate?

  1. It has a randomly generated password that Windows rotates every 30 days
  2. It presents anonymous credentials when it accesses network resources
  3. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs, and it can open HKLM\SECURITY
  4. Its HKEY_CURRENT_USER key maps to the profile of the user who is currently logged on
Show answer and explanation

Correct answer: C. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs, and it can open HKLM\SECURITY

LocalSystem is a predefined service account with extensive privileges on the local computer. Its token includes the NT AUTHORITY\SYSTEM and BUILTIN\Administrators SIDs, giving access to most system objects, and a LocalSystem service can open HKEY_LOCAL_MACHINE\SECURITY. On the network it presents the computer's credentials. The account has no password, and its HKEY_CURRENT_USER is associated with the default user rather than whoever is logged on, so a service running as LocalSystem has broad local authority by design.

Why the other options are wrong

  • A. LocalSystem has no password at all, and any password supplied for it is ignored.
  • B. Anonymous network credentials describe LocalService, whereas LocalSystem presents the computer's credentials.
  • D. For LocalSystem, HKEY_CURRENT_USER is associated with the default user, not the logged-on user.

Question 62

An organization runs Sysmon on all endpoints. Hunters want to find processes that changed the creation time of files, for example to make a backdoor look as old as the operating system. Which Sysmon event should they query?

  1. Event ID 11, FileCreate
  2. Event ID 15, FileCreateStreamHash
  3. Event ID 2, a process changed a file creation time
  4. Event ID 23, FileDelete
Show answer and explanation

Correct answer: C. Event ID 2, a process changed a file creation time

Sysmon Event ID 2 is registered when a process explicitly modifies a file's creation time. It helps track the real creation time of a file, because attackers may change the creation time of a backdoor so it appears to have been installed with the operating system. The event ties the change to the process that made it, which a file system timeline alone cannot do. Many installers legitimately change creation times, so hits should be triaged by process, target path and surrounding activity.

Why the other options are wrong

  • A. Event ID 11 logs files being created or overwritten, not later changes to their creation times.
  • B. Event ID 15 logs the creation of named file streams and their hashes, not timestamp changes.
  • D. Event ID 23 logs file deletions and archives the deleted file, not timestamp changes.

Question 63

A shortcut in a user's Recent folder points to E:\Projects\bid_final.xlsx, a file that no longer exists anywhere. LECmd shows CreationTime, AccessTime, and WriteTime values in the shortcut's header. What do these three header timestamps describe?

  1. When the shortcut file itself was created, accessed, and modified, in local time
  2. When the volume E: was first mounted, last mounted, and last removed
  3. When the user first opened, last opened, and last saved the shortcut through Explorer, in local time
  4. The creation, access, and write times of the target file, stored in UTC
Show answer and explanation

Correct answer: D. The creation, access, and write times of the target file, stored in UTC

The ShellLinkHeader of a Windows shortcut contains CreationTime, AccessTime, and WriteTime fields, each a FILETIME that specifies the corresponding time of the link target in UTC, plus the target's file size. These embedded values preserve metadata about the target, here the deleted spreadsheet, even when the file itself is gone. The shortcut file's own timestamps are separate and come from the file system, so analysts compare both sets to show when the target existed and when the user interacted with it.

Why the other options are wrong

  • A. The shortcut file's own times come from its file system metadata, while the header fields describe the target and are stored in UTC.
  • B. Volume details are kept in the LinkInfo structure, and the header times describe the target file, not mount events.
  • C. The header fields record the target file's times in UTC, not user actions on the shortcut in local time.

Question 64

Responders know an attacker moved laterally by supplying a stolen administrator password to tools that accept alternate credentials. They want the source workstations, not the targets. Which Security event, logged on the source host, records a logon attempt made with explicitly specified credentials?

  1. Event ID 4624 with Logon Type 3
  2. Event ID 4697
  3. Event ID 4648
  4. Event ID 4672
Show answer and explanation

Correct answer: C. Event ID 4648

Event 4648 is generated when a process attempts an account logon by explicitly specifying that account's credentials, as with RUNAS or batch configurations such as scheduled tasks. It is written on the host where the process ran and names the account whose credentials were used, the target server name, and the process path. That makes it a source-side artifact: searching workstations for 4648 events that name the compromised administrator account and remote servers reveals where the attacker launched each hop.

Why the other options are wrong

  • A. A type 3 network logon is recorded on the target system that received the connection, not on the source workstation.
  • B. Event 4697 records a service being installed and would appear on a target where a remote execution tool created a service.
  • D. Event 4672 records sensitive privileges assigned to a new logon session and does not identify explicit credential use on a source host.

Question 65

In a user's Recent\AutomaticDestinations folder, an analyst finds several files whose names start with a 16-character hexadecimal string followed by .automaticDestinations-ms. What does the hexadecimal part of each file name identify?

  1. The NTFS file reference of the most recently opened document
  2. A hash of the user's SID, so each user has one Jump List file
  3. The date and time the Jump List was created, as a FILETIME
  4. The application the Jump List belongs to, derived from the path of its executable
Show answer and explanation

Correct answer: D. The application the Jump List belongs to, derived from the path of its executable

Jump List file names start with the identifier of the corresponding application, a 64-bit CRC calculated from the full path of the application's executable. Each application therefore has its own file, and the AppID tells the analyst which program, such as a document editor or remote access client, was used to open the files listed inside. JLECmd ships with a list of known AppIDs and accepts a file of additional AppID descriptions, which helps when a custom or portable tool produced an unfamiliar identifier.

Why the other options are wrong

  • A. The name identifies the owning application, while the details of individual items are kept in the DestList entries and the numbered shortcut streams.
  • B. Jump Lists are already separated per user by the profile folder, and the name identifies an application, not a user.
  • C. The name is a CRC of the application's executable path and does not encode a date or time.

Question 66

During live response on a Windows Server 2022 Remote Desktop host, a responder wants a quick list of the sessions on the server, showing each session name, user name, session ID and state, such as active or disconnected. Which built-in command provides this?

  1. tasklist /svc
  2. netstat -ano
  3. whoami /all
  4. query session
Show answer and explanation

Correct answer: D. query session

Query session (also available as qwinsta) displays information about sessions on a Remote Desktop Session Host, including the session name, user name, session ID, state and type, and it marks the current session with a greater-than sign. Recording this output during live response captures which users are connected, which sessions sit disconnected and which session IDs to expect when the memory image is later analyzed, for example when grouping processes by session.

Why the other options are wrong

  • A. Tasklist with /svc lists the services hosted in each process, not the logon sessions on the server.
  • B. Netstat -ano shows network connections with owning PIDs, not session names, users and states.
  • C. Whoami /all describes only the current user's token, groups and privileges, not all sessions on the host.

Question 67

In a user's RecentDocs\.pdf subkey, the MRUListEx value begins 07 00 00 00 02 00 00 00, and the subkey's last written time is 2026-09-30 14:02 UTC. What can the analyst conclude?

  1. The value named 0 is the most recently opened PDF, because values are numbered from newest to oldest.
  2. The value named 7 holds the most recently opened PDF, which was most likely opened around 14:02 UTC on 30 September.
  3. Each numbered value stores its own open time, so the key's last written time is not relevant.
  4. The value named 2 holds the most recently opened PDF, because MRUListEx lists items from oldest to newest.
Show answer and explanation

Correct answer: B. The value named 7 holds the most recently opened PDF, which was most likely opened around 14:02 UTC on 30 September.

MRUListEx is an array of 4-byte little-endian numbers in which the first entry identifies the most recently used item, the second the next most recent, and so on, ending with 0xFFFFFFFF. Each number names a value in the same key, so 07 00 00 00 points to the value named 7. Registry values carry no timestamps of their own, but the key does, and adding or reordering the most recent entry updates the key's last written time, so that time approximates when the newest PDF was opened.

Why the other options are wrong

  • A. Value names are assigned as entries are added, and recency is given only by the order in MRUListEx, which starts with 7 here.
  • C. Registry value records hold no timestamps; only the key has a last written time.
  • D. The first MRUListEx entry is the most recent item, so 2 is the second most recent, not the newest.

Question 68

Pslist shows 70 svchost.exe processes on a Windows 11 workstation. For one of them, dlllist reports the image path C:\Users\Public\svchost.exe, and its parent is explorer.exe rather than services.exe. Which technique does this most likely represent?

  1. Service host refactoring, which runs each service in its own svchost.exe
  2. Masquerading, giving malware the name of a trusted Windows program to blend in
  3. Process hollowing, which always moves the image to a public folder
  4. Normal per-user service hosting for applications installed by the user
Show answer and explanation

Correct answer: B. Masquerading, giving malware the name of a trusted Windows program to blend in

Many svchost.exe instances are normal on modern Windows, so the name alone means little. What matters is whether each instance runs the genuine binary from System32 and fits normal parentage, since the Service Control Manager starts service hosts. An svchost.exe launched from a user-writable public folder by explorer.exe matches neither, which is the signature of masquerading: naming malware after a trusted program so that a quick glance at a process list does not raise suspicion. The path and parent from memory expose the disguise.

Why the other options are wrong

  • A. Service host refactoring explains why there are many svchost.exe instances, but it still runs the System32 binary under the service manager, not a copy in a public folder.
  • C. Hollowing keeps the legitimate image path and replaces the code in memory, so the path would point to the real binary rather than a public folder.
  • D. Windows does not host services from copies of svchost.exe placed in user folders, and a user-launched process under explorer.exe is not a service host.

Question 69

In a user's folder under C:\$Recycle.Bin on a Windows 10 system, an analyst finds a pair of files named $IR8K2FQ.docx and $RR8K2FQ.docx. Which information does the $I file provide?

  1. The full contents of the deleted document
  2. The SHA-1 hash of the document at the time of deletion
  3. The name of the process that sent the document to the Recycle Bin
  4. The document's original path and name, its original size, and the date and time it was deleted
Show answer and explanation

Correct answer: D. The document's original path and name, its original size, and the date and time it was deleted

Each item in the Windows Recycle Bin is stored as two files. The $I file holds metadata: a format version, the original file size, the deletion date and time as a FILETIME in UTC, and the original file name with its path. The $R file holds the data of the original file. Parsing $I files with a tool such as RBCmd therefore shows what was deleted, from where, and when, even if the matching $R file was later deleted on its own.

Why the other options are wrong

  • A. The deleted document's data is kept in the matching $R file, not in the $I file.
  • B. The $I file stores the version, size, deletion time, and original name, but no hash of the content.
  • C. The $I file does not record which process deleted the file.

Question 70

After containing an intrusion, the team deletes the attacker's malware, disables the breached accounts, and patches the exploited VPN flaw on every affected host. Under NIST SP 800-61r3, which activity is the team performing?

  1. Eradication
  2. Containment
  3. Recovery
  4. Detection
Show answer and explanation

Correct answer: A. Eradication

SP 800-61r3 describes containment as preventing an incident from expanding and eradication as mitigating its effects. After containment, eradication eliminates persistence mechanisms and entry points, for example deleting malware, disabling breached user accounts, and identifying and mitigating all exploited vulnerabilities. It also recommends identifying all affected hosts and services so that every flaw can be remediated. Recovery follows, restoring systems to normal operation and confirming that they function correctly.

Why the other options are wrong

  • B. Containment stops the incident from spreading; it does not remove persistence or fix the exploited entry point.
  • C. Recovery restores assets and operations to normal and verifies them, which comes after eradication.
  • D. Detection finds and analyzes possible attacks; it does not remove malware or close entry points.

Question 71

Sessions plugin output from a Windows 10 workstation shows the processes grouped by session ID. Which observation departs from normal session usage on modern Windows and deserves a closer look?

  1. An explorer.exe shell process running in session 0
  2. Svchost.exe and services.exe processes running in session 0
  3. The first interactive user's explorer.exe running in session 1
  4. A second user's explorer.exe running in session 2
Show answer and explanation

Correct answer: A. An explorer.exe shell process running in session 0

Since Windows Vista, session 0 is reserved for services and other processes not tied to an interactive user, and it does not support processes that interact with a user. The first user to log on gets session 1, the next gets session 2, and so on. Service hosts in session 0 and user shells in sessions 1 and higher are therefore normal. A user shell such as explorer.exe in session 0 does not fit this model and suggests something started it from a service context, which warrants checking its parent, path and token.

Why the other options are wrong

  • B. Services have always run in session 0, so service hosts and the Service Control Manager belong there.
  • C. The first user to log on is connected to session 1, so an explorer.exe there is expected.
  • D. Each additional logged-on user receives the next session number, so a second user's shell in session 2 is normal.

Question 72

An analyst already has a full body file for a compromised server and wants mactime to output only the activity in the range bounded by 2026-03-02 and 2026-03-04. Which command uses the correct date range syntax?

  1. mactime -b body.txt -i day 2026-03-02 2026-03-04
  2. mactime -b body.txt -r 2026-03-02:2026-03-04
  3. mactime -b body.txt 2026-03-02..2026-03-04
  4. mactime -b body.txt -y 03/02/2026-03/04/2026
Show answer and explanation

Correct answer: C. mactime -b body.txt 2026-03-02..2026-03-04

mactime accepts an optional DATE_RANGE as its final argument. A start date alone uses yyyy-mm-dd, while a bounded range joins the start and end with two dots as yyyy-mm-dd..yyyy-mm-dd, and either side may carry a time in the form yyyy-mm-ddThh:mm:ss. Narrowing the range at this stage keeps the output focused on the incident window instead of the years of installation and update activity that dominate a complete NTFS timeline.

Why the other options are wrong

  • A. The -i option writes an hourly or daily summary index file, and two space-separated dates are not the range syntax.
  • B. mactime has no -r option, and the range separator is two dots rather than a colon.
  • D. The -y option switches output to ISO 8601 dates and takes no range; the range itself must use yyyy-mm-dd dates.

Question 73

A timeline from a database server shows a 4624 network logon for a service desk account, immediately followed by a 4672 event carrying the same Logon ID. What does the 4672 event add to the investigation?

  1. The account's password was changed during the logon.
  2. The logon was made with credentials typed into a RUNAS prompt.
  3. The logon resumed a previously disconnected session.
  4. The new logon session was assigned sensitive privileges such as SeDebugPrivilege or SeBackupPrivilege.
Show answer and explanation

Correct answer: D. The new logon session was assigned sensitive privileges such as SeDebugPrivilege or SeBackupPrivilege.

Event 4672 is generated for a new logon when sensitive privileges, such as SeDebugPrivilege, SeBackupPrivilege, SeTcbPrivilege or SeLoadDriverPrivilege, are assigned to the new session. Matching it to the 4624 by Logon ID shows that the service desk account held administrator-level rights on that server, which raises the impact of the logon. Because every SYSTEM logon also triggers 4672, analysts filter out expected service accounts and focus on user accounts that should not hold such privileges on that host.

Why the other options are wrong

  • A. Password changes are recorded by separate account management events and are not implied by 4672.
  • B. A logon made with explicitly typed credentials is recorded by event 4648, not by 4672.
  • C. Reconnecting to an existing session is recorded by event 4778, not by 4672.

Question 74

While checking a body file produced by fls from a Windows 10 image, an analyst examines the line below.

0|C:/Users/kim/AppData/Local/Temp/svc.exe|105233-128-3|r/rrwxrwxrwx|0|0|73728|1780000000|1779990000|1779990000|1779980000

In what form are the last four numeric fields, the file's time values, recorded?

  1. Windows FILETIME values counting 100-nanosecond intervals since 1 January 1601
  2. Local times of the analysis workstation written as YYYYMMDDhhmmss strings
  3. UNIX time values in the order atime, mtime, ctime and crtime
  4. Seconds elapsed since the volume was formatted, taken from the boot sector
Show answer and explanation

Correct answer: C. UNIX time values in the order atime, mtime, ctime and crtime

The TSK 3.0 and later body file is a pipe-delimited line with the fields MD5, name, inode, mode, UID, GID, size, atime, mtime, ctime and crtime, and its times are reported in UNIX time format. fls converts each NTFS timestamp to epoch seconds as it writes the line, and mactime later renders those values as dates in the chosen time zone. Knowing the field order matters when other tools write body files, because a swapped column silently mislabels activity in the finished timeline.

Why the other options are wrong

  • A. NTFS stores FILETIME values on disk, but the body file holds the converted UNIX time rather than the raw FILETIME.
  • B. Body files carry plain numeric values; date formatting and time zone rendering happen later in mactime.
  • D. The body file has no volume-relative clock; each value is an absolute UNIX timestamp.

Question 75

An attacker's keylogger repeatedly appends captured keystrokes to the default data stream of C:\Users\Public\log.dat. Which USN reason flag best reflects these appended writes in the change journal?

  1. USN_REASON_DATA_TRUNCATION
  2. USN_REASON_DATA_EXTEND
  3. USN_REASON_NAMED_DATA_EXTEND
  4. USN_REASON_BASIC_INFO_CHANGE
Show answer and explanation

Correct answer: B. USN_REASON_DATA_EXTEND

USN_REASON_DATA_EXTEND (0x00000002) means the file or directory was extended, that is, data was added to it, which matches a file that keeps growing as keystrokes are appended. Finding the same file with data extend records across many sessions points to an active collection file, and because journal records outlive the file itself until they age out, the pattern can remain visible even after the attacker deletes log.dat.

Why the other options are wrong

  • A. DATA_TRUNCATION means the file was truncated, which is the opposite of appending data.
  • C. NAMED_DATA_EXTEND applies to named data streams, not to the default stream that the keylogger writes.
  • D. BASIC_INFO_CHANGE marks attribute or timestamp changes rather than added data.

75 questions in. Want the rest? The first half of the pack, free by email · The full pack

Question 76

The Volatility 3 cmdline plugin shows the following command line for a short-lived process on a file server.

rundll32.exe C:\Windows\System32\comsvcs.dll MiniDump 712 C:\Windows\Temp\d.dmp full

PID 712 is lsass.exe. What was the attacker most likely doing?

  1. Registering comsvcs.dll as a new COM server for persistence
  2. Collecting a crash dump of rundll32.exe for Windows Error Reporting
  3. Dumping LSASS process memory with a built-in Windows DLL to harvest credentials offline
  4. Exporting the SAM hive to a file so password hashes can be cracked
Show answer and explanation

Correct answer: C. Dumping LSASS process memory with a built-in Windows DLL to harvest credentials offline

The MiniDump export of comsvcs.dll, called through rundll32.exe, writes a memory dump of the process whose PID is supplied. Pointing it at the PID of lsass.exe produces a file containing the credential material LSASS holds, which the attacker can parse offline with a tool such as Mimikatz. Because it uses only signed Windows binaries, this living-off-the-land method avoids dropping a dedicated dumping tool, so the command line recovered from memory is often the clearest evidence of it.

Why the other options are wrong

  • A. Registering a COM server uses regsvr32 or registry writes, not the MiniDump export with a target PID and dump file.
  • B. The dump targets PID 712, which is lsass.exe, not rundll32.exe itself, and no crash occurred.
  • D. Exporting the SAM hive is done with registry tools such as reg save, not by dumping a running process with comsvcs.dll.

Question 77

In a mactime timeline built from an NTFS volume, the row below appears for a suspicious executable.

Tue Mar 03 2026 14:22:09 73728 ..c. r/rrwxrwxrwx 0 0 105233-128-3 C:/Users/kim/AppData/Local/Temp/svc.exe

What does the activity code tell the analyst about this moment?

  1. The file was created at this time
  2. The file's MFT entry, its metadata, was modified at this time
  3. The file's content was last written at this time
  4. The file was last opened for reading at this time
Show answer and explanation

Correct answer: B. The file's MFT entry, its metadata, was modified at this time

Each mactime row carries m, a, c and b positions, with a dot wherever that time does not apply to the row. Their meaning depends on the file system: on NTFS, m is file modified, a is accessed, c is MFT modified and b is created. A row showing only c therefore records a metadata change, such as a rename, attribute change or permission change, with no content write at that second. Reading c as creation is a common error carried over from other platforms and leads to wrong conclusions about when a file arrived.

Why the other options are wrong

  • A. Creation on NTFS is shown in the b position, which holds a dot in this row.
  • C. A content write is reported in the m position, which holds a dot in this row.
  • D. An access is reported in the a position, which holds a dot in this row.

Question 78

A suspicious service DLL shows identical 2018 creation times in both $STANDARD_INFORMATION and $FILE_NAME, so an SI versus FN comparison raises no alert, yet the host was built in 2025. Which approach best tests whether the times were manipulated?

  1. Correlate with independent NTFS records such as the USN journal and $LogFile, which log changes as they actually occur
  2. Accept the values, because $FILE_NAME times cannot be changed by any means
  3. Validate the creation time against the DLL's $STANDARD_INFORMATION last-access time
  4. Validate the creation time against the DLL's $STANDARD_INFORMATION modification time
Show answer and explanation

Correct answer: A. Correlate with independent NTFS records such as the USN journal and $LogFile, which log changes as they actually occur

Attackers who know that analysts compare $SI with $FN may perform double timestomping, altering both attributes so they match. $FN times can be influenced through kernel interaction or by moving or renaming a file. The USN change journal stamps each record with its own UTC time and a reason such as file creation, and $LogFile holds the metadata transaction journal, so their entries can expose when the file really appeared. A 2018 creation date on a host built in 2025 is itself an inconsistency worth recording.

Why the other options are wrong

  • B. $FILE_NAME times can be changed through kernel-level interaction or by moving or renaming a file, which is what double timestomping relies on.
  • C. Last access sits in the same attribute a timestomping tool can set, and its updates are often disabled, so it is not an independent check.
  • D. The modification time sits in the same $STANDARD_INFORMATION attribute the attacker has already altered, so it is not an independent check.

Question 79

A hunting rule searches every server for the default service name that PsExec creates, yet a confirmed intrusion that used PsExec produced no hits. Which PsExec option lets an operator choose the name of the remote service it creates?

  1. -s
  2. -c
  3. -r
  4. -i
Show answer and explanation

Correct answer: C. -r

PsExec's -r option specifies the name of the remote service to create or interact with, so an operator can replace the default service name with anything that blends in. A detection that matches one fixed service name is therefore easy to evade. More durable hunting looks at every new service installation on servers, the binary each new service points to, and the network logon that preceded it, because the service still has to be created on the target whatever it is called.

Why the other options are wrong

  • A. The -s option runs the remote process in the System account and does not change the service name.
  • B. The -c option copies the specified executable to the remote system for execution and does not rename the service.
  • D. The -i option makes the program interact with the desktop of a session on the remote system and does not rename the service.

Question 80

Pebmasquerade output for PID 5120 shows EPROCESS_ImageFileName rundll32.exe and an EPROCESS_SeAudit_ImageFileName ending in rundll32.exe, while PEB_ImageFilePath is C:\Windows\explorer.exe and PEB_ImageFilePath_Spoofed is True. What is the best conclusion?

  1. The process is rundll32.exe and its user-mode PEB was edited to make it look like explorer.exe
  2. The process is explorer.exe and the kernel recorded the wrong name during creation
  3. Explorer.exe was renamed to rundll32.exe on disk after the process started
  4. The PEB path is correct because it is protected from modification by user-mode code
Show answer and explanation

Correct answer: A. The process is rundll32.exe and its user-mode PEB was edited to make it look like explorer.exe

The image name in EPROCESS and the audit path in SeAuditProcessCreationInfo are kernel-side records set when the process is created. The PEB lives in the process's own user-mode memory, so code running inside the process can overwrite its ImagePathName and command line. Pebmasquerade compares these sources and checks whether the PEB string lengths still agree with the strings, which is how it flags spoofing. Here both kernel values agree on rundll32.exe, so the explorer.exe path in the PEB is a disguise aimed at tools that trust the PEB.

Why the other options are wrong

  • B. Two independent kernel-side fields agree on rundll32.exe, and the spoof flag points at the PEB, not at the kernel record.
  • C. Renaming a file on disk does not rewrite the PEB of a running process, and the plugin flagged the PEB itself as spoofed.
  • D. The PEB is user-mode memory that the process can modify, which is exactly why it can be spoofed.

That was 80 of 318.

The full GIAC Certified Forensic Analyst GCFA pack has all 318 questions, each with the answer, the explanation and why the other options are wrong, plus a questions-only copy for timed runs. US$39, paid once, with free monthly updates and a pass-or-your-money-back guarantee.

Get the full pack

Not ready yet? Get the first 159 free as one PDF by email. Get the Half Pack →