MalwareTech

malwaretech.com · Personal blog · on HN since 2013

Marcus Hutchins, a security researcher, writes about malware, vulnerabilities, and his own incidents, including stopping WannaCry.

What HN saysHN commenters cite his write-ups as the best account of the WannaCry kill switch and the Windows IPv6 CVE-2024-38063 bug.
56HN people shared it
30linked it in comments
30stories submitted
2.3Kstory points
10 months agolast shared
2013people per year2026

Most-shared posts

  1. 1
    Accidentally Stopping a Global Cyber Attack
    8 people · 2.0K points · first shared 2017 · 338 comments on HN
  2. 2
  3. 3
    CVE-2024-38063 – Remotely Exploiting Windows via IPv6
    3 people · 2 points · first shared 2024 · discussion on HN
  4. 4
    Public Statement
    3 people · 1 points · first shared 2019 · discussion on HN
  5. 5
    Hard disk firmware hacking part 1
    3 people · first shared 2017
  6. 6
    Every Reason Why I Hate AI and You Should Too
    2 people · 135 points · first shared 2025 · 55 comments on HN
  7. 7
    Best Programming Languages to Learn for Malware Analysis
    2 people · 5 points · first shared 2018 · 1 comments on HN
  8. 8
    Petya Ransomware Attack – What’s Known
    2 people · 3 points · first shared 2017 · discussion on HN
  9. 9
    Exploring Peer to Peer Botnets
    2 people · 2 points · first shared 2017 · discussion on HN
  10. 10
  11. 11
    Mapping Mirai: A Botnet Case Study
    2 people · 1 points · first shared 2016 · discussion on HN
  12. 12
    Surviving reformats by infecting the hard disk firmware
    1 people · 64 points · first shared 2015 · 34 comments on HN
  13. 13
    Bootkit Disk Forensics – Part 1
    1 people · 26 points · first shared 2015 · discussion on HN
  14. 14
    Analysis of CVE-2019-0708 (BlueKeep)
    1 people · 18 points · first shared 2019 · discussion on HN
  15. 15
    Bootkit Disk Forensics – Part 2
    1 people · 5 points · first shared 2015 · discussion on HN

What HN people wrote when they linked it

