Skip to main content

This page is also available in Türkçe.

Switch language
Research

Reading a stealer log: what is actually in one

A walkthrough of the structure of a typical infostealer log, what each section tells a defender, and why device context changes the response.

2 min read

Stealer logs are traded as archives, and the format varies by family. Underneath the differences they carry broadly the same material. Knowing what is in one changes how you respond to it.

The anatomy of a log

  • System information. Hostname, username, OS build, locale, hardware identifiers, installed software, sometimes a screenshot.
  • Credentials. Saved logins from every browser profile on the machine, as URL, username, password triples.
  • Cookies. Full cookie jars per browser, including live session tokens.
  • Autofill data. Addresses, phone numbers, occasionally payment details.
  • Wallets and application tokens. Cryptocurrency wallets, messaging app sessions, VPN configurations.

Why the system information matters

Most tooling treats a stealer log as a bag of credentials and discards the rest. That is a mistake, because the system block is what makes the credentials correlatable.

If four hundred credentials share a hostname and a hardware identifier, you are not looking at four hundred incidents. You are looking at one infected machine — and the response is different. One machine means one reimage, one user conversation, and one scoped revocation sweep. Four hundred unlinked findings means four hundred tickets and a team that stops trusting the queue.

Reading severity off the URL

The URL field carries most of the signal. A credential for a consumer streaming service and a credential for an internal SSO endpoint appear identical in structure and differ enormously in consequence. Resolving the host against a known asset inventory — including subdomains and applications that are not on the main domain — is what turns the raw triple into a prioritized finding.

Dates, and why they are unreliable

Logs carry timestamps, and those timestamps are frequently wrong — set by the attacker’s tooling, by the repacker, or by the machine’s own clock. Treat the first date you observed the record as the reliable one, and the embedded date as a hint. Building a response SLA on an attacker-supplied field is not a foundation.

Handling it safely

Everything described here is someone’s personal data, and much of it is still live. Any process that touches it should mask by default, restrict and log access, minimize what is retained, and never require an analyst to read a working secret in order to act on it. The point of the analysis is the decision, not the plaintext.

Breach assessment

Run it against your own domains

A time-boxed assessment on the domains you register — your real exposure, not synthetic or sample data, and no procurement cycle to start one.

  1. A scoping call Which domains, brands and suppliers matter, and what you need to be able to prove internally.
  2. A live walkthrough The console, your exposure, and how a finding moves from detection to a closed ticket.
  3. A real report Sanitized, masked and structured the way you would present it to your leadership.
  4. A clear next step If the exposure does not justify a programme, we will tell you that.

Masked evidence by default · Tenant-isolated · Encrypted in transit and at rest · Nothing deployed in your estate