mardi 26 février 2019

Windows Defender et powershell - Protection réseau

Bien le bonjour,

Sixième billet sur Windows Defender : Protection réseau

La protection du réseau étend la portée de WindowsDefenderSmartScreen pour bloquer tout trafic HTTP sortant qui tente de se connecter à des sources de mauvaise réputation (sur la base du domaine ou du nom d’hôte)

#Activer la protection réseau
Set-MpPreference -EnableNetworkProtection Enabled

#Définir la protection réseau en mode audit (génère des journaux d'événements)
Set-MpPreference -EnableNetworkProtection AuditMode

Evénements      
5007     Événement lors de la modification des paramètres
1125     Événement lorsque la protection du réseau se déclenche en mode audit
1126     Événement lors du déclenche de la protection du réseau en mode blocage

#Désactiver la protection réseau
Set-MpPreference -EnableNetworkProtection Disabled

Salutation,
Guillaume

dimanche 24 février 2019

Windows Defender et powershell - Accès contrôlés aux dossiers

Bien le bonjour,

Cinquième billet sur Windows Defender : Accès contrôlés aux dossiers

La fonctionnalité Accès contrôlé aux dossiers permet de protéger vos données importantes des applications malveillantes et autres menaces comme les ransomware.
Il est nécessaire d'indiquer les dossiers à protéger et les applications autorisées à apporter des modifications sur ces dossiers

#Activer l'accès contrôlés aux dossiers
Set-MpPreference -EnableControlledFolderAccess Enabled

#Désactiver l'accès contrôlés aux dossiers
Set-MpPreference -EnableControlledFolderAccess Disabled

#Définir l'accès contrôlés aux dossiers en mode audit
Set-MpPreference -EnableControlledFolderAccess AuditMode

#Ajouter des dossiers contrôlés
add-MpPreference -ControlledFolderAccessProtectedFolders C:\demo\

#Ajouter les applications autorisées à accéder aux dossiers contrôlés
Add-MpPreference -ControlledFolderAccessAllowedApplications "c:\apps\test.exe"

Salutation,
Guillaume

jeudi 21 février 2019

Windows Defender et powershell - Exploit protection

Bien le bonjour,

Quatrième billet sur Windows Defender : Exploit protection

Protection contre les exploits (anciennement EMET) permet de protéger les appareils contre les programmes malveillants qui utilisent des attaques pour se propager et infecter les appareils.
Il se compose de plusieurs atténuations qui peuvent être appliquées au niveau du système d’exploitation ou d’une application individuelle.

#Exporter la configuration
Get-ProcessMitigation -RegistryConfigFilePath filename.xml

#Importer une configuration. Microsoft propose une configuration de base ProcessMitigation.xml
$url = 'https://demo.wd.microsoft.com/Content/ProcessMitigation.xml'
Invoke-WebRequest $url -OutFile ProcessMitigation.xml
Set-ProcessMitigation -PolicyFilePath ProcessMitigation.xml

#Afficher la configuration d'exploit protection pour un processus
Get-ProcessMitigation -Name processName.exe

Il est possible de configurer en powershell pour chaque processus les sécurités à mettre en place.

#Page de test des sécurités Windows defender
https://demo.wd.microsoft.com/?ocid=cx-wddocs-testground

Salutation,
Guillaume

mardi 19 février 2019

Windows Defender et powershell - Scan et ménaces

Bien le bonjour,

Troisième billet sur Windows Defender : analyse et gestion des menaces

#Mise à jour des définitions
Update-MpSignature

#Mise à jour des définitions à distance
Update-MpSignature -CimSession pc1

#Retourne le catalogue des définitions des logiciels malveillants
Get-MpThreatCatalog

#Lancer un scan rapide
Start-MpScan -ScanType QuickScan

#Lancer un scan complet
Start-MpScan -ScanType FullScan

#Lancer un scan personnalisé
Start-MpScan -ScanPath C:\Users\guillaume\Downloads

#Lancer un scan hors ligne (redémarre dans un mode protégé spécifique à Defender, scan et redémarre le poste normalement)
Start-MpWDOScan

#Retourne l’historique des menaces détectées sur le poste de travail
Get-MpThreat

#Afficher le nom des menaces détectées
(Get-MpThreat).ThreatName

#Récupérer l’historique des menaces détectées à distance
Get-MpThreat -CimSession pc1

CategoryID
0           Invalid
1           Adware
2           Spyware
3           Passwordstealer
4           Trojandownloader
5           Worm
6           Backdoor
7           Remoteaccesstrojan
8           Trojan
9           Emailflooder
10         Keylogger
11         Dialer
12         Monitoringsoftware
13         Browsermodifier
14         Cookie
15         Browserplugin
16         Aolexploit
17         Nuker
18         Securitydisabler
19         Jokeprogram
20         Hostileactivexcontrol
21         Softwarebundler
22         Stealthnotifier
23         Settingsmodifier
24         Toolbar
25         Remotecontrolsoftware
26         Trojanftp
27         Potentialunwantedsoftware
28         Icqexploit
29         Trojantelnet
30         Filesharingprogram
31         Malware_Creation_Tool
32         Remote_Control_Software
33         Tool
34         Trojan_Denialofservice
36         Trojan_Dropper
37         Trojan_Massmailer
38         Trojan_Monitoringsoftware
39         Trojan_Proxyserver
40         Virus
42         Known
43         Unknown
44         Spp
45         Behavior
46         Vulnerability
47         Policy

SeverityID
0           Unknown
1           Low
2           Moderate
4           High
5           Severe

TypeID
ID          Identification method
0           Known bad threat
1           Behavior monitoring
2           Unknown threat
3           Known good threat
4           Network Inspection System (NIS) threat

#Récupérer toutes les détections des logiciels malveillants lors des analyses...
Get-MpThreatDetection

#Récupère toutes les détections à distance
Get-MpThreatDetection -CimSession pc1

#Supprime toutes les menaces détectées
Remove-MpThreat

Salutation,
Guillaume

samedi 16 février 2019

Windows Defender et powershell - options de sécurité

Bien le bonjour,

Un deuxième billet sur les options de sécurité de Windows Defender

#Afficher les paramètres désactivables
Get-MpPreference | fl disable*

#Activer l’analyse des médias amovibles
Set-MpPreference -DisableRemovableDriveScanning $false

#Activer l’analyse des archives
Set-MpPreference -DisableArchiveScanning $false

#Activer l’analyse des mails
Set-MpPreference -DisableEmailScanning $false

#Activer l’analyse des support amovibles
Set-MpPreference -DisableRemovableDriveScanning $false

#Activer la protection contre les intrusions réseaux
Set-MpPreference -DisableIntrusionPreventionSystem $false

#Forcer la mise à jour des définitions virales avant une analyse Windows Defender
Set-MpPreference -CheckForSignaturesBeforeRunningScan $true

#Activation de PUA (Potentially Unwanted Application), en charge des rogues (scareware)
Set-MpPreference -PUAProtection enabled

#Activer le blocage de fichiers avant leurs exécutions (Bloc at first seen), vérification en temps réel via Microsoft Active Protection Service (cloud)
Set-MpPreference -DisableBlockAtFirstSeen $false

#Définir la protection cloud à 'High'"
Set-MpPreference -CloudBlockLevel High

#Définir le timeout de vérification dans le cloud à 40 secondes (10 par défaut + 30)
Set-MpPreference -CloudExtendedTimeout 30

#Définir le niveau de reporting
Set-MpPreference -MAPSReporting Advanced

#Activer le moniteur de comportement, il surveille les processus de fichier, les modifications au niveau des fichiers et du Registre, et d’autres événements, en recherchant des activités malveillantes connues et suspectes
Set-MpPreference -DisableBehaviorMonitoring $false

#Activer l'analyse des fichiers téléchargés
Set-MpPreference -DisableIOAVProtection $false

#Ne pas permettre à un utilisateur de voir l'historique des détections
Set-MpPreference -DisablePrivacyMode $false

Salutation,
Guillaume

jeudi 14 février 2019

Windows Defender et powershell - préférence et status

Bien le bonjour,

Je n'avais jamais fait trop le point sur Windows Defender, hormis les améliorations apportées avec Windows 1709 (protection des dossiers, protection, exploit guard...) car je ne croise jamais de clients utilisant cette solution.
Mais voilà, le jour J est arrivé, du coup un petit tour de ce que propose Defender en plusieurs billets.

#Lister les commandes powershell
Get-Command -Module Defender

#Etat du service
Get-Service WinDefend

#Désactiver Defender
Set-MpPreference -DisableRealtimeMonitoring $true

#Activer Defender
Set-MpPreference -DisableRealtimeMonitoring $false

#Afficher le status de Defender
Get-MpComputerStatus | Select-Object -Property Antivirusenabled,AMServiceEnabled, AntispywareEnabled, BehaviorMonitorEnabled, IoavProtectionEnabled, NISEnabled,OnAccessProtectionEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated

#Afficher le status de Defender à distance
Get-MpComputerStatus -cimsession pc1

#Affiche l’ensemble des paramètres de Windows Defender
Get-MpPreference

#Affiche l’ensemble des paramètres de Windows Defender à distance
Get-MpPreference -cimsession pc1

#Ajouter des chemins à exclure de l’analyse
Add-MpPreference -ExclusionPath "D:\Video", "D:\vm"

#Ajouter des extensions à exclure de l’analyse
Add-MpPreference -ExclusionExtension ".ps1",".psd1",".psm1"

#Ajouter des processus à exclure de l’analyse
Add-MpPreference -ExclusionProcess "mailpv.exe"

#Afficher les exclusions
Get-MpPreference | fl exclusion*

#Supprimer une exclusion
Remove-MpPreference -ExclusionPath C:\install

Salutation,
Guillaume

dimanche 10 février 2019

Afficher le code powershell dans l’explorateur

Bien le bonjour,

Voici comment afficher le code powershell dans le volet de visualisation de l'explorateur

$extensions = ".psm1",".psd1",".ps1"
foreach ( $extension in $extensions ) {
    if (!(Test-Path "HKCU:\Software\Classes\$extension")) {
        New-Item "HKCU:\Software\Classes\$extension"      }
                                                                   }

Get-Item HKCU:\Software\Classes\* -Include $extensions | Set-ItemProperty -Name PerceivedType -Value text

Salutation,
Guillaume

samedi 9 février 2019

Lister les URI ms-settings en powershell

Bien le bonjour,

Microsoft a mis en place sur Windows 10 des URI (Uniform Resource Identifier) permettant d'accéder directement à des sections dans paramètres.
Par exemple en cliquant sur ms-settings:notifications, la section de configuration des notifications dans paramètres va s'ouvrir.
Vous pouvez aussi taper ms-settings:notifications dans exécuter ou dans la barre d'adresse de l'explorateur

La référence complète est ici et évolue à chaque version de Windows 10 :
https://docs.microsoft.com/fr-fr/windows/uwp/launch-resume/launch-settings-app#ms-settings-uri-scheme-reference

Si vous souhaitez obtenir la liste des URI directement à partir de votre système et via powershell, téléchargez la fonction powershell suivante :
https://www.powershellgallery.com/packages/PowerSploit/1.0.0.0/Content/ReverseEngineering%5CGet-Strings.ps1

Chargez la fonction et exécutez la commande powershell suivante :
Get-Strings C:\Windows\ImmersiveControlPanel\SystemSettings.dll -Encoding Unicode | select-string "ms-setting"

Salutations,
Guillaume

mardi 5 février 2019

Get-pnpdevice et get-pnpdeviceproperty

Powershell dispose de 2 commandes qui permettent de jouer avec les périphériques: Get-pnpdevice et get-pnpdeviceproperty

Afficher tous les périphériques (même ceux qui ne sont plus connectés)
get-pnpdevice

Afficher uniquement les périphériques en ligne
get-pnpdevice -PresentOnly

Afficher uniquement les périphériques USB en ligne
get-PnpDevice -Class usb -PresentOnly | ft -AutoSize

Afficher les périphériques présents et en erreur
get-pnpdevice -Status error,degraded -PresentOnly | ft -AutoSize

Afficher les périphériques désactivés
Get-PnpDevice | where "problem" -eq "CM_PROB_DISABLED"  |  ft -AutoSize

Désactiver un périphérique
Get-PnpDevice | where "FriendlyName" -eq "BCM20702A0"  | Disable-PnpDevice

Activer un périphérique
Get-PnpDevice | where "FriendlyName" -eq "BCM20702A0" | enable-PnpDevice -Confirm:$false

Afficher toutes les propriétés d'un périphérique
Get-PnpDevice | where "FriendlyName" -eq "BCM20702A0" | Get-PnpDeviceProperty | ft -AutoSize

dimanche 3 février 2019

Pnputil sous Windows 10



Pnputil a été amélioré sous windows avec la possibilité d'exporter et l'option subdirs utile à l'ajout de pilote.

Pour rappel, pnputil permet d'ajouter des pilotes dans le magasin de pilotes, de supprimer des pilotes de ce dernier ou de lister les pilotes tierces (non natif à Windows 10)


Ajouter le package de pilotes

pnputil /add-driver x:\driver.inf


Ajouter plusieurs packages de pilotes

pnputil /add-driver c:backup\*.inf /subdirs


Ajouter et installer le package de pilote

pnputil /add-driver device.inf /install


Énumérer les packages de pilotes OEM

pnputil /enum-drivers


Supprimer le package de pilotes

pnputil /delete-driver oem0.inf


Forcer la suppression du package de pilotes

pnputil /delete-driver oem1.inf /force


Exporter le package de pilotes

pnputil /export-driver oem6.inf .


Exporter tous les packages de pilotes tierces

pnputil /export-driver * c:\backup

vendredi 1 février 2019

Les différents types de démarrage des services



•Les services peuvent être démarrés, arrêtés ou redémarrés en graphique via le gestionnaire des tâches ou la console service (services.msc), en ligne de commande via les commandes net, sc ou powershell
•Les services peuvent être désactivés/activés en graphique via la console service ou msconfig, en ligne de commande via les commandes net, sc ou powershell

Type de démarrage :
  • Automatique : Exécuté au démarrage de windows
  • Automatique (début différé) : Exécuté au démarrage de windows mais avec un peu de retard
  • Manuel : Service démarré si nécessaire (par un service ou un programme)
  • Manuel (déclencher le démarrage) : Service démarré lors d'un événement particulier (connexion périphérique usb…) : sc qtriggerinfo appidsvc
  • Automatique (déclencher le démarrage) : Service démarré au démarrage de Windows ou lors d'un événement s'il est arrêté.
  • Désactivé : Service non démarré et démarrable

Les services par utilisateur (exemple : PrintWorkflowUserSvc_1256c2a) sont créés au login d'un utilisateur, puis arrêtés et supprimés à sa déconnection.