Linux Python Spawning Pseudo-Terminal via pty Module

Flags Linux executions where Python imports the pty module and calls spawn to create a pseudo-TTY session.

FreeReviewedSigma · Medium · v2
Product
linux
Category
process_creation
Author
Nextron Systems (SigmaHQ), DRL 1.1
Published
2022-06-03
Updated
2026-07-31

ATT&CK techniques

Execution
  1. Recon

  2. Resource Dev

  3. Initial Access

  4. Persistence

  5. Priv Esc

  6. Defense Evasion

  7. Cred Access

  8. Discovery

  9. Lateral Movement

  10. Collection

  11. C2

  12. Exfiltration

  13. Impact

What it detects

This rule identifies Linux process creation where a Python interpreter imports the pty module and issues a spawn operation, consistent with creating a pseudo-terminal ("pretty tty") for interactive command execution. Attackers can use PTYs to improve shell usability, maintain interactive sessions, and support reverse shell workflows. Telemetry relies on process creation events including the executable image path and full command-line content showing the pty import and spawn usage.

Related detections9 linkedT1059 — drag to rearrange
Malicious Web Server Process Spawning Command Interpreter via Web Shell (via process_creation)
Suspicious VMware Guest Operation Output Staging in vmware-system Temp Directory (via file_event)
Malicious Command Shell Spawned by SQL Server via Process Creation (via process_creation)
Suspicious Script Interpreter Spawned by Excel via DarkGate Lure
Suspicious AutoHotkey Script Execution from User Writable Path by DarkGate
Malicious China Chopper Web Shell Command Pattern in IIS Worker Process (via process_creation)
Malicious AutoHotKey Runner AutoNotify Executing AHKBot Looper Script (via process_creation)
Malicious IIS Worker Process Spawning Command Shell after ASP.NET ViewState Injection (via process_creation)
Suspicious MSSQL xp_cmdshell Enablement via sp_configure (via process_creation)
Linux Python Spawning Pseudo-Terminal via pty Module
Pivot detection · T1059 · 9 related

Changelog

v2
  1. v2
    Candidate ingested via manual entry.2026-07-31
  2. v1
    No changelog recorded for this version.2026-07-30

Detection content is published as a reviewed draft. Tune thresholds and exclusions against your own telemetry before enabling this rule for alerting.