Lion Cipher Lab

Emulate a whole router firmware with FirmAE — boot the real web UI in a full-system emulator (no hardware)

Why it matters

In the QEMU user-mode lab you made a single embedded binary run on your x86 box — but the moment that binary was a real router daemon, it died on `nvram_get`, opened `/dev/mtd0` to nothing, and never came up, because user-mode fakes no hardware. Full-system emulation is the answer: it boots the firmware's entire kernel and root filesystem inside an emulated machine, so NVRAM, flash, and the network interfaces the device expects all exist. FirmAE automates that end to end — extract the image, infer its network config, boot it, and bring its web services up — so you can open the device's actual…

What you'll learn

Steps in this lab

  1. From one binary to the whole device — the wall user-mode left you at
  2. User-mode vs full-system — the judgment that decides which tool you reach for
  3. Meet FirmAE — and why it exists (firmadyne + arbitration)
  4. Ground rules — only emulate firmware you're allowed to, in an isolated box
  5. Install FirmAE (clone, download.sh, install.sh) — or use the Docker path
  6. Initialise FirmAE and get a permitted firmware image
  7. Check emulation first — `run.sh -c`
  8. Run it for real — `run.sh -r`, then ping the assigned IP
  9. Open the device's real web UI in your browser
  10. Prove it's a live target — scan it with nmap, then nikto
  11. When emulation still won't boot — the honest limits, and your fallback
  12. What you just did — and where it leads

Open the full interactive lab →