af Bhabesh Raj Rai, Security Research

Den 27. maj 2022 fremhævede en sikkerhedsforsker et ondsindet dokument indsendt til VirusTotal fra Hviderusland. Dokumentet anvendte Microsoft Offices fjernskabelonfunktion til eksternt at hente en HTML-fil og derefter indlæse den, hvilket kørte et PowerShell-payload via Microsoft Support Diagnostic Tool (MSDT). Modstandere, der succesfuldt kan udnytte sårbarheden, kan køre en vilkårlig kode med rettighederne i den kaldende applikation. Microsoft blev allerede informeret om fejlens brug i april, men betragtede ikke fejlen som et sikkerhedsproblem.

Analyse af det ondsindede dokument afslørede en “nul-dag”-sårbarhed, kaldet Follina, i Windows’ MSDT URL-protokol. Office-programmer kan virtuelt udføre PowerShell-kode via proxy med ms-msdt  URL-skemaet. Et URL-skema er en specifikation, der linker URL’er til specifikke applikationer. For eksempel vil en bruger, der klikker på et URL-skema (f.eks. slack://), åbne den tilsvarende applikation (Slack).

Tre dage senere udgav Microsoft fejlen CVE-2022-30190med en CVSS-score på 7,8 ud af 10 og udsendte tilsvarende vejledning. Sårbarheden svarer til en anden RCE zero-day (CVE-2021-40444) i Microsoft MSHTML. Sikkerhedsforskere har fundet ud af, at udnyttelsen har været i brug siden april.

Administratorer skal være opmærksomme på, at denne sårbarhed ikke afhænger af makroer, så udnyttelsen afhænger ikke af, om makroer er deaktiverede eller ej.

Sårbarheden er så farlig, fordi en modstander ganske enkelt kan bruge sin RTF-smag til at omgå Beskyttet visning og Application Guard for Office, da Windows automatisk åbner RTF-filen via Explorers preview-fanefunktion.

Flere fungerende PoC’er  er offentligt tilgængelige. Sikkerhedsforskere har fundet, at RTF-versioner fungerer selv på den seneste Office 365-version. I et tilfælde brugte modstanderen Follina til at levere en Cobalt Strike nyttelast.

Hurtige fakta om Follina

  • Microsoft har ikke frigivet nogen programrettelser for at rette nul-dagen
  • Microsoft Support Diagnostic Tool (MSDT) findes på alle standard Windows-installationer
  • Fejlen ligger i MSDT, og der findes andre metoder til at udnytte den ud over Microsoft Office
  • RTF-version tilsidesætter beskyttet visning og Application Guard for Office
  • En af de bedste metoder er at deaktivere forhåndsvisningsruden i Windows Stifinder

Påkrævede logkilder

  • Windows

Identifikation af udnyttelse i LogPoint

Analytikere skal se efter, om Office-programmerne kan starte MSDT-processen. For at reducere eventuelle falske positiver kan vi søge yderligere efter brugen af ms-msdt-skemaet,  som vist nedenfor.

label="Process" label=Create
parent_process IN ["*\winword.exe", "*\excel.exe", "*\outlook.exe"]
"process"="*\msdt.exe" command IN ["* ms-msdt:/id *", "* ms-msdt:-id *"] command="*IT_RebrowseForFile=*IT_BrowseForFile=*"
| chart count() by host, user, parent_process, "process", command, parent_command

LP - Searching for Follina artifacts in process creation events

Søgning efter Follina-artefakter i procesoprettelseshændelser

Microsoft Defender har en angrebsoverfladereduktionsregel (ASR), der forhindrer Office-programmer i at starte underordnede processer. Hvis administratorer har aktiveret ASR-reglen, kan de søge efter udløsere for den specifikke ASR-regel.

norm_id=WinServer label=Attack label=Surface label=Reduce
involved_file="*IT_RebrowseForFile=*IT_BrowseForFile=*"
rule_id IN ["D4F940AB-401B-4EFC-AADC-AD5F3C50688A", "26190899-1602-49e8-8b27-eb1d0a1ce869"]
| process eval("rule=if(rule_id == 'D4F940AB-401B-4EFC-AADC-AD5F3C50688A')
{ return 'Block all Office applications from creating child processes'}")
| process eval("rule=if(rule_id == '26190899-1602-49E8-8B27-EB1D0A1CE869')
{ return 'Block Office communication application from creating child processes'}")
| chart count() by host, user, rule, "process", involved_file, path

Searching for Follina artifacts in Microsoft Defender’s ASR trigger events

Søger efter Follina-artefakter i Microsoft Defenders ASR-udløsningshændelser

Microsoft har udgivet signaturer til Defender til detektion af Follina. Administratorer skal sørge for, at de videresender Defenders hændelser (Microsoft-Windows-Windows Defender/Operational) til Logpoint.

norm_id=WinServer label=Threat label=Detect
threat IN "Trojan:Win32/Mesdetty.A", "Trojan:Win32/Mesdetty.B", "Behavior:Win32/MesdettyLaunch.A", "Behavior:Win32/MesdettyLaunch.B", "Behavior:Win32/MesdettyLaunch.C"

MSDT bruger sdiagnhost.exe (Scripted Diagnostics Native Host) til at kanalere udførelser. Vi råder analytikere til at overvåge mistænkelige underordnede processer for sdiagnhost.exe . For at reducere falske positiver kan de være nødt til at sætte nogle legitime processer på listen over tilladelser.

label="Process" label=Create parent_process="*\sdiagnhost.exe"
"process" IN ["*\cmd.exe", "*\powershell.exe", "*\powershell_ise.exe", "*\wscript.exe", "*\cscript.exe", "*\rundll32.exe", "*\regsvr32.exe"]
| chart count() by host, user, "process", parent_command, command

Searching for suspicious child processes of sdiagnhost.exe

Søger efter mistænkelige underordnede processer for sdiagnhost.exe

På netværkssiden kan analytikere søge efter HTML-filer fra Office-programmer ved at søge efter tilstedeværelsen af deres brugeragent i netværkshændelser.

device_category IN [Firewall, ProxyServer, IDS] url="*.html"
user_agent="*; ms-office; *" request_method=GET

LP - Searching for Office application’s user-agents in HTTP events

Søger efter Office-programmers brugeragenter i HTTP-hændelser

Afhjælpningsmuligheder for at forhindre udnyttelse af Follina

Da der ikke findes nogen programrettelse, anbefaler vi på det kraftigste, at administratorer vurderer og implementerer følgende afhjælpninger for at forhindre udnyttelse af Follina.

  • Deaktiver MSDT-URL-protokollen via register
  • Deaktiver forhåndsvisningsruden i Windows Explorer
  • Konfigurer ASR-reglen til at blokere Office-programmer, så de ikke kan starte processer
  • Deaktiver brugen af Windows’ fejlfindingsguider via GPO

MSDT opretter PCW.debugreport.xml-filen i %LOCALAPPDATA%\Diagnostics og %LOCALAPPDATA%\ElevatedDiagnostics-mapper, efter brugeren har lukket fejlfindingsvinduet. Filen indeholder Follina-artefakter, der kan hjælpe under hændelsesrespons.

Indtil videre har Microsoft ikke udtalt sig med hensyn til en tidslinje for programrettelsen. Vi har set, hvor mange virksomheder der stadig bruger gamle versioner af Microsoft Office. Det er nu, administratorerne skal vurdere, hvilke versioner af Office der anvendes i virksomheden, og oprette en programrettelsesproces. Selvom Offices beskyttelsesfunktioner – Protected View og Application Guard for Office – ikke helt blokerer for udnyttelsen af Follina, råder vi administratorer til at sikre, at de er aktiverede og ikke at stole helt på dem.

Detecting Follina blog visual

Contact Logpoint

Contact us and learn why
industry-leading companies
choose Logpoint:

Contact Logpoint