VP-03 · Email forensics

Email headers and a message-trace export: a payment change under review

A raw e-mail asking an accounts clerk to pay an invoice to new bank details, the supplier's earlier message for comparison, and a message-trace export of the clerk's mailbox. Thirteen questions lead from file integrity and the trace lines to the times in the export and to what the export cannot show.

Synthetic training data. The organisation, people, devices, serial numbers and times are invented.

01Brief

Heron Yapı Malzemeleri Ltd. Şti. buys steel sections from Cedar Steel Supply. On Monday 16 March 2026 the mailbox ap.clerk@heron-yapi.example, used by accounts payable, received a message from accounts@cedar-steel.example. It asks that invoice 2026-0412 be paid to new bank details. The finance manager asked internal audit to check the message before any payment. Internal audit received the raw message, the supplier's earlier message of 12 March 2026 for comparison, and a message-trace export of the mailbox for 12 to 16 March 2026. The attachment named in the message is not part of this pack.

Internal audit asks:

  1. Did the message enter Heron's mail system through the supplier's own server?
  2. Which record links the export to this message, and when did the gateway receive it, in UTC?
  3. Can the headers and the export show who sent the message?

Answer from the files only: what the headers record, what the export records, and what they cannot show. Do not decide who wrote the message, whether the supplier's account was compromised, or what anyone intended.

02Evidence files

FileContentsSHA-256
README.txtScenario and file listThe brief in English and Turkish, the rules, and what the pack does not contain.cda3f32509a9227b7f21f62655192fba72623d3704fd68f6d0a8d0812d45cf93
acquisition-log.txtCollection logWhat was collected, from where, on which clock, and the SHA-256 values recorded at collection.9766c1fc95982863f54f890766e120559dab3075d64abc2f5b36e063c12ebde9
export-metadata.txtExport parametersQuery window, row limit, rows returned, the time basis of each column and the scope of the export.e18bfac3ec8c4ee1828358c18d5fa9276ce37b4d48eda4368c98decc5abe82c5
cloud-export.csvMessage-trace exportSix records of the mailbox in the window, with times in UTC, the Message-ID and the client address.bcfa4bdfe7000b88999c8a00a2b3a58e8ba1b84828527fbde5ff115d56301729
message-disputed.emlRaw message: disputedHeaders and body of the payment-change message. The attachment it names is not included.45b020315b5c527fbf7cb010deeeef078bc7635cc21afa6a891f68868554647e
message-previous.emlRaw message: earlier, same supplierHeaders and body of the supplier's invoice of 12 March 2026, for comparison.e3d675fc4d117cbecf74ab35eb85fda340ef05fb770613f33e89d0199c8802d3
manifest.txtHash manifestSHA-256 of every file above except itself. Verify before you start.(the manifest itself)

The hashes above are copied from manifest.txt. Recompute them yourself, for example with the hash tool or sha256sum.

03Before you start

  • Verify every file against manifest.txt and write the result in your examination log before you read anything else.
  • Work on copies. Read the Received lines from the bottom up: the lowest line is the earliest hop the file records.
  • Convert every time to UTC before you compare. A header with +0300 and a UTC column describe the same instant only after conversion.
  • A header is a statement made by a message or a server. It is not proof of who wrote the message. Record what it says and what it cannot show.

Keep your notes in F-02 Evidence intake form and F-04 Examination log.

04Questions

Answer from the files only. Each answer is checked in this browser; nothing is sent anywhere, and your answers are kept on this device until you clear them. 13 questions, 20 points.

  1. Q011 pointmessage-disputed.emlmanifest.txt

    8 hex characters

  2. Q022 pointsmessage-disputed.eml

    Read the Received lines of message-disputed.eml from the bottom up. Which statement about the path is true?

  3. Q032 pointscloud-export.csv

    YYYY-MM-DD HH:MM:SS, UTC

  4. Q042 pointscloud-export.csvexport-metadata.txt

    YYYY-MM-DD HH:MM:SS, UTC

  5. Q051 pointmessage-disputed.emlcloud-export.csv

    A whole number of seconds

  6. Q061 pointmessage-disputed.eml

    A domain name, as written in the header

  7. Q071 pointmessage-disputed.eml

    An e-mail address

  8. Q082 pointsmessage-disputed.emlmessage-previous.eml

    What does the Authentication-Results line of message-disputed.eml record for DMARC, and what does that record not establish?

  9. Q091 pointmessage-disputed.eml

    A whole number

  10. Q102 pointsmessage-disputed.eml

    If the accounts clerk pressed Reply, where would the headers of the message direct the reply?

  11. Q112 pointsmessage-disputed.emlcloud-export.csv

    Which field is the strongest key for matching a record of the export to this e-mail?

  12. Q121 pointcloud-export.csv

    An IP address

  13. Q132 pointsexport-metadata.txtcloud-export.csv

    Is the export complete for its query window, 2026-03-12 00:00 to 2026-03-17 00:00 UTC (end exclusive)? Choose the statement that is true.

Score 0 / 20

05Your finding

Last step: write one paragraph that answers the three audit questions as a finding. Your instructor marks it against four criteria:

  • The report lists each Received line with its server and its UTC time, from the bottom up.
  • Every time carries its basis: UTC, or local time with its offset.
  • The report states what the headers record and does not name who sent the message.
  • Each claim names its file and line, and the report states what the export does not cover.

How findings are phrased →