How T1588 Obtain capabilities shows up before an intrusion starts
If you are a SOC lead, the question is whether adversary preparation is visible to you at all. T1588 Obtain Capabilities is the MITRE ATT&CK Resource Development technique in which an adversary acquires tools, malware, exploits or certificates they can use in operations. ATT&CK defines the parent tactic, TA0042, as the adversary trying to establish resources they can use to support operations. The short answer is that most of this work happens outside your network, so you will rarely see the acquisition itself. You will see traces of it only where the adversary's assets touch systems you can observe, or where you can consult reference sources about them.
T1588 has seven sub-techniques, which describe the broad categories of capability an adversary may obtain, such as malware, tooling, exploits and certificates. At this level, the decisions for your team are which categories matter most for your sector and threat model, and which of your existing feeds can speak to them. Detection for this technique therefore leans on reference telemetry, such as the response content and malware data components that ATT&CK's detection strategies draw on, and on what later reaches your environment, such as a binary, a certificate or a payload that you can examine. Confirm the sub-technique list and its detection strategies in the version you run, because ATT&CK releases can rename or deprecate entries.
This page targets Enterprise ATT&CK version 20.0. Before you build or map any detection, check your mappings against the version your tooling and reports use, and record that version alongside each rule. Mitigation for this technique is mapped to Pre-compromise (M1056), which in practice means the controls you apply to your own supply chain, software sources and certificate handling rather than to anything the adversary does. Plan your validation work around those points, and confirm the current mappings in the MITRE ATT&CK tactic page for Resource Development before you commit to a coverage target.
Which data sources reveal T1588 and which open-source tools collect them
This table maps each telemetry source tied to T1588 Obtain Capabilities to the signal it can show, an open-source collector that can gather it, and its limits. Read it as a starting point: the data components are named in ATT&CK detection mappings, but coverage depends on what your own environment can see and retain.
| Data source | Signal to look for | Open-source collector | Limits to confirm |
|---|---|---|---|
| Response Content (DC0104) | Public or externally hosted content retrieved for known tooling, lures or staging material associated with obtained capabilities, seen through threat intelligence or web collection | Threat intelligence feeds and collection pipelines feeding Wazuh or Security Onion, with Zeek logs for observed HTTP responses | Most of this content sits outside your network, so visibility depends on feed quality and on what you choose to retrieve. Confirm feed licensing and retention. |
| Malware Content | Binary or script samples and their extracted features, such as embedded strings, imports or script fragments, matched against known capability families | File analysis sandboxes and hash or YARA matching in Velociraptor or Wazuh file integrity and scanning, fed by feed samples | Requires sample acquisition and analysis capacity. Endpoint scanning only sees files present on your hosts, so capabilities staged elsewhere are missed. |
| Malware Metadata | Hashes, compile details, signing certificates and file names tied to a capability, correlated with endpoint or email artifacts | Velociraptor artifact collection for file hashes and signatures, combined with Wazuh alerts and threat intelligence enrichment | Metadata is easy to change, so treat it as a lead rather than proof. Confirm which fields your feeds supply and how long you keep them. |
| Network traffic content (DC0085) | Connections to infrastructure linked to obtained capabilities, such as known download or update hosts, seen in packet or protocol metadata | Zeek for protocol logs and Suricata rules for network alerts, both within Security Onion | Encrypted traffic limits content inspection. Visibility is limited to egress points you monitor, and TLS metadata may be incomplete. |
| Threat intelligence indicators | Indicators of compromise and capability names from shared reports, matched against your logs | MISP or OpenCTI for intelligence sharing, with indicators pushed into Wazuh or Security Onion rules | Indicators age quickly and can produce false matches. Confirm how your team reviews and expires indicators. |
| Endpoint file and process inventory | Newly introduced tooling or utilities on hosts that match known capability profiles, used as internal confirmation | Velociraptor hunts and Wazuh inventory and syscollector data | Only shows what reached your endpoints. Reconnaissance and staging performed off your estate will not appear here. |
Detection ideas for T1588 that a SOC can tune
T1588 Obtain capabilities is largely visible outside the victim's network, so the most useful detections combine inbound file and hash matching with network-side checks on what hosts fetch. Each card below names the logic, what to baseline first, and the benign activity that will trigger it.
Match inbound files against malware metadata
Compare hashes, file names and embedded metadata of files entering through mail, web and file transfer against malware metadata your threat intelligence provider or open-source feeds supply. T1588 covers adversaries acquiring malware and tools, so a match on a known sample is a strong signal worth an alert. Baseline first the hash and name volume of legitimate software installers used in your estate. Expect false positives from software distribution, security tool updates and red team activity, and exclude them by source and signing certificate rather than by file name alone.
Flag downloads of tooling from unexpected sources
Alert when a server or workstation fetches known offensive or dual-use tooling, or certificate and key material, from a destination it has no business reaching. Build a per-host baseline of destination domains and content types over a representative period, then alert on first-seen destinations in sensitive segments. Tune by host role, since build servers and security scanners legitimately pull unusual packages. Confirm that proxy and DNS logs cover the same hosts so that encrypted downloads are still attributable.
Correlate threat intelligence indicators with Zeek and Suricata
Join indicators such as domains, IP addresses and URLs from your intelligence feed against Zeek connection, DNS and HTTP logs, and against Suricata alerts from the same sensors. T1588 activity often involves acquiring infrastructure and tooling that later appears in traffic, so matches on the network side add context to a file-based alert. Set a retention and age limit on indicators so stale entries do not generate noise. Review match rates per indicator source before promoting any rule to paging.
Alert on newly observed commodity tool hashes
Track hashes of commonly used administration and open-source tools across the estate and alert when a hash appears for the first time on an endpoint, especially when the file name matches a known tool. This catches repackaged or modified copies that a static signature may miss. Build the baseline from software inventory and package manager records before enabling the alert. Expect noise from routine updates, developer workstations and red team exercises, so route first-seen alerts to a triage queue with a documented owner and a suppression window.
How to validate that T1588 detections fire
This sequence proves that each T1588 detection fires on the right activity, within a known time, with the fields analysts need to act. It runs in a private lab or cyber range so that tuning decisions rest on recorded evidence rather than assumptions.
Agree the detection scope and sub-techniques
Before any test artifact is created, the detection owner, the SIEM administrator and the red team lead agree which T1588 sub-techniques are in scope and which ATT&CK version the detection mappings target. The scope document lists each detection, the data component it depends on (such as Response Content, Malware Content or Malware Metadata), the expected alert name and the analyst who will triage it. The step is done when every in-scope detection has a named owner and a written pass condition agreed by all three roles.
Prepare benign or emulated test artifacts
The test team builds benign or emulated artifacts that stand in for each in-scope sub-technique, such as sample file metadata or a labeled test payload that carries no working capability. Each artifact is tagged with a unique test identifier, mapped to its sub-technique and stored with a hash record so it can be traced later. Artifacts never leave the isolated range, and the step is done when the mapping sheet pairs every artifact with one detection and one expected alert.
Run each test case in a controlled window
The test team runs each artifact in the isolated range while the SIEM operator watches the ingestion pipeline and records the exact start time of the test. Each run is logged with its test identifier, host or source, and the sub-technique it targets, so that alerts can be matched to test cases without guessing. The step is done when every test case has a recorded run, and any run that produced no ingested telemetry is flagged as a collection failure rather than a detection gap.
Confirm expected alerts in the SIEM
The SIEM operator searches for the expected alert for each test case and marks it as fired, fired with the wrong name, fired late, or not fired. A detection that fires on a different test than intended, or fires on untagged activity, is recorded as a false positive or mapping error. The step is done when each test case has one of these four outcomes and every outcome is linked to its test identifier.
Record time to alert and populated fields
For each fired alert, the operator records the time between the test action and the alert creation, along with the fields present in the event, such as the source, the data component values and the rule identifier. Missing or empty fields are noted, because an alert without the context an analyst needs will slow triage even when it fires. The step is done when the results sheet holds a time to alert and a field completeness note for every fired alert.
Log tuning changes with reasons
Where a result shows a missed alert, a late alert, a noisy alert or a missing field, the detection owner proposes a specific change and logs it with the test identifier that prompted it. Each change records the before and after rule version, the reason, and the reviewer who approved it. Changes are rerun against the same test cases before they are accepted, so the log shows the effect of each tuning decision. The step is done when every proposed change has a linked retest result.
Review results and set the next test cycle
The red team lead, detection owner and an analyst walk through the results sheet and the tuning log together and decide which detections are accepted, which remain open, and which need new test artifacts. Because ATT&CK releases can rename, deprecate or revoke techniques, the review also confirms that the mappings still match the targeted ATT&CK version. The step is done when each detection has a recorded status and the next cycle's scope is agreed in writing.
Pre-compromise controls and what they cover
ATT&CK maps the mitigation Pre-compromise (M1056) to T1588 Obtain capabilities, but the adversary acquires tools, exploits and certificates outside the victim's environment, so no control stops the acquisition itself. The controls below reduce the chance that a capability obtained by an adversary reaches your environment, and they give you the intake and sharing habits that make detection of later stages faster.
Threat intelligence intake
Feed vendor and community reporting on tools, exploit kits and certificates into a review queue that maps each item to the ATT&CK version your detections target. Confirm which intelligence sources you consume and how often analysts review them. For T1588, the useful output is a watchlist of hashes, signing certificates, domains and tool names that your telemetry can match, not a general report archive. Record who owns the queue and how items expire.
Software supply chain verification
Require signature checks and provenance records for software, libraries and build inputs before they enter your build or deployment pipeline. A capability obtained by an adversary may be repackaged, typosquatted or signed with a stolen certificate, so verification should compare the publisher, the signing identity and the artifact hash against a known-good record. Confirm that revocation of compromised signing keys is checked, not only signature validity.
Allow-listing of software sources
Restrict package repositories, container registries and download hosts to approved sources, and block direct downloads from unknown hosts on servers and administrative workstations. This limits how easily a newly obtained tool or malicious package reaches a build system. Review the allow list on a fixed schedule and document exceptions with an owner and an expiry date, since exceptions are where unapproved tools usually enter.
Sharing indicators with peers
Exchange indicators such as domains, file hashes and certificate fingerprints with sector peers and information sharing groups under agreed handling rules. Peer reports often reveal a capability before it appears in your own logs. Confirm the sharing terms, the classification rules and who may act on a shared indicator before you connect your alerting to external feeds.
Vendor and tool provenance review
Maintain a register of security tools, scanners and offensive-testing utilities used by your staff and confirm where each was obtained. Staff who download dual-use tools from unknown sources create the same exposure an adversary would. Reviewing the register quarterly and removing unsupported tools keeps your own footprint from resembling the capabilities you are trying to detect.
Mapping M1056 to your ATT&CK version
ATT&CK maps only M1056 to T1588 in the researched data, so treat it as the single mitigation entry for this technique rather than a complete control set. Each ATT&CK release can rename, deprecate or revoke techniques and mappings. Confirm the M1056 mapping for the ATT&CK version your detections target, and record the version alongside each control in your coverage register.
Triage and response when a T1588 detection fires
When a T1588 alert fires, the first decision is whether the match is real. Open the alert and compare the matched artifact (a file hash, a file name, a tool signature or a Malware Content or Malware Metadata record) against the source that produced it. Confirm the match with a second source where one exists, and check whether the artifact appears on a known test or lab host. Ask the detection owner and the red team calendar whether an authorized exercise was running in that window. If the match is confirmed as a test, record the exercise ID, close the alert with that reason and keep the artifact in the test register. If the match is not a test, treat the event as a live finding and move to scoping. Note that acquisition itself usually happens outside your environment, so the alert often tells you a tool is present on a host, not that an adversary has used it yet.
Scope the finding around the host, the account and the timeline. Identify every endpoint and user that touched the artifact, using endpoint telemetry and file creation records over a window wide enough to cover the first sighting. Preserve evidence before any cleanup: take a forensic copy or a live response collection of the file, its parent process, the user session and relevant logs, and record hashes and collection times in the case file. Then search for related alerts in the execution and command and control categories on the same hosts, such as unexpected process starts from the artifact's location, outbound connections to unfamiliar destinations, or new scheduled tasks. Those related signals determine whether T1588 is an isolated artifact or the first step of a broader intrusion. Containment should follow the evidence: isolate the host only when execution or outbound traffic is confirmed, and disable an account only when its use is suspicious and the business owner agrees.
Hand the case to the incident response team with a short, factual summary: the rule or analytic that fired, the ATT&CK version it targets, the artifacts and hosts involved, the evidence preserved and the open questions. After closure, update threat intelligence with the indicators and the source that supplied them, and record whether the artifact was a true finding, a test or a false positive. Tune the detection content: narrow overly broad hash or name matches, add known exercise hosts to an approved list, and document any new data source that would have shortened triage. Retest the rule in the private cyber range after each change, and confirm that the ATT&CK mapping still matches the version your team uses, because releases can rename or deprecate techniques. Ask your incident response provider to confirm how they expect these handoff fields to be formatted before the first real case.
Rehearsing T1588 detection in a private cyber range
This setup is the smallest practical range. It runs a SIEM, a log collector, and network sensors in an isolated lab network, with no production traffic. The goal is to confirm that the telemetry relevant to T1588 (Malware Metadata, Malware Content and Response Content) reaches the analytics layer in a usable form and that the rules fire on it. Open-source options include Wazuh for host and log telemetry and Zeek or Suricata for network sensing, with Sigma rules converted to the SIEM's query language.
- Telemetry path: Confirm that file hashes, file names and sample metadata from the test endpoint are shipped to the SIEM with timestamps and host identifiers intact.
- Rule mapping: Map each rule to the ATT&CK version you target, and record the data component each rule depends on.
- Injected artifact: Introduce a benign test file whose metadata matches a rule, for example a known-benign sample with a crafted file name, and observe whether the alert fires.
- Tuning baseline: Record alert volume and false positives before and after the inject so the rule's noise level is known.
- Coverage gaps: List which sub-techniques produced no telemetry at all, since missing data is a gap rule logic cannot fix.
Good detection means the alert appears within the agreed window, carries enough context to pivot, and is traceable to the rule version. Good response means the analyst follows the written triage steps and closes the alert with a documented disposition. Confirm the scoring criteria and window with your own team before the exercise.
A purple team range adds simulated endpoints and a joint exercise model, where the offensive and defensive staff work from a shared plan. Simulated endpoints in several operating systems let the team check whether detections hold across the fleet rather than on one reference machine. The range also tests the handoff between detection, triage and escalation, which a single-node lab does not exercise. The red side prepares the test artifacts in advance, and the blue side is kept informed only as far as the exercise design allows.
- Endpoint mix: Include the operating systems and agent versions your organization actually runs, so results reflect real coverage.
- Scripted injects: Schedule staged injects, such as a test artifact matched to malware metadata followed by a related network indicator, to see whether analysts link them.
- Detection review: Compare the alerts raised against the expected detection strategy for each sub-technique, and note where the logic was too narrow.
- Response drill: Run the containment steps from the playbook, including evidence preservation and ticket creation, and time the decision points.
- Debrief record: Capture each inject, the expected outcome, the observed outcome and the rule change proposed.
Good detection means the blue team identifies the inject from at least one data source and can explain why the rule matched. Good response means containment decisions are made from documented criteria, and evidence is preserved for later review. Agree the rules of engagement, stop conditions and communication channels in writing before the exercise starts.
An air-gapped range has no outbound connection to the internet or to vendor update services. This matters for regulated organizations that cannot send telemetry or lookups to external services during testing, and for critical infrastructure networks. The range must therefore carry its own copy of the ATT&CK content, the rule set and the threat intelligence used in the exercise, and each update must be imported through an approved transfer process. The exercise tests whether detection and response still work when external enrichment is unavailable.
- Offline content: Import the ATT&CK STIX bundle for the version you target and the rule repository through a documented transfer procedure, then verify integrity before use.
- Offline enrichment: Test alerts that normally rely on external reputation lookups, and confirm that analysts can reach a local fallback such as a cached intelligence set.
- Injected indicators: Deliver indicators that exist only in the offline set, so the exercise shows whether the local set is sufficient for triage.
- Evidence handling: Confirm that sample handling and artifact storage stay inside the enclave and meet the organization's data handling rules.
- Update drill: Practice importing a new content version and recording what changed, since ATT&CK releases can rename, deprecate or revoke techniques.
Good detection means the rules still fire without any external lookup, and the analyst can confirm the indicator from local data. Good response means the team can complete triage and escalation without contacting outside services, and the transfer log supports later audit. Confirm which content transfers your security policy allows, and agree the exercise design with your own environment and governance owner.
How the detection pipeline fits together
The detection pipeline for T1588 Obtain capabilities starts outside your environment and ends with an analyst deciding whether a suspicious file, feed entry or hosted artifact matters to your organization. The critical design point is the trust boundary between your network and external sources such as threat intelligence feeds, malware repositories and public sharing services. Anything that crosses that boundary, including indicator lists and malware metadata pulled through an API, should be treated as untrusted input until it is normalized, tagged with its source and checked against your own context. Where possible, fetch external content through a controlled egress point or a dedicated analysis host, so that lookups and downloads never originate from production endpoints.
From the external side, feed records and sample metadata (hashes, file names, compile times, observed hosting) are ingested into the SIEM, where they are joined with internal telemetry from sensors and endpoint collection. Sensor data such as Zeek or Suricata logs for DNS and TLS, and endpoint telemetry from Wazuh agents or Velociraptor collections, supply the internal side of the match. Your team should confirm which of these sources your platform ingests natively and which need custom parsers, because the join logic depends on consistent field names across sources. Analysts should receive an alert only when the correlation has a named rule, a severity and a link back to the source record, so the reason for the alert can be audited later.
Every detection logic should record the ATT&CK version it targets in the rule metadata, such as the version number and the date of the STIX bundle used to map the technique and its sub-techniques. Because ATT&CK releases can rename, deprecate or revoke techniques, a rule written against one version may need review after an upgrade. Store the mapping alongside the rule in version control, and include a review step whenever you adopt a new ATT&CK release. Confirm with your platform team where this metadata will live in your SIEM so that audit evidence can be produced without manual reconstruction.
Questions SOC leads and detection engineers ask about T1588
Why is T1588 Obtain Capabilities so hard to observe directly?
Most of the activity behind T1588 happens outside your environment, so your own sensors rarely see the act of obtaining a capability. The adversary acquires tools, exploits, certificates or malware from places you do not monitor, and the technique is defined by what happens before any intrusion touches your network. That is why ATT&CK ties detection strategies for this area to external data components such as Response Content (DC0104) and Malware Content and Malware Metadata, which come from threat intelligence feeds, sandbox outputs and shared sample repositories. Your realistic goal is to convert external indicators into internal hunts and alerts, and to be honest with stakeholders that a detection here is an early warning, not a guaranteed catch.
How do I map T1588 detections to ATT&CK version 20.0?
Start from the enterprise-attack 20.0 STIX bundle, which MITRE publishes in the attack-stix-data repository, and pull the T1588 entry along with its seven sub-techniques. Record the version in every detection artifact so later changes are traceable. Map each sub-technique to the data components it references, then to the detection strategies and analytics that MITRE attaches to them, since ATT&CK v18 replaced technique-level detections with these structures. Keep a mapping table that lists the technique ID, sub-technique ID, data component ID, the internal log source you rely on and the owning rule. Treat the table as a living control, reviewed each time a new ATT&CK version ships.
Can I collect Response Content for T1588 internally?
Only partly, because Response Content in ATT&CK refers to material returned by external services, such as web pages, certificate responses or registrar and hosting replies, that your organization does not operate. Internally, you can collect what reaches your perimeter: DNS resolution logs, proxy records, TLS certificate metadata seen on egress and outbound connections to newly registered or unfamiliar hosts. Open-source options such as Zeek can record certificate and HTTP metadata, and Suricata can flag suspicious egress, which together give you an internal view of content coming from attacker-controlled infrastructure. Confirm with your network team which fields your sensors retain and for how long before you promise any coverage.
How do I reduce false positives from legitimate software distribution?
Expect false positives wherever legitimate vendors, package mirrors and update servers resemble attacker staging. Build allowlists from your own asset inventory, not from assumptions, and scope them to named hosts, service accounts and destinations. Use Wazuh or your SIEM to correlate a signal such as a download of an unfamiliar binary with a second weak signal, such as a new parent process or an unusual time window, before raising an alert. Review suppressions on a fixed schedule and record who approved each exception. A smaller set of well-justified rules is easier to defend in an audit than a large set of noisy ones.
How can I test T1588 detections without live malware?
Test with benign, labeled artifacts and synthetic telemetry rather than real malicious samples. For illustrative purposes, a team could create a harmless test file with a known hash, publish it to an isolated internal repository, and confirm that the external-intelligence enrichment and the internal correlation rule both fire as designed. A private cyber range lets you replay recorded telemetry from past events, run detection content against it and measure what gets missed. Keep all test material inside an isolated network with no route to production, and document each test case against the ATT&CK version you target. Your testing partner should explain how they isolate the range and how they retire test artifacts afterward.
How do I keep T1588 detections current as ATT&CK changes?
Assign an owner and a review trigger tied to each ATT&CK release. MITRE publishes updates on its updates pages, and recent releases include v18 in October 2025, v19 in April 2026 and v20 in October 2026. Releases can rename, deprecate or revoke techniques and sub-techniques, so a mapping that is correct today can become stale. Diff the new STIX bundle against your previous version, flag changes to T1588 and its children, and update the rules and test cases that depend on them. Record each change in your detection change log so auditors can see when and why coverage moved.
How DeployOpen builds T1588 detections and range exercises
DeployOpen works on T1588 Obtain capabilities as a fixed-scope engagement inside the client's own environment, starting from the telemetry the client already collects. The work turns the detection logic into tested rules, documented evidence and range exercises that the client's own team can repeat.
How we scope
- Written scope names the T1588 sub-techniques, data sources and log platforms in the client's environment.
- Scope confirms which ATT&CK version the detection mappings target, so later releases can be reconciled.
- Scope lists the Response Content, Malware Content and Malware Metadata sources to be reviewed and where they are held.
How we build
- Detection logic for T1588 is written as Sigma rules and mapped to the relevant data components and analytics.
- Rules are deployed to the client's open-source stack, such as Wazuh or Security Onion, with documented field mappings.
- Each detection is paired with a Pre-compromise mitigation review and a list of gaps the client must confirm.
How we hand over
- Deliverables include rule files, test notes, validation results and a response runbook for analysts.
- A private cyber range exercise rehearses the detection and response path, with results recorded for the client.
- Documentation states what was tested, what was not, and which items the client's own team must confirm.
How we support
- Ongoing support and continuous testing are available as a retainer after the fixed-scope handover.
- Retainers can cover rule tuning when ATT&CK releases rename, deprecate or revoke techniques in later versions.
- Clients receive a quote built from the written scope, with recurring and one-time components listed separately.

