Skip to content
Skillpedia
Analysis & spreadsheets35k · #5793

hunting-for-defense-evasion-via-timestomping

Helps your agent identify NTFS file timestamp manipulation. It's useful for finding files with anomalous temporal patterns that indicate malicious activity.

What it does

This tool compares file creation and modification dates on a Windows system. It looks for inconsistencies that might indicate someone tried to hide malicious activity by altering these dates.

When to use it

  • ✓Suspecting that someone altered file dates to hide malicious programs.
  • ✓Investigating if a Windows system was compromised and if there was an attempt to disguise activities.
  • ✓Checking if file dates make sense, for example, if a file isn't older than the operating system itself.

Example of what to ask your AI

“Check for file timestamp manipulation on my system.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/hunting-for-defense-evasion-via-timestomping/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/hunting-for-defense-evasion-via-timestomping/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool analyzes the NTFS file system metadata, comparing two sources of date information: one that's easy to change ($STANDARD_INFORMATION) and one that's harder to change ($FILE_NAME). If the easily changed dates are older than they should be, it's a red flag.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill hunting-for-defense-evasion-via-timestomping

Or download just the file:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/hunting-for-defense-evasion-via-timestomping/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

Hunting for Defense Evasion via Timestomping

Detect timestamp manipulation by analyzing NTFS MFT entries for discrepancies between $STANDARD_INFORMATION and $FILE_NAME attributes.

When to Use

  • Investigating suspected anti-forensic activity where an adversary may have altered file timestamps to blend malware into legitimate directories
  • Threat hunting for defense evasion (MITRE ATT&CK T1070.006) across compromised Windows systems
  • Validating timeline integrity during forensic examinations of disk images or live acquisitions
  • Triaging suspicious files that appear to have creation dates older than the OS installation or inconsistent with known deployment timelines
  • Detecting tools like Timestomp (Metasploit), NTimeStomp, SetMACE, or PowerShell Set-ItemProperty used to alter timestamps
  • Building automated detection pipelines that flag temporal anomalies in MFT data for SOC analysts

Do not use as the sole detection method; advanced adversaries can manipulate both $STANDARD_INFORMATION and $FILE_NAME timestamps (though the latter requires raw disk access and is much harder). Combine with USN Journal, $LogFile, and ShimCache/Amcache analysis for corroboration.

Prerequisites

  • Raw $MFT file extracted from a Windows system (via FTK Imager, KAPE, or live extraction)
  • MFTECmd (Eric Zimmerman tool) or analyzeMFT for MFT parsing
  • Python 3.8+ with pandas for analysis
  • Optional: mft Python library (pip install mft) for programmatic MFT parsing
  • Optional: KAPE (Kroll Artifact Parser and Extractor) for automated artifact collection
  • Timeline Explorer or Excel for visual analysis of parsed MFT output

Workflow

Step 1: Extract the $MFT from a Live System or Disk Image

# Method 1: Using KAPE to collect MFT and related artifacts
.\kape.exe --tsource C: --tdest D:\Evidence\MFT_Collection --target !SANS_Triage

# Method 2: Using FTK Imager CLI to extract $MFT
ftkimager.exe \\.\C: D:\Evidence\mft_raw.bin --e01 --include $MFT

# Method 3: Raw copy using RawCopy (handles locked NTFS system files)
RawCopy.exe /FileNamePath:C:0 /OutputPath:D:\Evidence\ /OutputName:$MFT
# Method 4: On a mounted forensic image in Linux
sudo mount -o ro,norecovery /dev/sdb1 /mnt/evidence
sudo icat -o 2048 /dev/sdb 0 > /mnt/output/$MFT

# Method 5: Using sleuthkit to extract MFT from disk image
icat -o 2048 evidence.E01 0 > extracted_MFT

Step 2: Parse the MFT with MFTECmd

Use Eric Zimmerman's MFTECmd to produce a CSV with both $STANDARD_INFORMATION and $FILE_NAME timestamps:

# Parse MFT to CSV with all timestamp columns
MFTECmd.exe -f "D:\Evidence\$MFT" --csv D:\Evidence\Parsed\ --csvf mft_parsed.csv

# The output CSV contains these critical columns:
# Created0x10         - $STANDARD_INFORMATION Created timestamp
# LastModified0x10    - $STANDARD_INFORMATION Modified timestamp
# LastAccess0x10      - $STANDARD_INFORMATION Accessed timestamp
# LastRecordChange0x10 - $STANDARD_INFORMATION Entry Modified timestamp
# Created0x30         - $FILE_NAME Created timestamp
# LastModified0x30    - $FILE_NAME Modified timestamp
# LastAccess0x30      - $FILE_NAME Accessed timestamp
# LastRecordChange0x30 - $FILE_NAME Entry Modified timestamp

Step 3: Detect Timestomping via SI vs FN Comparison

The core detection: $STANDARD_INFORMATION timestamps are easily modified by user-mode tools, but $FILE_NAME timestamps are updated only by the NTFS driver (kernel-mode). When SI timestamps are OLDER than FN timestamps, timestomping is likely:

import pandas as pd
from datetime import datetime, timedelta

def load_mft_data(csv_path):
    """Load MFTECmd parsed CSV output."""
    df = pd.read_csv(csv_path, low_memory=False)

    # Parse timestamp columns
    timestamp_cols = [
        "Created0x10", "LastModified0x10", "LastAccess0x10", "LastRecordChange0x10",
        "Created0x30", "LastModified0x30", "LastAccess0x30", "LastRecordChange0x30"
    ]

    for col in timestamp_cols:
        if col in df.columns:
            df[col] = pd.to_datetime(df[col], errors="coerce")

    return df

def detect_timestomping(df):
    """Detect timestamp manipulation by comparing SI and FN attributes.

    Key indicators:
    1. SI Created < FN Created (SI timestamp pushed back in time)
    2. SI timestamps have nanoseconds = 0000000 (tool artifact)
    3. SI Created < FN Entry Modified (impossible under normal NTFS behavior)
    4. Large gap between SI and FN timestamps
    """

…
FAQ

What are file timestamps?

These are pieces of information associated with a file that record when it was created, last modified, or last accessed.

What is 'timestomping'?

It's a technique used by attackers to alter file timestamps, making them appear legitimate or older than they actually are, to hinder detection.

Why compare $STANDARD_INFORMATION and $FILE_NAME?

The $STANDARD_INFORMATION is easier for common programs to modify, while the $FILE_NAME is updated by the file system itself (NTFS) and is harder to change. Discrepancies between them can indicate manipulation.

Details

Original description by the author

Detect NTFS timestamp manipulation (MITRE T1070.006) by comparing $STANDARD_INFORMATION vs $FILE_NAME timestamps in the MFT. Uses analyzeMFT and Python to identify files with anomalous temporal patterns indicating anti-forensic timestomping activity. '

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularity

GitHub stars
35k
Ranking position
#5793
License
Apache-2.0
Updated
8/31/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills