Skip to content

[feature] OT-aware artifact capture for FTP and TFTP uploads #11

Description

@ethan-thomason

Real industrial FTP services are used for specific purposes — firmware updates, PLC program uploads, configuration files, and recipe transfers. An attacker who discovers an exposed industrial FTP service may attempt to upload tools or malware, or download what they believe are legitimate device files.

Currently otpot accepts FTP/TFTP connections but does not safely capture or analyze uploaded files.

Proposed behavior:

  • Capture all uploaded files to a dedicated safe directory outside the VFS
  • Hash each file (SHA256) on receipt and log with source IP, timestamp, and filename
  • Classify uploads by extension — .bin, .hex, .L5X, .RSS, .ACD (Rockwell), .s7p, .ap1 (Siemens), .exe, .sh etc.
  • Log classification alongside the capture — "attempted firmware upload" vs "attempted malware delivery" tells a different story
  • Optional VirusTotal lookup via API key for executable files
  • Configurable upload size limit to prevent abuse
  • Present realistic downloadable decoy files — a fake firmware.bin, a fake config.ini, a fake ladder logic file — to encourage attackers to reveal download intent

Why OT classification matters:
An attacker uploading a .L5X file (Rockwell Studio 5000 export format) to an EtherNet/IP honeypot has revealed specific, targeted intent against Allen-Bradley infrastructure. That is fundamentally different threat intelligence than a generic malware upload.

Reference: Similar to Cowrie's artifact capture for SSH, adapted for the OT file transfer context.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions