Quelques réglages qui peuvent améliorer sensiblement la sécurité de Windows.
En effet en réglant bien le pare-feu Windows Defender, ce dernier vous protége votre PC au mieux contre les malwares.
Le pare-feu de Windows Defender peut être largement suffisant si vous suivez toutes les règles de sécurité élémentaires.
Par défaut, le pare-feu de Windows n’est pas forcément bien réglé.
Voici quelques règles à ajouter afin d’obtenir les réglages optimales du firewall de Windows.
Cela fonctionne pour Windows 7, 8 et Windows 10 et Windows 11.
Table des matières
Introduction au réglage du pare-feu de Windows Defender
Avant de commencer, il faut plutôt être à l’aise avec le pare-feu de Windows.
Ici nous utiliserons les options avancés.
Il existe d’ailleurs aussi un tuto sur les options avancées du pare-feu de Windows : Autoriser/Bloquer une application sur le pare-feu Windows
En résumé, ce qu’il faut bloquer :
- C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe (utilisé pour télécharger et installer des logiciels malveillants, ou utiliser comme logiciel malveillants, voirLes virus ou trojan Powershell)
- C:\Windows\system32\wscript.exe : lié au Virus par clé USB ou virus raccourcis USB et Malware par VBS / WSH, peut-être utilisé pour télécharger et installer des logiciels malveillants.
- C:\Windows\explorer.exe – autoriser que les connexions vers le port 445 (SMB)
- C:\Windows\system32\mshta.exe : permet d’exécuter des applications HTML (extension .hta), ces derniers peuvent télécharger et installer des cheval de troie.
- C:\Windows\system32\rundll32.exe – en chargeant une DLL via rundll32.exe, un trojan peut télécharger d’autres malwares.
- Les processus de Word et Excel. Ceci afin de vous protéger des macros malveillantes :
- C:\Program Files (x86)\Microsoft Office\Office15\Winword.exe
- C:\Program Files (x86)\Microsoft Office\Office15\Excel.exe
Importer des règles du pare-feu de Windows Defender
Pour ceux qui ne veulent pas se prendre la tête à créer chaque règle de blocage sur le pare-feu de Windows.
Je fournis un fichier zip qui peut-être importé sur votre pare-feu.
Attention, cela va écraser toutes vos règles, donc si vous avez des règles d’acceptation pour certaines applications, elles seront perdues.
Le lien vers ces règles :
Ce zip est composé de :
- fw_windows10_bon_reglage.wfw : qui contient les règles à importer sur le pare-feu de Windows
- testconnexion.ps1 : qui vous permet de tester le blocage de PowerShell
Pour mettre en plance la règle de pare-feu :
- Sur votre clavier, appuyez sur les touches + R
- Puis saisissez wf.msc
- Faites un clic droit puis importer la stratégie
- Sur le message d’avertissement qui demande une confirmation pour importer les règles, faites oui.
- Puis naviguez dans les dossiers pour sélectionner le fichier fw_windows10_bon_reglage.wfw.
- Si l’import réussi, vous obtenez le message suivant
- Dans les règles sortantes, vous devez obtenir ceci
Tester le blocage du pare-feu Windows Defender
Vous pouvez alors tester le blocage de connexion sur Powershell avec le script testconnexion.ps1 fourni.
- Faites un clic droit dessus puis Exécuter avec PowerShell
- Faire Oui en appuyant sur O (O comme Oui) puis Entrée sur le message d’avertissement.
- Un message rouge doit vous indiquer “Impossible de se connecter au serveur distant”.
- Dans ce cas, les règles de pare-feu sont effectives.
Créer les règles manuellement
Si vous ne souhaitez pas importer les règles, vous pouvez créer les règles manuellement.
Notez que vous pouvez le faire facilement avec Hard configurator.
Bloquer alors les processus indiqués en introduction.
PowerShell et les malwares
PowerShell est une invite de commandes qui intègre son propre langage.
PowerShell permet donc de créer des scripts.
Ainsi il est tout à fait possible à partir d’un script de télécharger un fichier distant et de l’exécuter sur l’ordinateur.
En clair, donc PowerShell peut servir de tremplin pour installer un virus sur l’ordinateur, comme Trojan-Downloader.
Exactement comme c’est le cas actuellement des scripts VBS ou JS utilisés dans des campagnes d’emails malveillants.
La vidéo suivante montre le cas d’un Trojan Downloader PowerShell qui installe le ransomware Locky :
PowerShell est déjà utilisé par des Malware ‘FileLess’ : PoweLiks, Kovter, Gootkit.
Pour tester le téléchargement, vous pouvez utiliser la commande suivante depuis une invite de commandes classiques :
PowerShell (New-Object System.Net.Webclient).DownloadFile('https://www.malekal.com/download/FRST.zip', '%USERPROFILE%\Desktop\FRST.zip');
La commande ci-dessous, permet de télécharger le fichier FRST.zip et de le placer sur le bureau.
Un programme malveillant, peut donc facilement être sous la forme d’un script qui télécharge un exécutable dans le dossier TEMP pour l’exécuter.
Plus d’informations, lire : les Trojan ou virus PowerShell
Bloquer PowerShell
En suivant, le tuto Autoriser/Bloquer une application sur le pare-feu Windows
Vous devez bloquer l’application :
- %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe (version 32-bits)
- %SystemRoot%\syswow64\WindowsPowerShell\v1.0\powershell.exe (version 64-bits)
- %SystemRoot% = C:\Windows
En créant une règle avancée :
Par défaut donc, le pare-feu de Windows autorise PowerShell.
Il est tout à fait possible de bloquer ce dernier.
- Sur votre clavier, appuyez sur les touches + R
- Puis saisissez wf.msc
- Dans la nouvelle fenêtre, cliquez sur Règles de trafic sortant
- Puis Nouvelle règle.
- Laissez sur Programme puis cliquez sur Suivant.
- Ensuite, il faut aller chercher le fichier PowerShell.
- Pour cela, choisissez la seconde option puis cliquez sur Parcourir.
- Naviguez dans les dossiers pour ouvrir Windows > system32 > WindowsPowerShell > v1.0> powershell.exe
- Laisser sur Bloquer la connexion afin de pouvoir bloquer la connexion provenant de powershell.exe
- Laissez tout coché puis cliquez sur Suivant
- Nommez la règle, par exemple Blocage PowerShell ou Blocage PowerShell (32-bits)
- La règle est alors visible dans la liste
Si on relance notre commande, on obtient une erreur. Le téléchargement de fichiers à partir de PowerShell est alors bloqué :
Exception lors de l'appel de « DownloadFile » avec « 2 » argument(s) : « Impossible de se connecter au serveur distant »
Wscript
Wscript.exe est le processus système lié à Windows Script Hosting qui donne la possibilité d’exécuter des scripts de type JavaScript (sisi!) et VBS.
Des scripts malveillants existent depuis longtemps.
Une recrudescence depuis Décembre 2015 a lieu, via des campagnes d’emails malveillants pour pousser des crypto-ransomware.
Voici un exemple de script qui permet de télécharger un fichier sur Windows.
Ensuite, on peut le faire exécuter sans problème.
HTTPDownload "https://www.malekal.com/download/FRST.zip", "C:\Users\VincentPC\AppData\Local\Temp" Sub HTTPDownload( myURL, myPath ) ' Standard housekeeping Dim i, objFile, objFSO, objHTTP, strFile, strMsg Const ForReading = 1, ForWriting = 2, ForAppending = 8 ' Create a File System Object Set objFSO = CreateObject( "Scripting.FileSystemObject" ) ' Check if the specified target file or folder exists, ' and build the fully qualified path of the target file If objFSO.FolderExists( myPath ) Then strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) ) ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then strFile = myPath Else WScript.Echo "ERROR: Target folder not found." Exit Sub End If ' Create or open the target file Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True ) ' Create an HTTP object Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" ) ' Download the specified URL objHTTP.Open "GET", myURL, False objHTTP.Send ' Write the downloaded byte stream to the target file For i = 1 To LenB( objHTTP.ResponseBody ) objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) ) Next ' Close the target file objFile.Close( ) End Sub
On peut alors créer une règle sortante filtrante, exactement dans le même principe que précédemment.
Avec le script ci-desous, on obtient une Erreur WinHTTP.WinHTTPRequest
Le fichier FRST.zip est créé mais il fait 0 octet.
A lire : Comment se protéger des scripts malveillants sur Windows
Injection processus
L’injection de processus consiste à charger une DLL dans un processus afin de pouvoir contrôler ce dernier.
Ainsi des virus/malwares peuvent utiliser des processus système explorer.exe, svchost.exe, spoolsv.exe afin de se connecter à des serveurs distants pour recevoir les informations de contrôle.
Le pare-feu de Windows peut éventuellement aider à bloquer certaines de ces connexions.
Voici un exemple d’injection de processus Windows avec le malware Bedep :
Ainsi si on bloque explorer.exe, le Trojan Bedep devient inactif :
Comprenez aussi, qu’il est impossible de bloquer tout l’accès réseau aux processus Windows.
Par exemple :
- explorer.exe doit pouvoir se connecter aux ordinateurs du réseau LAN pour accéder aux ressources partages (fichiers/dossiers etc)
- svchost.exe est utilisé, par divers services Windows et notamment Windows Update pour se connecter au service et télécharger les mises à jour de Windows.
Toutefois, vous pouvez bloquer certains ports. Par exemple, il est tout à fait inutile qu’explorer.exe puisse se connecter à des sites WEB (port distant 80 et 445).
Par contre, explorer.exe doit pouvoir se connecter aux partages réseaux, cela se fait sur le port 445 (SMB).
Pour mettre en place un filtrage, nous allons créer deux règles sur explorer.exe
- La première règle autorise les connexions sur le port 445.
- La seconde règle interdit toutes les connexions sortantes.
Ainsi, si la première règle est vrai, on s’arrête là.
Si elle est fausse, on continue, la seconde règle qui bloque toutes les connexions sortantes pour explorer.exe est alors appliquée.
Créez la règle sur explorer.exe qui autorise les connexions puis faites un clic droit / Propriétés sur celle-ci.
Dans l’onglet Protocoles et ports, vous pouvez régler ces derniers, comme ceci.
A savoir :
- Protocole TCP
- Port, mettre 445
Puis créer la seconde règle qui interdit toutes les connexions explorer.exe
Ci-dessous, les deux règles explorer.exe sur le pare-feu Windows.
Il est tout à fait possible de lister les partages et accéder aux fichiers distants.
Autres processus à bloquer
Vous pouvez aussi bloquer d’autres processus, comme :
- C:\Windows\rundll32.exe – en chargeant une DLL via rundll32.exe, un trojan peut télécharger d’autres malwares.
- Les processus de Word et Excel, ceci afin de vous protéger des macros malveillantes :
- C:\Program Files (x86)\Microsoft Office\Office15\Winword.exe
- C:\Program Files (x86)\Microsoft Office\Office15\Excel.exe
Par exemple, le pare-feu ZoneAlarm par défaut, autorise les connexions provenant de Word et rundll32.
Une macro Word peut donc télécharger une DLL et la lancer depuis rundll32.
Winword.exe est autorisé :
Windows Firewall Control
Windows Firewall Control est un programme qui permet de gérer simplement les règles et autorisations de processus sur le pare-feu de Windows.
En outre, il permet de lire le journal de connexion ou blocage.
Je vous conseille vivement de l’installer, plus d’informations, se reporter au tutoriel.
Présentation et tuto de Windows Firewall Control en vidéo :
GlassWire est aussi une bonne alternative, voir aussi son tutoriel dédié.
Liens