Powered By Blogger

Rechercher sur ce blogue

dimanche 22 avril 2018

Firewall Windows : les bon réglages



Quelques réglages qui peuvent améliorer sensiblement la sécurité de Windows.
Le pare-feu de Windows 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.

Introduction au réglage du pare-feu de Windows

Avant de commencer, il faut plutôt être à l’aise avec le pare-feu de Windows.
Dans le tuto suivant, j’avais expliqué comment ajouter des règles sur une application afin de la bloquer : Autoriser/Bloquer une application sur le pare-feu Windows
Vous pouvez suivre ce tuto.. 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 443
  • 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\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 malicieuses :
    • 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

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 : http://www.malekal.com/download/firewall_Windows10_bon_reglage.zip
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

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.

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.

PowerShell

PowerShell est une invite de commandes qui intègre son propre langage.
PowerShell permet donc de créer des scripts, 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 malicieux qui ont permis l’avènements des crypto-ransomware.
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… il est fort probable que 2017 soit l’année PowerShell… avec une utilisation beaucoup plus accru.
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
('http://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.
Rendez-vous dans le Panneau de configuration de Windows puis Pare-feu.
A gauche, cliquez sur Paramètres avancés.

Dans la nouvelle fenêtre, cliquez sur Règles de trafic sortant
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 »


Pensez à bloquer les deux versions 32-bits et 64-bits, si votre Windows est en version 64-bits.

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 malicieux existent depuis longtemps. Une recrudescence depuis Décembre 2015 a lieu, via des campagnes d’emails malicieux pour pousser des crypto-ransomware.
Pour obtenir plus d’informations sur les malwares basés sur ces scripts malicieux, lire la page : Malware par VBS / WSH ( Windows Scripting Host )
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 "http://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.

Dans le cas de ces scripts, le mieux est de désactiver WSH, c’est tout à fait possible.
A lire : Comment se protéger des scripts malicieux sur Windows
Le programme Marmiton a été conçu dans ce sens : Télécharger Marmiton

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.
Contrairement, au paragraphe précédent où il s’agit de bloquer un Trojan Downloader afin de bloquer le téléchargement et l’installation del a charge utile… ici la charge utile est déjà installée… De ce fait, il est plus difficile de bloquer le fonctionnement du Trojan.
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 443).
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 malicieuses :
    • 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… c’est notamment le fonctionnement du ransomware Locky.

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 tuto : Tutoriel Windows Firewall Control
GlassWire est aussi une bonne alternative, voir aussi son tuto : Tutoriel Glasswire
Présentation et tuto de Windows Firewall Control en vidéo :

Plus loin dans la sécurité Windows

Pour sécuriser Windows, vous pouvez lire et suivre les conseils du tutoriel suivant : Comment sécuriser son ordinateur ?
OSArmor est un complément idéal à ces règles de blocages du pare-feu de Windows, plus d’informations sur la page : OSArmor : Bloquer l’exécution de processus et connexions malveillantes

SysHardener permet de sécuriser Windows facilement en désactivant certaines fonctions de Windows qui peuvent être utilisées par des logiciels malveillants.
Pour toutes les explications de SysHardener, lire notre article dédié : SysHardener : sécuriser Windows facilement contre les virus
SysHardener : sécuriser Windows facilement contre les virus

Liens autour du pare-feu de Windows

REF.:

Aucun commentaire: