The folder that wasn't: how one fake icon turns a PC into a crypto miner
An overview of a piece of malware that is interesting less for its code than for its reasoning. Every step it takes is there for a reason, the order is deliberate, and the whole thing hangs together as a small business plan. This post walks through that logic. If you want the hex, offsets and detection rules, the full teardown is here — this is the version you can send to a colleague.
TL;DR
- A file sits at the top level of a USB stick or a shared drive. It has a folder icon and a folder-ish name. It is a program.
- Open it and Windows runs it — because Windows hides file extensions by default, and the thing you clicked is a screensaver, which is just an executable with a different suffix.
- The first thing it does is open an empty folder on your screen. You clicked a folder, a folder opened. That reassurance is deliberate, and it happens before anything is installed.
- Behind that window it copies itself somewhere quiet, sets two separate auto-start entries, and launches two mining programs — one for your CPU, one for your graphics card.
- Then it copies itself onto every drive it can reach, including mapped network shares. No exploit, no vulnerability, no patch that would have helped. It just writes a file.
- It reports its own progress to a website at seven separate points in that sequence. Not stealing anything — counting, like a signup funnel.
- The money was supposed to arrive via twenty different payout accounts, rotated per victim, for reasons that are entirely about not getting caught by the mining pool.
- It earned nothing. Both of its outbound connections failed. It carried on installing itself anyway, because it never checks.
- It was built in 2014–2015. The mining half is now obsolete and harmless. The spreading half, the auto-starts, and a dormant "download and run anything" step all still work perfectly.
If you take one thing from this: the mining is the boring part. The interesting part is that every single step exists to make the next one possible.
The one idea the whole thing rests on
Strip away the cryptocurrency and this is a very old trick. Windows, by default, hides file
extensions for known file types. So a file called images.scr shows up in
Explorer as simply images. And Windows lets a program supply its own icon.
Put those two facts together and you can make a program that is, to the eye, indistinguishable from a folder. Here is the actual icon lifted out of the sample:
The choice of .scr is the neat part. A screensaver is a normal Windows
executable with a different extension. It runs on double-click like any program, but it
reads to a person as media rather than software — and its extension is one of the ones
Windows hides.
So there is no exploit here, and no clever code. The vulnerability being used is a default setting plus a human expectation. That is worth sitting with for a second, because it explains why this technique has survived a decade of security improvements that had nothing to say about it.
What it actually wants
Cryptocurrency mining is a lottery where tickets cost electricity. You do enormous numbers of pointless calculations, and occasionally you win a payout. Doing this profitably requires more hardware and more power than it returns for most people — unless someone else is paying for the hardware and the power.
That is the entire business model. The malware is not interested in your files, your passwords or your photos. It wants your electricity bill and your CPU cycles, converted into Monero and deposited somewhere else. Your machine gets hot, slow and loud; someone you will never meet gets a small trickle of currency.
And because a single machine trickles very slowly, the model only works at volume. Which is why the spreading matters more to the operator than any individual infection, and why the payout arrangement looks the way it does:
The detail I find most telling is the dashed line. The mining program itself contains a second, hidden payout address that takes a cut — a "dev fee" baked in by whoever wrote the miner. The operator running this campaign was themselves being skimmed by their own toolmaker. It is commodity crime with a supply chain, and everybody in that chain takes a margin.
It also has a practical consequence for attribution, which is worth flagging because it is a trap: artifacts inside a purchased tool belong to the tool's author, not to the person who deployed it. Finding an email address or a build path inside the miner tells you about the vendor, not the attacker.
The chain, in order
Here is the whole sequence. Six visible steps, plus one thing happening continuously underneath all of them:
Why that order, and not some other order
This is the bit worth dwelling on, because the ordering is not arbitrary — each step buys something the next step needs.
Reassurance comes before installation. The empty folder opens almost immediately. If the malware installed first and reassured second, there would be a window where the victim is staring at a screen that did nothing, which is exactly when people say "that's odd" and go looking. Removing that window is worth more than the fraction of a second it costs.
The copy comes before the launch. It relocates itself into a quiet directory and runs that copy, rather than running from the USB stick. Otherwise pulling out the stick kills the infection. The copy is what makes everything after it durable.
Persistence comes before spreading. Auto-start is cheap and instant; copying itself to every drive letter takes a while and touches a lot of disks. Securing its return on this machine first means an interruption halfway through the noisy part still leaves it installed.
Spreading comes last, for the same reason. It is the most likely step to be noticed and the least likely to be needed for this victim. It is an investment in the next victim, so it goes at the end where its failure costs least.
There is also a pause. Between dropping the mining programs and actually running them, it waits thirty seconds doing nothing at all. That is aimed squarely at automated analysis: a lot of sandboxes watch a sample for a short fixed window and file a report on whatever they saw. Wait long enough and the interesting part happens after the observer has stopped watching. It costs the attacker half a minute and can buy months of being classified as boring.
The seven check-ins
The band under the diagram is my favourite detail. At seven points in the sequence, it makes a web request to a fixed address — one per stage reached.
It never reads the reply. It downloads whatever comes back, deletes it unread, and moves on. So this is not configuration, and not exfiltration. It is telemetry: the operator instrumenting their own malware to see where infections drop out. How many people saw the file, how many opened it, how many got as far as mining, how many spread it onward.
That is a conversion funnel. Somebody is looking at those numbers and asking why stage four converts worse than stage three. Whatever else you think about the people who write this stuff, they are running it like a product — and that framing is more useful for predicting their behaviour than any amount of technical detail about the binary.
How it travels
The spreading deserves its own picture, because it is the part with organisational consequences rather than personal ones:
Two things follow from this, and they are the two I would actually put in an email to a team.
Patching is irrelevant here. There is no vulnerability in the chain. A fully updated, fully supported machine runs this exactly as well as an unpatched one. The only thing standing between the file and execution is whether a person double-clicks it.
One laptop can contaminate a department. The moment it reaches a mapped network share, the fake folder is sitting in a location that many people open in the normal course of their work — and every one of them is a fresh opportunity. This is why the cleanup instruction that matters is not "reimage the laptop" but "go and look at the shares that laptop could write to". Skip that and you reinfect from your own file server.
And then it earned nothing
Here is where the story turns, and where the interesting security lesson lives. The malware did everything above successfully. It also achieved precisely zero of its actual goal.
Both failures are worth understanding because neither is a defence working.
The check-in website was still up and perfectly healthy. What had gone was the operator's files on it. That is a strong hint about the nature of that site: it was not the attacker's own server but somebody else's legitimate website, quietly used as a drop point and since cleaned up. Someone's blog was doing unpaid work for a malware campaign and has since had a tidy-up.
The mining pool failed for an even more mundane reason. It now sits behind a large web front-end service, the kind that fronts a huge share of the internet. Those services carry web traffic. Mining traffic uses a different port and a different protocol, so it simply is not carried. The malware dialled 54 times and never got an answer.
And it never noticed. Not once in the entire chain does it check whether a network call succeeded. So it completed the local half of the infection at full speed — copy, auto-start, auto-start, spread — while being completely cut off.
Which produces the finding I would want a defender to take away: "the network side failed" and "we're fine" are not the same statement. A report that says "no successful connections observed" describes the attacker's bad luck, not your protection. The machine was still fully compromised and still spreading.
The context: this file is eleven years old
The mining programs inside it were compiled in 2014 and early 2015, and that dates the whole package. It matters because Monero deliberately changed the mathematics of its mining several times, ending with a wholesale change in late 2019. A miner built for the old maths cannot produce anything the new network will accept.
So this is a fossil, found in quarantine on a machine in January 2026. But "fossil" and "harmless" are different claims:
The right-hand column is the whole argument of this post. Look at the third item in particular. Buried in the chain is a step that reads a URL from a small configuration file, downloads whatever is at that address, and runs it hidden. In this build that config entry is empty, so the step is skipped and nothing is fetched.
But the machinery is intact. One line in a text file turns an obsolete cryptominer into a live delivery mechanism for anything the operator likes — ransomware, an info-stealer, whatever is fashionable. That capability never ran, so no dynamic analysis would report it. It only shows up if you read what the installer can do rather than what it did.
Which is the general lesson, and it is not specific to this family: a detonation report tells you one path through the program. It does not tell you what the program is capable of. Six capabilities in this sample never executed. The most serious one is the one that never executed.
So what do you actually do about it
Nothing here needs a new product. In rough order of how much good it does:
- Turn file extensions back on. Explorer → View → File name extensions.
The entire disguise collapses the moment
images.scrstops rendering as images. It is a checkbox, it is deployable by policy, and it defeats a whole class of this. - Treat an executable at the root of a drive as an anomaly. Legitimate
software does not install itself to
D:\. A file at a drive root with an executable extension is worth an alert on its own. - Alert on mining command lines, not on mining files. Miners are commodity, endlessly repacked, and their file hashes are worthless within days. But something that launches a program pointing at a mining pool has to say so on the command line. That one signal caught an eleven-year-old sample and will catch next year's.
- When you find one, go and look at the shares. The infected endpoint is usually the least interesting artifact. The file server it could write to is the one that reinfects everybody.
- Read the installer, not just the report. If a sample is an installer script — and a great many droppers are — the script is the capability list. The sandbox only shows you the path it happened to take.
And one thing not to do: do not block the IP address of a big web front-end service because it appeared in a report. It is shared with an enormous portion of the legitimate internet, the attacker's real server is hidden behind it anyway, and blocking it fleet-wide will cause an outage considerably more disruptive than the malware.
Takeaways
- The exploit was a default setting. Hidden file extensions plus a custom icon plus a human expectation. No vulnerability, so no patch helps.
- Every step buys the next one. Reassure before installing, copy before launching, persist before spreading. Reading the order tells you what the author was worried about.
- It measures itself. Seven check-ins, replies discarded, purely to count conversion. Treat these people as running a product, because they are.
- Failed network activity is not protection. Both channels were dead and the infection still completed, persisted and spread. "No successful connections" describes their luck, not your defences.
- Obsolete payload, current risk. The mining is finished; the worm, the two auto-starts and a dormant download-and-run step are not. Triage capability by capability, never by headline verdict.
The deep version — how the installer was pulled apart, how the payload's identity and a hidden wallet were recovered from memory, and the detection rules that came out of it — is in the full teardown.