MITRE ATT&CK T0845: Program Upload
When to use this skill
Use this skill when the task involves T0845, Program Upload, ics ATT&CK, TTP mapping, detection engineering, hunting, incident-response enrichment, control validation, or authorized adversary-emulation planning. Treat it as a defensive analysis aid: keep outputs focused on understanding, detecting, mitigating, and safely validating this ATT&CK technique.
Technique context
- ATT&CK domain: ics
- ATT&CK ID: T0845
- Technique name: Program Upload
- Type: technique
- ATT&CK URL: https://attack.mitre.org/techniques/T0845
- Tactics: collection
- Platforms: None
- Required permissions: Not specified
- Effective permissions: Not specified
- Defenses bypassed: Not specified
ATT&CK description
Adversaries may attempt to upload a program from a PLC to gather information about an industrial process. Uploading a program may allow them to acquire and study the underlying logic. Methods of program upload include vendor software, which enables the user to upload and read a program running on a PLC. This software can be used to upload the target program to a workstation, jump box, or an interfacing device.
Agent workflow
- Clarify scope: identify the system, asset class, log sources, cloud or endpoint platform, and whether the user wants triage, detection, coverage assessment, or safe emulation planning.
- Load bundled resources as needed: use
references/technique-profile.json for structured metadata, references/detection-and-mitigation.md for triage and telemetry guidance, references/known-threat-context.md for ATT&CK relationship context, and templates/ for repeatable outputs.
- Map observations to ATT&CK: compare the user's evidence to the ATT&CK description, tactics, platforms, and known procedure patterns before asserting a match.
- Produce defensive outputs: prioritize hypotheses, telemetry requirements, detection logic ideas, validation steps, containment guidance, and mitigations.
- Preserve uncertainty: distinguish confirmed evidence, plausible indicators, assumptions, and gaps. Recommend what to collect next.
- Stay safe: do not provide malware, credential theft, persistence, evasion, destructive automation, or unauthorized exploitation instructions. For adversary emulation, keep steps bounded to approved lab or control-validation contexts and omit operational abuse details.
Bundled resources
references/technique-profile.json: machine-readable ATT&CK metadata for this technique.
references/detection-and-mitigation.md: detection notes, telemetry checklist, triage questions, mitigation candidates, and false-positive considerations.
references/known-threat-context.md: ATT&CK relationship context with attribution cautions.
templates/detection-brief.md: detection engineering brief template.
templates/hunt-plan.md: threat hunt plan template.
templates/incident-response-note.md: incident response note template.
templates/coverage-assessment.md: ATT&CK coverage assessment template.
scripts/render_brief.py: local helper that renders a Markdown defensive brief from technique-profile.json.
assets/output-schema.json: JSON schema for structured technique analysis outputs.
To generate a quick brief, run python scripts/render_brief.py --output brief.md from inside this skill directory, or adapt the templates directly.
Detection guidance
No ATT&CK detection guidance was present in the source STIX object.
Useful telemetry and data sources
- Not specified in the STIX object.
Mitigations to consider
- Access Management
- Authorization Enforcement
- Communication Authenticity
- Filter Network Traffic
- Human User Authentication
- Network Allowlists
- Network Segmentation
- Software Process and Device Authentication
Known threat context
Use these examples only as contextual leads, not as proof that an observed event is this technique:
- INCONTROLLER (malware)
- Triton (malware)
Recommended output pattern
When responding with this skill, structure the answer as:
- Assessment: whether the evidence supports this ATT&CK mapping and why.
- Evidence: specific indicators, logs, behaviors, and assumptions.
- Detection: telemetry sources, analytic logic, and tuning considerations.
- Response: containment, eradication, recovery, and validation actions.
- Coverage gaps: missing logs, sensors, controls, or environmental details.
- References: include the ATT&CK URL and any user-provided evidence references.
1---2name: attack-ics-t0845-program-upload3description: Analyze MITRE ATT&CK T0845 Program Upload in the ics matrix. Use for TTP triage, detection engineering, hunting, defensive emulation planning, mitigations, incident response mapping, ATT&CK coverage, or questions mentioning T0845, Program Upload, or ics ATT&CK. Adversaries may attempt to upload a program from a PLC to gather information about an industrial process.4license: MITRE ATT&CK Terms of Use apply to ATT&CK-derived content. See h5---67# MITRE ATT&CK T0845: Program Upload89## When to use this skill1011Use this skill when the task involves T0845, Program Upload, ics ATT&CK, TTP mapping, detection engineering, hunting, incident-response enrichment, control validation, or authorized adversary-emulation planning. Treat it as a defensive analysis aid: keep outputs focused on understanding, detecting, mitigating, and safely validating this ATT&CK technique.1213## Technique context1415- ATT&CK domain: ics16- ATT&CK ID: T084517- Technique name: Program Upload18- Type: technique19- ATT&CK URL: https://attack.mitre.org/techniques/T084520- Tactics: collection21- Platforms: None22- Required permissions: Not specified23- Effective permissions: Not specified24- Defenses bypassed: Not specified2526## ATT&CK description2728Adversaries may attempt to upload a program from a PLC to gather information about an industrial process. Uploading a program may allow them to acquire and study the underlying logic. Methods of program upload include vendor software, which enables the user to upload and read a program running on a PLC. This software can be used to upload the target program to a workstation, jump box, or an interfacing device.2930## Agent workflow31321. Clarify scope: identify the system, asset class, log sources, cloud or endpoint platform, and whether the user wants triage, detection, coverage assessment, or safe emulation planning.332. Load bundled resources as needed: use `references/technique-profile.json` for structured metadata, `references/detection-and-mitigation.md` for triage and telemetry guidance, `references/known-threat-context.md` for ATT&CK relationship context, and `templates/` for repeatable outputs.343. Map observations to ATT&CK: compare the user's evidence to the ATT&CK description, tactics, platforms, and known procedure patterns before asserting a match.354. Produce defensive outputs: prioritize hypotheses, telemetry requirements, detection logic ideas, validation steps, containment guidance, and mitigations.365. Preserve uncertainty: distinguish confirmed evidence, plausible indicators, assumptions, and gaps. Recommend what to collect next.376. Stay safe: do not provide malware, credential theft, persistence, evasion, destructive automation, or unauthorized exploitation instructions. For adversary emulation, keep steps bounded to approved lab or control-validation contexts and omit operational abuse details.3839## Bundled resources4041- `references/technique-profile.json`: machine-readable ATT&CK metadata for this technique.42- `references/detection-and-mitigation.md`: detection notes, telemetry checklist, triage questions, mitigation candidates, and false-positive considerations.43- `references/known-threat-context.md`: ATT&CK relationship context with attribution cautions.44- `templates/detection-brief.md`: detection engineering brief template.45- `templates/hunt-plan.md`: threat hunt plan template.46- `templates/incident-response-note.md`: incident response note template.47- `templates/coverage-assessment.md`: ATT&CK coverage assessment template.48- `scripts/render_brief.py`: local helper that renders a Markdown defensive brief from `technique-profile.json`.49- `assets/output-schema.json`: JSON schema for structured technique analysis outputs.5051To generate a quick brief, run `python scripts/render_brief.py --output brief.md` from inside this skill directory, or adapt the templates directly.5253## Detection guidance5455No ATT&CK detection guidance was present in the source STIX object.5657## Useful telemetry and data sources5859- Not specified in the STIX object.6061## Mitigations to consider6263- Access Management64- Authorization Enforcement65- Communication Authenticity66- Filter Network Traffic67- Human User Authentication68- Network Allowlists69- Network Segmentation70- Software Process and Device Authentication7172## Known threat context7374Use these examples only as contextual leads, not as proof that an observed event is this technique:7576- INCONTROLLER (malware)77- Triton (malware)7879## Recommended output pattern8081When responding with this skill, structure the answer as:8283- Assessment: whether the evidence supports this ATT&CK mapping and why.84- Evidence: specific indicators, logs, behaviors, and assumptions.85- Detection: telemetry sources, analytic logic, and tuning considerations.86- Response: containment, eradication, recovery, and validation actions.87- Coverage gaps: missing logs, sensors, controls, or environmental details.88- References: include the ATT&CK URL and any user-provided evidence references.