Everything below uses a hypothetical record, assembled to show a shape rather than to describe a real case. It reads like a chain: a gateway authentication at 02:14, a desktop session at 02:19, a privileged account change at 02:41, and encrypted files found at 03:02. The first line looks like the answer, and the report is often written as if it were. A login is an event a gateway recorded, not a finding about how anyone got in, and that difference decides what you do next.

The symptom: a login that looks like the answer

Authentication records are the easiest evidence to obtain and the easiest to over-read. They show that the service accepted a credential at a time, from an address, for an account. They do not show who controlled the credential, whether the gateway was exploited, or whether the account holder's device was already compromised.

Three explanations fit the same login line. Someone used a stolen password, and the gateway did exactly what it was built to do. A laptop that had been compromised earlier simply logged in as usual. An unrelated exposed service provided the real entry, and the VPN session is a later, separate action by the same actor.

Each explanation predicts different evidence elsewhere in the environment, which is why the investigation has to look for those predictions rather than for confirmation of the first one that fits. A stolen password predicts unusual authentication geography or timing. A compromised laptop predicts host artefacts before the login. An unrelated entry point predicts activity that has nothing to do with the gateway at all.

Hold the events apart before you narrate them

Write the events down separately before any narrative exists, because a narrative invites the timeline to be arranged around a suspect. Each line should say what that record establishes and, separately, what it cannot establish alone. The moment two lines are merged into one sentence, an interpretation has already won.

Notice that the last event is about detection rather than about the attacker. Discovery time and compromise time are routinely hours or weeks apart, and a report that equates them will mislead every reader who comes after you.

Record where each timestamp came from, not only what it says. A collector's receipt time, an event time and a detection time are three different numbers, and silently normalising them into one column is how a timeline acquires a shape the evidence never had.

Join records only where identifiers agree

Merging records is a hypothesis, not a formatting step. The account name, the assigned VPN address, the target host and the session identifier have to agree before two rows become one story. A shared public address is not enough, because it is shared by design.

Record sourceJoin key that must matchWhat breaks when the key is missing
File-share or backup recordfile path and modification timeimpact cannot be ordered against any session
Host process record, EDR or audit loghost name and process start timethe process cannot be placed inside a session
Session broker or remote-desktop logsession identifier and target hostthe session cannot be traced back to a gateway login
Gateway authentication logaccount name and assigned VPN addressthe session cannot be followed past the gateway

Read the table from the bottom up when you are tracing an entry, and from the top down when you are scoping impact, because the two questions need opposite directions. Where identifiers do agree, say so and cite both records. Where they do not, leave the gap visible rather than closing it with an assumption.

This is also where a familiar username misleads. The same account can be used by the legitimate holder in the morning and by someone else at night, and the account name alone cannot distinguish them. Attribute the account, then attribute the person separately, and only when something supports it. Most timelines that fall apart in review did exactly this step too quickly.

Missing logs are a gap, not a negative

An absence of failed-password events does not prove that the successful login was legitimate. Valid stolen credentials produce a successful authentication record and no failures at all, which is exactly what makes credential theft attractive.

Similarly, a port that is closed today says something about today. It says nothing about whether that service was exposed then, whether it was vulnerable then, or whether it carried the attack. Historical configuration and service evidence are the only way to close that gap.

State the gap explicitly in the report. "We have no records for that interval" is a defensible sentence; "nothing else happened" is not, and it will be quoted back at you. Gaps also have owners: name the system that should have produced the record and why it did not. That line turns an omission into a remediation item.

Write findings at the level the evidence supports

Coordinate preservation, containment and recovery through the incident owner rather than around them. CISA's technical guidance emphasises collecting relevant artifacts and logs before remediation changes what remains available, and that ordering matters more than any single tool.

Re-running a suspected exploit against live equipment to close the gap is not worth the risk it adds. A test that shows an attack could work is not evidence that it did, and the difference between those two statements is the whole discipline of the exercise.

End with four lists: what was observed, what relationships the records support, what remains hypothesis, and what records are unavailable. "A VPN account was used during the incident" belongs in the second list when the records support it. "The VPN caused the ransomware" belongs nowhere until something establishes causation.

Akụkọ ndị metụtara ya