Wat is het WSF-bestandsformaat?
Bestanden met de extensie .wsf zijn scripts voor de Microsoft Windows Script Host (WSH). Dit zijn tekstbestanden die voldoen aan de XML-indeling. Ze kunnen worden geopend voor bewerking in elke teksteditor, maar het is raadzaam om een speciaal hulpprogramma zoals Visual Studio Code te gebruiken. Een enkel .wsf-bestand kan meerdere scripttaken bevatten en verschillende scripttalen ondersteunen binnen één document.
Standaard scripttalen die worden ondersteund in .wsf-bestanden zijn JScript en VBScript. Het formaat is echter ontworpen om onafhankelijk te zijn van de scripttaal - na het installeren van een compatibele engine in WSH, kan het ook talen ondersteunen zoals:
- PerlScript,
- Python,
- BASIC,
- Ruby,
- PHP,
- Object REXX.
Door verschillende scripttalen te integreren, is het mogelijk om functies die in de ene taal zijn gedefinieerd te gebruiken naast constanten van gedeclareerde objecten. Dit brengt het maken van .wsf-scripts dichter bij traditionele programmeermethoden.
.wsf-scriptbestanden worden gebruikt voor logboekregistratie en systeembeheer, en worden veelvuldig ingezet voor het automatiseren van diverse systeemtaken. Scripts kunnen worden uitgevoerd in GUI-modus via WScript.exe, in consolemodus via CScript.exe, of programmatisch worden benaderd als een COM-object via WShom.ocx. Er zijn ook debugging-tools beschikbaar.
PowerShell-scripts hebben .wsf grotendeels vervangen voor moderne Windows-automatisering sinds Windows 7, maar WSH blijft aanwezig op alle huidige Windows-versies. Belangrijke veiligheidsopmerking: .wsf-bestanden zijn een bekend mechanisme voor het verspreiden van malware - ransomware en downloaders hebben op grote schaal misbruik gemaakt van .wsf-e-mailbijlagen. Behandel elk ongevraagd .wsf-bestand met uiterste voorzichtigheid.
Beveiliging & veiligheid
RISICO: HIGHWSF-bestanden zijn een belangrijke vector voor de verspreiding van malware op Windows. Windows Script Host voert .wsf standaard uit zonder speciale installatie, en door de XML-container konden vroege e-mailfilters ze over het hoofd zien als platte tekst. Ransomware-campagnes (Locky 2016, Cerber, Sage 2017, Nemucod-downloader) maakten uitgebreid gebruik van kwaadaardige .wsf-e-mailbijlagen. Risicofactoren: (1) .wsf kan verdere payloads downloaden en uitvoeren via WScript.Shell- en XMLHTTP-objecten; (2) kan het register wijzigen, bestanden maken en systeemopdrachten oproepen; (3) geen UAC-verhoging vereist voor veel destructieve acties; (4) wordt geruisloos uitgevoerd via dubbelklikken op wscript.exe. Mitigatie: blokkeer .wsf bij e-mailgateways; schakel WSH uit via Groepsbeleid (HKLM\Software\Microsoft\Windows Script Host\Settings → Enabled = 0); voer nooit een onverwachte .wsf uit. Gebruik een tekeditor om te inspecteren voor het uitvoeren.
Formaatdetails
in een notendopProgramma's die WSF-bestanden openen
Technische details
diepe specificaties| Bestandsindeling | Correct gevormd XML-document; <package> root-element (optioneel) bevat een of meer <job id="..."> elementen, die elk een of meer <script> blokken groeperen |
| Codering | Tekst; UTF-8 of Windows-1252 (ANSI); tekencodering gespecificeerd in de XML-declaratie aan het begin van het bestand |
| XML-taakelementen | Elke <job> kan <script language="VBScript|JScript">, <reference> (typebibliotheekconstanten), <object> (COM-instantiëring), <include> (externe .vbs/.js-bestanden) en <runtime> (argumentdocumentatie) bevatten |
| Ingebouwde script-engines | JScript en VBScript zijn ingebouwd in WSH op alle Windows-versies; extra engines (PerlScript, Python, Object REXX) vereisen afzonderlijke installatie en registerregistratie |
| Meerdere talen per taak | Een enkel <job>-blok kan JScript- en VBScript <script>-secties mengen, waarbij COM-objecten en constanten over taalgrenzen heen worden gedeeld |
| Uitvoeringsmodi | GUI-modus: wscript.exe (dialoogvensters toegestaan, geen console); consolemodus: cscript.exe (stdout/stderr beschikbaar); COM-objecttoegang: WShom.ocx |
| WSH-hostversies | WSH 5.8 wordt geleverd bij Windows 7 tot en met Windows 11 en is de versie op alle huidige systemen; WSH 5.6 draaide op Windows XP |
| Typische bestandsgrootte | 1 KB - 200 KB; de meeste scripts zijn compacte bestanden voor een specifiek doel |
| Beveiligingsclassificatie | Uitvoerbaar bestand met hoog risico; WSH voert .wsf-bestanden standaard uit bij dubbelklikken zonder bevestiging van de gebruiker; veelvuldig misbruikt voor ransomware (Locky, Cerber, Sage) en malware-droppers via e-mailbijlagen |
| Platform | Alleen Windows; Windows Script Host is niet beschikbaar op macOS of Linux |
| Standaard uitvoeringshandler | Windows koppelt .wsf standaard aan wscript.exe; de koppeling kan worden gewijzigd naar cscript.exe of volledig worden uitgeschakeld via Groepsbeleid voor beveiligingsoptimalisatie |
| Moderne opvolger | PowerShell (.ps1) heeft .wsf grotendeels vervangen voor Windows-systeembeheer sinds Windows 7; WSH blijft aanwezig op alle huidige Windows-versies maar wordt niet actief ontwikkeld door Microsoft |
| Uitgebracht | 1999 with Windows Script Host 2.0 (shipped with Windows 2000; downloadable for Windows 98/NT) |
| Laatste versie | WSH 5.8 (Windows 7 / Server 2008 R2; version in all later Windows editions) |
| Specificatie | learn.microsoft.com |
WSF conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over WSF-bestanden.