Lion Cipher Lab

Read FLOSS output: the strings a malware author tried to hide

Why it matters

When a suspicious file lands on an analyst's desk, the first cheap question is 'what does it say about itself?' Running the classic `strings` utility answers part of it — but modern malware deliberately hides its most incriminating text (the server it phones home to, where it installs itself, the command it runs) by building those strings a byte at a time or decrypting them at runtime, so plain `strings` shows you nothing but noise. FLOSS, Mandiant's free tool, closes that gap by emulating the sample's own string-decoding code and recovering what it hid. But the tool only pays off if you can…

What you'll learn

Steps in this lab

  1. The setup: one suspicious file, and the first cheap question
  2. What FLOSS is, and its four buckets
  3. The report — read the whole thing first
  4. Bucket 1 — read the STATIC strings (what plain strings also sees)
  5. Bucket 2 & 3 — STACK and TIGHT strings (assembled at runtime)
  6. Bucket 4 — the DECODED strings are the goldmine
  7. WHY FLOSS finds what plain strings can't — emulation, not magic
  8. The third rule — WHEN FLOSS wins, its LIMITS, and HOW a pro reads it
  9. Do it for real (optional) — and clean up your thinking

Open the full interactive lab →