nerdexam
GIAC

GCIH · Question #742

An investigator performing an initial analysis of a memory image identified a suspicious URL while using the strings utility. A second investigator attempting to recreate the results cannot find the…

The correct answer is D. The URL is in little endian format. The default strings command only extracts ASCII-encoded strings; Unicode strings stored in UTF-16 little-endian format require the -e l flag to be detected.

Malware Analysis & Advanced Persistent Threats

Question

An investigator performing an initial analysis of a memory image identified a suspicious URL while using the strings utility. A second investigator attempting to recreate the results cannot find the same URL when executing the command below. What could be the cause? $ strings CASE-43110.mem > case-43110.strings.txt

Options

  • AThe memory image is password protected
  • BThe memory image is compressed
  • CThe URL is in ASCII format
  • DThe URL is in little endian format

How the community answered

(37 responses)
  • A
    3% (1)
  • B
    8% (3)
  • C
    5% (2)
  • D
    84% (31)

Why each option

The default `strings` command only extracts ASCII-encoded strings; Unicode strings stored in UTF-16 little-endian format require the `-e l` flag to be detected.

AThe memory image is password protected

Password protection on a memory image would prevent the file from being read at all, not selectively hide individual strings within it.

BThe memory image is compressed

A compressed memory image would produce only garbled binary output and no readable strings would be found by either investigator.

CThe URL is in ASCII format

ASCII is precisely what the default `strings` command searches for; if the URL were in ASCII format, the second investigator would have found it without any additional flags.

DThe URL is in little endian formatCorrect

On Windows systems, strings such as URLs embedded in processes or memory are commonly stored as UTF-16 little-endian, where each character is represented by two bytes with a null byte between them. The default `strings` command interprets only single-byte ASCII sequences, so it skips these multi-byte characters entirely. The first investigator likely used `strings -e l` (little-endian 16-bit) to extract the Unicode URL, while the second investigator used the default ASCII-only mode.

Concept tested: Unicode vs ASCII string extraction in memory forensics

Source: https://sourceware.org/binutils/docs/binutils/strings.html

Topics

#memory forensics#strings utility#Unicode encoding#little endian

Community Discussion

No community discussion yet for this question.

Full GCIH Practice