Follow the Payload ยท 13 โ The Dual-Use Tool: When the Binary Is Innocent
Follow the Payload โ Case 13. This register takes what an intruder leaves behind and reads it for the one thing it cannot hide: its purpose. Closing each case on the objective the payload serves: STEAL COMPUTE ยท STEAL BANDWIDTH ยท RECRUIT ยท STEAL DATA ยท EXTORT ยท PERSIST.
Twice now the register has hit a snag it flagged and deferred: at the proxy, whose agent was a semi-legitimate consumer product, and at the exfiltrator, whose tools โ tar, rsync, cloud-upload clients โ were the identical tools of legitimate backup. Both times the register noted that intent could not be read from the binary alone, because the binary was dual-use, and promised a full treatment later. This is that treatment. A dual-use tool โ netcat, curl, ssh, tar, PowerShell, a legitimate pentest utility, an ordinary sysadmin tool โ is a payload whose binary is intent-neutral: used identically by administrators and attackers, so its mere presence, and even its mere execution, says nothing about what it was for. The miner's binary encoded its objective; the netcat binary encodes none. And that breaks the method the register has relied on for twelve cases, forcing a shift the register now formalizes: for a dual-use tool, intent is not in the artifact. It is in the use.
This is a methodology case, and its subject is a relocation. Everywhere else, the register read the objective off the payload โ identify the tool, know the purpose, because the tool's function was the purpose. For the dual-use tool that shortcut fails, because the function is neutral, so identifying the tool identifies nothing about intent. "This is netcat" is not "this is a backdoor"; it is not anything about the objective at all, because netcat is exactly as much a network administrator's tool as an attacker's. So the register must find intent somewhere the artifact does not carry it โ in the operation: the specific invocation, its arguments, its destination, its context, its sequence. What was done with the tool, and by whom, and toward what โ that is where a dual-use tool's objective is written, and reading it requires the register to read the operation rather than the artifact. This case works out that reading, and the honest bimodal confidence it produces: HIGH when the use is unambiguously malicious, DECLINED when only the neutral tool is present and no malicious use is seen โ and never, ever, an objective inferred from the binary alone.
1. A Binary That Carries No Objective
Begin with what makes the dual-use tool different in kind from every payload before it: its binary carries no objective, because its function is neutral. Consider netcat. Its function is "move bytes between two network points" โ connect here, listen there, pipe data across. That function is not malicious; it is not benign; it is neutral, a general capability that a network administrator uses to test connectivity and an attacker uses to open a backdoor, with the identical binary doing the identical thing in both cases. The tool does not know or care which it is serving; it moves bytes, and moving bytes is exactly as legitimate as it is illegitimate depending entirely on which bytes, where, and why โ none of which is in the tool.
Contrast this with the miner, and the difference is total. XMRig's function is "compute proof-of-work hashes and submit them to a mining pool for a wallet," and that function is not neutral โ it is theft, because spending a stranger's compute on your wallet is theft, and there is no legitimate use of a covert miner on a compromised host. So the miner's binary encodes its objective: identify the binary as XMRig and you have identified the purpose as compute theft, because the function is the purpose. The dual-use tool has no such encoding. Identify the binary as netcat and you have identified a capability (move bytes) that is compatible with a dozen objectives and committed to none, so identification tells you what the tool can do and nothing about what it was for.
This is why possessing or even running a dual-use tool commits the operator to no objective. A miner running is compute theft happening; there is no innocent reading. But netcat running might be an administrator testing a connection or an attacker opening a shell, and the running alone does not distinguish them, because the running is neutral too โ it is only specific runnings (to this destination, spawning this shell, from this process) that carry intent. The dual-use tool is the payload whose artifact is silent on purpose at every level the register usually reads โ presence, identity, execution โ and that silence is what forces the register to look past the artifact entirely.
2. The Method That Fails, and the One That Replaces It
The dual-use tool breaks the register's default method, and stating the break precisely is the case's methodological core. The register's default, used in every purpose-built payload case, is artifact-reading: read the objective off the payload, because the artifact's function is its intent. This worked because the payloads were purpose-built โ a miner, a ransomware, a stealer each have a function that is a malicious objective, so identifying the tool identified the purpose, cleanly and at high confidence. Artifact-reading was the register's efficient shortcut: know the tool, know the intent.
For the dual-use tool, artifact-reading fails completely, because the artifact's function is neutral. There is no malicious objective encoded in "move bytes" or "fetch a URL" or "archive files" โ those functions are shared between benign and malicious use, so reading them yields no objective. "This is netcat" produces no purpose the way "this is XMRig" produced compute-theft, because netcat's function is not a purpose, it is a capability compatible with many purposes. So the shortcut is unavailable: the register cannot know the intent from knowing the tool, because the tool is intent-agnostic, and any attempt to read an objective from the neutral binary would be inventing one the binary does not contain.
The method that replaces artifact-reading is operation-reading: for a dual-use tool, read intent from the OPERATION โ the specific invocation, its arguments, its destination, its sequence โ and the CONTEXT โ who ran it, from where, toward what. The tool is the same in the benign and malicious cases; what differs is the operation it was part of, and the operation is where the objective lives. Netcat is neutral, but "netcat connecting to a known attacker address and spawning /bin/sh" is a backdoor โ the objective is in the destination and the spawn, not the netcat. Curl is neutral, but "curl fetching a script from a staging server and piping it to bash, run by the web-server user" is a loader โ the objective is in the pipe, the source, and the process, not the curl. The register reads a dual-use tool's objective by reading everything around the tool, because the tool itself is the one part of the picture that is silent.
3. The Tells Are Properties of the Use
Reading the operation means reading specific tells, and the crucial fact about all of them is that they are properties of the use, never the binary. Four kinds recur, and naming them makes the method concrete.
A malicious destination: the tool connects to, or fetches from, attacker-controlled infrastructure. Netcat to a known-bad address, curl to a staging server, ssh to an attacker's pivot host โ the tool is neutral, but where it reaches is not, and a connection to attacker infrastructure converts a neutral network tool into an observed malicious operation. The destination is read from the invocation and the network telemetry, not from the tool.
A malicious combination: tools chained into a known-malicious pattern. curl | bash โ fetch remote code and execute it โ is the loader signature, and it is malicious as a combination even though curl and bash are each entirely benign. tar a data tree and then push the archive out is the staging signature. The individual tools are neutral; the chain is the objective, because chaining these particular neutral tools in this particular order produces a malicious effect that no single tool produces.
A malicious context: an admin tool run by a process that has no business running it. When a web-server process, or a database process, spawns PowerShell or ssh or a shell, that is a strong compromise signal โ not because PowerShell is malicious (it is a legitimate admin tool) but because a web server has no legitimate reason to spawn it, so the context marks the invocation as an intruder using the web server's foothold, not an administrator doing administration. The context is read from the process tree, not the tool.
A malicious sequence: the tool used within a chain whose overall effect is theft, persistence, or destruction. Ssh to pivot to a new host, tar to stage its data, curl to exfiltrate the archive โ each step is a neutral admin action, but the sequence is a data-theft operation, and the objective is legible in the arc even though no single step declares it. The sequence is read from the reconstructed timeline, not from any one tool.
In every case, the tell is somewhere other than the binary โ the destination, the pipe, the parent process, the timeline โ and the register reads the objective from these surroundings, treating the neutral tool as the constant and its malicious use as the variable that carries the intent.
4. Bimodal Confidence: HIGH on Use, DECLINED on Presence
The dual-use tool produces a confidence that is bimodal by evidence, and understanding the two modes is the case's practical payoff. Where the invocation is unambiguously malicious โ netcat connecting to attacker infrastructure and spawning a shell, curl | bash from a web-server process, a clear theft sequence โ the objective reads at HIGH. This may seem surprising for a tool whose binary is neutral, but it is correct: the operation can be as unambiguous as any purpose-built payload's function. There is no benign account of a database process opening a reverse shell to a known-bad address, so that operation reads at HIGH exactly as an unambiguous miner does โ the unambiguity has simply moved from the artifact to the operation, and the register reads it wherever it lives.
Where there is only the neutral tool present with no malicious use observed โ netcat sitting on disk, curl in the path, PowerShell available, tar installed โ the objective is DECLINED. The register will not read an objective from the mere presence or benign availability of a dual-use tool, because the tool is intent-neutral and presence is not use. A host having netcat is not a host with a backdoor; a host having PowerShell is not a host under attack; and to read an objective from the mere availability of a dual-use capability would be to convict a benign tool of a crime it was never used to commit โ precisely the over-reading the register forbids. Absent an observed malicious operation, the dual-use tool supports no objective, and the register declines it.
So the dual-use tool's confidence is genuinely bimodal: HIGH when the malicious operation is observed, DECLINED when only the neutral capability is present, and โ critically โ nothing in between read from the binary alone. There is no "MEDIUM because netcat is a little suspicious" reading, because netcat is not a little suspicious; it is neutral, and neutrality does not degrade into weak suspicion, it stays neutral until a use makes it otherwise. The register reads the objective from use-plus-context or it declines it, and it never lets the mere identity of a dual-use tool contribute a whisper of objective-confidence, because the binary's contribution to intent-reading is, for a dual-use tool, exactly zero.
5. Why Attackers Blend, and How to Catch Them
Reading why attackers reach for dual-use tools clarifies both the objective and the defense. Dual-use tools are attractive for three linked reasons, all about evasion. They are pre-installed: netcat, curl, ssh, tar, and PowerShell are already on the host, so the attacker drops no payload โ there is nothing for a scanner to flag as malicious, because he brought no malicious file. They are pre-approved: their presence and execution are normal, expected, trusted, so they raise no alert โ an admin tool running looks like administration. And they are deniable: an attacker's netcat is byte-for-byte an administrator's netcat, so even caught, the tool itself proves nothing. Taken together, these make dual-use tools a stealth-by-blending posture โ the attacker hides in the noise of legitimate activity, achieving through tool-choice what the loader achieved through staging: invisibility to signature-based defense. The register reads heavy reliance on dual-use tools as a behavioral note: this is an operator optimizing for blending, deliberately, and that raises the bar for catching him.
For the defender, this dictates a detection posture unlike any purpose-built payload's, and it is the case's hard operational truth: you cannot block the tool. Netcat, curl, ssh, PowerShell, and tar are needed for legitimate administration โ remove or block them and you break the host โ and there is no malicious binary to signature, because the binary is benign. So detection cannot target the artifact; it must target the use. That means behavioral detection of malicious invocations (a web process spawning a shell, an outbound netcat to a strange destination, a curl | bash chain), anomaly detection of tools appearing in unusual contexts, and monitoring of what the tools connect to and do rather than merely that they exist. This is fundamentally harder than signature-based detection, because it requires understanding normal use well enough to recognize abnormal use โ and that difficulty is precisely why attackers favor dual-use tools, and precisely the challenge the living-off-the-land case takes to its limit, where the entire intrusion is built from dual-use tools and there is no purpose-built payload anywhere to find.
The honest close is that the dual-use tool is the register's presumption of innocence made structural, and it is worth stating plainly because it inverts the usual intuition. The tool is not the crime. Netcat on a host is not a backdoor; PowerShell available is not an attack; curl in the path is not exfiltration โ each is a neutral capability that becomes malicious only in a malicious use, and reading an objective from the mere presence of any of them would convict a benign tool of a crime, defaming the administrators who legitimately use these tools every day. So the register reads a dual-use tool's objective only when the malicious operation is observed, and declines it otherwise, never inferring intent from a capability. The vectors do not lie, but a dual-use tool's vector is the operation, not the binary โ the binary is silent, and reading the operation is the only way to read the intent honestly. We read the use, not the tool; we name the objective when the use is malicious and decline it when only the neutral tool is present; and we let people judge โ refusing to make a tool's presence its guilt.
6. The counter-narrative, steelmanned
The strongest objection to this case is that reading intent from use and context instead of the artifact just relocates the register's whole method onto softer ground. A binary's function is a fixed, analyzable fact โ you can disassemble it and prove what it does. An invocation, a context, a sequence are far more ambiguous and far more spoofable: the same command line can be argued innocent or guilty depending on interpretation, a process tree can be misread, a "malicious destination" might be a legitimate-but-unfamiliar one, and an attacker can deliberately make malicious use look like admin use. So, the objection says, the dual-use reading is inherently weaker than artifact-reading โ built on mushier evidence โ and the register should honestly admit that its confidence for dual-use tools is categorically lower than for purpose-built payloads, rather than claiming it can reach the same HIGH on this softer footing.
The objection is serious because it is half true: the evidence for a dual-use tool genuinely is different in kind, and some of it genuinely is softer. A borderline invocation โ netcat to an unfamiliar address that might be benign, PowerShell in a context that is unusual but not impossible โ really is more ambiguous than a disassembled miner, and a register that treated every dual-use invocation as HIGH would be over-reading exactly as the objection fears. The concern that operation-reading can be stretched, argued, and spoofed is real, and an undisciplined analyst reading intent into ambiguous command lines would produce precisely the mushy over-confidence the objection describes.
The register answers that it agrees the evidence is different and denies that the confidence ceiling is categorically lower โ because the register's HIGH standard was never "the evidence is a binary"; it was "there is no benign account, and the thing was executed," and that standard applies to operations exactly as to artifacts. An unambiguously malicious invocation โ a database process spawning a reverse shell to a known-bad address, curl | bash fetching from attacker infrastructure โ has no benign account, just as an unambiguous miner has no benign account, and "no benign account exists" is the HIGH standard whether the thing lacking a benign account is a function or an operation. The database-process-reverse-shell is not a soft or arguable read; it is as conclusive as a disassembled ransomware, because no legitimate administration produces it, and conclusiveness is what HIGH means. So the ceiling is the same: an unambiguous operation reaches HIGH because it meets the same no-benign-account bar. What the objection correctly identifies is that not all dual-use operations are unambiguous โ and here is the register's actual answer to the softness: where the operation is ambiguous, the register does not guess, it DECLINES. The bimodal confidence of section 4 is precisely the discipline the objection demands: HIGH where the operation is unambiguously malicious (no benign account), DECLINED where it is not โ and no soft middle read from thin interpretation. The register never says "MEDIUM because this invocation looks a bit suspicious"; it says HIGH when the operation is conclusive and DECLINED when it is not, which means the softness the objection fears is handled by declining, not by producing weak confidences. So the dual-use reading is not "weaker artifact-reading"; it is the same executed-and-unambiguous standard applied to operations instead of artifacts, and it produces the same two outcomes โ conclusive HIGH or honest DECLINE โ with the same refusal to occupy a mushy middle. The objection is right that operations can be ambiguous and spoofed; the register's response is not to read them at reduced confidence but to require the same unambiguity it required of artifacts, and to decline exactly when that unambiguity is absent. The ground is different; the standard on it is identical; and the discipline that made artifact-reading trustworthy โ HIGH only with no benign account, decline otherwise โ is exactly what makes operation-reading trustworthy too.
7. Objective Signal โ NONE (Intent From the Use)
Case 13 formalized the dual-use problem the register flagged at the proxy (Case 2) and the exfiltrator (Case 6). A dual-use tool โ netcat, curl/wget, ssh, tar, PowerShell, a pentest utility, an admin tool โ is a payload whose binary is INTENT-NEUTRAL: used identically for legitimate administration and malicious ends, so its presence and even its execution say nothing about intent. This BREAKS the register's default method: for a purpose-built payload the artifact's FUNCTION is its intent (a miner mines, so identifying the tool identifies the purpose), but for a dual-use tool the function is neutral, so identifying the tool identifies NO purpose ("this is netcat" tells you nothing, where "this is XMRig" told you everything). So the register abandons artifact-reading for OPERATION-reading: intent lives in the USE (the specific invocation, arguments, destination, sequence) and the CONTEXT (who ran it, from where, toward what), not the neutral binary โ netcat is neutral, but "netcat to attacker infrastructure spawning a shell" is a backdoor.
The tells that convert a neutral tool into a read objective are all properties of the use: a malicious DESTINATION (attacker infrastructure), a malicious COMBINATION (curl|bash โ the loader signature), a malicious CONTEXT (a web/database process spawning an admin tool), a malicious SEQUENCE (a chain whose overall effect is theft/persistence/destruction). Confidence is BIMODAL by evidence, read from use-plus-context and never the binary: HIGH where the invocation is unambiguously malicious (as conclusive as any purpose-built payload), DECLINED where only the neutral tool is present with no malicious use observed (presence is not use) โ no soft middle read from the binary alone. Attackers favor dual-use tools because they are PRE-APPROVED and PRE-INSTALLED (already on the host, trusted, deniable โ a stealth-by-blending posture, living off the land), so defensively you CANNOT block the tool (it is needed for administration and its binary is benign); detection must target the USE (behavioral, not signature) โ harder than signatures, which is exactly why attackers favor them, and the challenge the living-off-the-land case (W) takes to its limit.
The linkage signal is NONE โ this is methodology. The dual-use tool is the register's presumption of innocence made structural: the tool is NOT the crime, and reading an objective from mere presence would convict a benign capability, so the register names an objective ONLY when the malicious operation is observed and declines it otherwise, never inferring intent from a capability. Author LOW (dual-use tools are universal). The steelmanned objection โ that reading from use/context is softer, more spoofable ground than artifact-reading, so dual-use confidence should be categorically lower โ is answered by the register agreeing the EVIDENCE is different and denying the CEILING is lower: the HIGH standard was always "no benign account, and executed," which applies to operations as to artifacts (a database process opening a reverse shell to a known-bad address has no benign account, exactly like an unambiguous miner), and where the operation IS ambiguous the register DECLINES rather than guesses โ so the dual-use reading is the SAME executed-and-unambiguous standard applied to operations, HIGH where unambiguous and DECLINED where not, never a soft middle. No individual named โ pure methodology. Classification: TLP:WHITE. We read the use, not the tool, name the objective when the use is malicious and decline it when only the neutral tool is present, and let people judge.
Follow the Payload โ Case 13. Objective signal: NONE (methodology โ intent read from the use, not the tool). A DUAL-USE tool (netcat, curl/wget, ssh, tar, PowerShell, a pentest/admin utility) has an INTENT-NEUTRAL binary โ used identically for administration and attack, so presence and execution encode NO objective. This BREAKS artifact-reading (for a purpose-built payload the artifact's FUNCTION is its intent โ a miner mines; for a dual-use tool the function is neutral, so 'this is netcat' identifies no purpose). Intent is read from the OPERATION (invocation, arguments, destination, sequence) and CONTEXT (who ran it, whence, toward what), not the artifact. TELLS (all properties of the use): malicious DESTINATION (attacker infra), malicious COMBINATION (curl|bash โ loader signature), malicious CONTEXT (web/db process spawning an admin tool), malicious SEQUENCE (a chain whose overall effect is theft/persistence). Confidence is BIMODAL: HIGH on an unambiguously malicious invocation (as conclusive as a purpose-built payload โ no benign account), DECLINED on neutral presence with no malicious use (presence is not use), never a soft middle from the binary. Attackers favor dual-use tools because PRE-APPROVED + PRE-INSTALLED + deniable (stealth-by-blending, living off the land), so you CANNOT block the tool โ detect the USE (behavioral, not signature). The tool is NOT the crime; its presence is not its guilt (presumption of innocence made structural). Steelmanned objection (use/context is softer, more spoofable than a binary, so dual-use confidence is categorically lower) answered by the HIGH standard being 'no benign account + executed' โ which applies to operations as to artifacts โ and by DECLINING where the operation is ambiguous rather than guessing: the SAME executed-and-unambiguous standard applied to operations, HIGH-or-DECLINED, no mushy middle. No individual named โ pure methodology. Classification: TLP:WHITE. Include everything โ a dual-use tool's vector is the operation, not the binary; read the use, name the objective only on malicious use, decline on neutral presence.