fourfour3 · 2024-10-06
https://malwaretech.com/2024/08/exploiting-CVE-2024-38063.html is very worthwhile reading as a write on up this - it's nothing inherent in IPv6 and was a bug in Windows's packet processing of reassembled packets. I'm not convinced it would be particularly exploitable with a firewall between the system and the rest of the internet blocking unsolicited incoming traffic -which is what most consumer routers etc are doing for IPv6.
dx87 · 2020-05-12
He named his own blogpost of the incident "How to Accidentally Stop a Global Cyber Attacks". He thought it was trying to spread like a worm, and they followed standard procedure to register the domain and black hole the traffic. https://www.malwaretech.com/2017/05/how-to-accidentally-stop-a-global-…
DougBTX · 2017-05-14
The MalwareTech article that documents this best, https://www.malwaretech.com/2017/05/how-to-accidentally-stop-a-global-… , uses Necurs as an example of a trojan that uses randomly generated domain names, so probably not at technical reason.
armitron · 2019-04-26
Keep in mind that Hutchins had no idea what registering the domain would do at the time of registration. It was pure dumb luck that it turned out for the best, it could very well have been a disaster. In fact he even admits that he went through a panic phase after domain registration where he thought he'd triggered the malware [1]. Which makes all the "He's a hero" articles bogus if not amusing to say the least. "After about 5 minutes the employee came back with the news that the registration of the domain had triggered the ransomware meaning we’d encrypted everyone’s files (don’t worry, this was later proven to not be the case), but it still caused quite a bit of panic." This nytimes article is just terrible. Absolutely terrible. Sarah Jeong should be ashamed. After this and the way she treated Naomi Wu [2], I don't think I'm going to be giving her any journalistic credence. [1] https://www.malwaretech.com/2017/05/how-to-accidentally-stop-a-global-… [2] https://medium.com/@therealsexycyborg/shenzhen-tech-girl-naomi-wu-my-e…
iamnothere · 2026-01-02
IPv6 itself seems to provide a larger attack surface based on IPv6-specific CVEs. I don’t know if it’s the added complexity or that it’s treated as a second class citizen by devs, but I still see a solid number of these coming across the CVE feed. This one was particularly scary: https://malwaretech.com/2024/08/exploiting-CVE-2024-38063.html
v8dev123 · 2021-04-26
OOP and Boost also Templates has benefits when it comes to increasing barrier of static reverse engineering. For example, Security researcher "Marcus Hutchins" famously echoed that Boost is a cluster fuck of OOP sadness [0] Similarly, a close friend of mine "Omer Yair" mentioned [1], "A well written OOP malware might be harder to RE statically than a poorly written C code. Writing OOP malware badly though just makes it similar to C code so not sure of the benefits going that route." [0] https://www.malwaretech.com/2017/04/the-kelihos-botnet.html [1] https://twitter.com/yair_omer/status/1262020385203200000
kjs3 · 2019-11-21
Yup, and I've been telling my clients for years that it's just a checkbox exercise. No one really does key management well in the first place for self-encrypted drives, and when people started publishing things like [1], it was clear the game was up. For circumstances where the data is genuinely sensitive, we've pushed for physical destruction of the drive. Bonus: throwing pallets of old drives into the incredibly loud shredder our destruction partners use is a lot of fun. [1] https://www.malwaretech.com/2015/04/hard-disk-firmware-hacking-part-1.…
StillBored · 2019-07-04
The "instruction hacking.." bit at the end seems a bit out of place given the rest of the page. What it feels like is that its a poorly written attempt to ban software cracking and the computerized version of the previous "Instructional theft" ban without giving people the mental strings to discover how to get free warez and bypass things like hotel keycards, free token cards for the arcade/etc. Frankly, I'm frequently surprised by what I stumble upon on youtube.. (better article with the TOS bits in question) https://www.malwaretech.com/2019/07/youtubes-new-policy-on-hacking-tut…
fortenforge · 2019-04-19
He's also posted a statement on his website admitting to the crime. https://www.malwaretech.com/public-statement
tyingq · 2019-01-27
This person got pretty far with the Marvell ARM WD drive controller in 2015: https://www.malwaretech.com/2015/04/hard-disk-firmware-hacking-part-1.… Also see: http://spritesmods.com/?art=hddhack&page=1
slowburning · 2018-08-07
You could reformat the drives but what if someone has infected the firmware on the drive? Check out: https://www.malwaretech.com/2015/04/hard-disk-firmware-hacking-part-1.…
armada651 · 2017-08-14
Apparently it's about this code: https://www.malwaretech.com/2015/01/inline-hooking-for-programmers-par… This is function hooking code. It's useful when you need to change the behaviour of an application, by redirecting a function call to your own function. Like any piece of code it has both legitimate and nefarious uses. However, function hooking is very basic stuff. Anyone who has ever tried to learn how things work under the hood will have written function hooking code before.
jtl999 · 2017-08-03
Here it is > For anyone still into IRC, MalwareTech has partnered with sigterm.no to launch a new IRC network. It’s still fairly new so don’t expect an instant response, but everyone is welcome (socializing or just asking for help). https://www.malwaretech.com/2014/10/new-irc-launc.html
okket · 2017-06-27
"Petya Ransomware Attack – What’s Known" https://www.malwaretech.com/2017/06/petya-ransomware-attack-whats-know… Kill Switch Although some companies have claimed to have found a kill switch, this is nothing more than PR as the so called “kill switch” is only activated by modifying files on your own system (which can be done to stop most malware) and is not doable remotely like the WannaCry was. Furthermore, as stated above it’s unlikely the Perya ransomware is still spreading and the damage has already been done, thus a kill-switch would be futile.
jayflux · 2017-05-15
Edit: just read this ... In certain sandbox environments traffic is intercepted by replying to all URL lookups with an IP address belonging to the sandbox rather than the real IP address the URL points to, a side effect of this is if an unregistered domain is queried it will respond as it it were registered (which should never happen). https://www.malwaretech.com/2017/05/how-to-accidentally-stop-a-global-… Does someone have more info on this? I didn't know VMs do this?
bichiliad · 2017-05-15
The point of the killswitch is to detect if the worm is running inside a sandbox. Some sandboxes will resolve any domain you try to ping, so an easy way to detect this is to ping a non-existent domain name. I'm not totally sure how pinging an existing domain would give you the same behavior, but doing something like checking a handful of random non-existent domains from a large list could do the trick. From the sounds of it, it seems like the researchers didn't expect the killswitch to disable the malware outside of the sandbox any more than the author of the malware did[0]. [0]: https://www.malwaretech.com/2017/05/how-to-accidentally-stop-a-global-…
sasas · 2017-05-15
He applied for GHCQ but while waiting for clearance, he was offered a better job offer. https://www.malwaretech.com/2016/05/infosec-without-degree.html
simonw · 2017-05-13
I found this explanation pretty convincing as to why there was such a dumb kill switch embedded in the malware: "I believe they were trying to query an intentionally unregistered domain which would appear registered in certain sandbox environments, then once they see the domain responding, they know they’re in a sandbox the malware exits to prevent further analysis" From https://www.malwaretech.com/2017/05/how-to-accidentally-stop-a-global-…
wolfgke · 2016-12-25
> I don't recall any * nix OS's having automount and autorun enabled by default? But I recall * nix-like OS's that have telnet enabled by default with insecure default passwords: > https://www.malwaretech.com/2016/10/mapping-mirai-a-botnet-case-study.… "Mirai propagates by bruteforcing telnet servers with a list of 62 horribly insecure default passwords, starting with the infamous admin:admin."
SCHiM · 2016-04-13
Yes. This is very easy to install using PFsense inside a virtual machine. Here's a guide that is recent and I can confirm that it works: http://www.malwaretech.com/2015/08/creating-ultimate-tor-virtual-netwo…
duskwuff · 2015-06-06
Hell, what about hard disks? Those have firmware too; it's often updatable from the host, and can be modified to add surprising new behavior: http://www.malwaretech.com/2015/05/hard-disk-firmware-hacking-final-pa… But, oddly enough, I have yet to hear anyone calling for open-source hard drives...
sp332 · 2015-01-09
Yup, from http://www.malwaretech.com/2014/12/darkode-ode-to-lizardsquad-rise-and… "I had noticed that lizardpatrol.com (the official LizardSquad website) was hidden behind cloudflare, so on a hunch I send a HTTP request to the darkode server, with the hostname set to "lizardpatrol.com".... That's right, the darkode server is also hosting the official LizardSquad website, oh dear." Why is CloudFlare protecting these sites, anyway?
Anderkent · 2013-12-06
MtGox is known for abusing the market and cancelling trades when the price falls significantly. It happened before [1]. One way to look at it is that they prevent a bank run. The other perspective is that they trick people into thinking the market price is higher than it really is, making unaware people lose even more money as they buy at the high price and the crash happens anyway, just over a longer time. [1] http://www.malwaretech.com/2013/11/mtgox-nearly-breaks-bitcoinagain.ht…
poizan42 · 2022-08-30
> It says Windows, but is it x86 or x64? x64 > Can it make a binary that's both x86 and x64 for Windows? Seems to be a PE32+, so it won't run on 32-bit Windows. > Is that even possible? Yes, it should be. A 32-bit process on 64-bit Windows can run 64-bit code by changing the segment selector - make a far call or jump to 0x33:<address>. See [0] for more details. There are some caveats though. kernel32.dll refuses to be loaded as both the 32-bit and 64-bit versions in the same executable. So the executable can probably only import ntdll. One thing one might do is just compile both a 32-bit and 64-bit version of the actual program as dll's and embed them inside the launcher and then extract and load them using only api's in ntdll. In the case of APE it would probably just embed an x64-on-x86 emulator and run the executable in that in case it's being run on x86. Another solution might be to create a .NET AnyCPU executable which will run as 64-bit on 64-bit versions of Windows. [0]: https://www.malwaretech.com/2014/02/the-0x33-segment-selector-heavens-…
sowbug · 2017-05-14
From https://www.malwaretech.com/2017/05/how-to-accidentally-stop-a-global-… posted earlier: <quote> In certain sandbox environments traffic is intercepted by replying to all URL lookups with an IP address belonging to the sandbox rather than the real IP address the URL points to, a side effect of this is if an unregistered domain is queried it will respond as it it were registered (which should never happen). I believe they were trying to query an intentionally unregistered domain which would appear registered in certain sandbox environments, then once they see the domain responding, they know they’re in a sandbox the malware exits to prevent further analysis. This technique isn’t unprecedented and is actually used by the Necurs trojan (they will query 5 totally random domains and if they all return the same IP, it will exit); however, because WannaCrypt used a single hardcoded domain, my registration of it caused all infections globally to believe they were inside a sandbox and exit... thus we initially unintentionally prevented the spread and further ransoming of computers infected with this malware. Of course now that we are aware of this, we will continue to host the domain to prevent any further infections from this sample. </quote>

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close