Archives de la catégorie ‘Windows Client’

Une question intéressante m’a été récemment posée par un de mes clients :

Comment obtenir la liste complètes des Updates Windows installées sur un Windows Server distant ?

Typiquement un serveur distant exécutant Windows Server 2008 R /2012 /2012 R2 ou encore 2016 en mode Core.

Je vous détaille à travers cet article la ligne de code qui vous permet de le faire.

HowTo : Obtenir la liste des Updates Windows d’un serveur distant 

La technique consiste simplement à utiliser une Cmd-Let nommée « Get-Hotfix » en spécifiant le hostname de votre serveur distant au niveau du paramètre -ComputerName.

Dans l’exemple suivant, nous allons obtenir la liste complètes des mises à jour Windows installées sur le serveur Core distant « LABRDS2016 » :

Get-HotFix -ComputerName LABRDS2016 | Select HotfixID, Description, InstalledOn | Sort-Object -Descending

les MàJ Windows installées sur ma machine distante sont affichées dans l’image suivante :

 

S’applique à : Windows 10 et Windows Server 2016

Remote Credential Guard, qu’est-ce que c’est ?

Le géant américain a lancé l’année dernière le « Credential Guard », une fonctionnalité de sécurité native dans Windows 10 Enterprise et Windows Server 2016. Credential Guard aide à empêcher le vol d’informations d’identification et permet de réduire l’efficacité des attaques Kerberos telles que Overpass-The-Hash et Pass-the-Ticket.

Récemment, avec la publication de la mise à jour « Anniversaire » Windows 10, Microsoft a annoncé la disponibilité du « Remote Credential Guard », une nouvelle fonctionnalité de sécurité qui vise elle aussi à protéger les informations d’identification sur les connexions Bureau à distance en générant des tickets de service nécessaires à partir de la machine source au lieu de copier les informations d’authentification (Haches et TGT) vers la machine cible.

Notez que Remote Credential Guard a été introduite sur Windows 10 version 1607.

Cette fonctionnalité peut être considérée comme le successeur /remplaçant du mode « Restricted Admin ».
En effet, les deux fonctionnalités s’activent et fonctionnent de la même manière, la seule différence réside dans le fait que le Remote Credential Guard ne limite pas l’accès aux autres ressources du réseau en redirigeant de nouveau toutes les demandes d’identifications vers la machine cliente du réseau.

Si vous voulez en savoir plus sur le mode « Restricted Admin », je vous invite à consulter cet article.

Enfin, un article détaillé sur le « Remote Credential Guard » a été rédigé et publié par CyberArk, je vous invite à consulter pour en savoir plus sur cette nouvelle fonctionnalité :
https://www.cyberark.com/blog/no-pass-hash-exploring-limitations-remote-credential-guard/

Prérequis

La fonctionnalité « Remote Credential Guard » est prise en charge par les OS suivants uniquement :

  • OS Server : Windows Server 2016
  • OS Client : Windows 10 (Entreprise)

Vous pouvez donc l’implémenter uniquement pour sécuriser des Connexions Bureau à distance établies depuis et vers les OS cités ci-dessus.

HowTo : Activer ou Désactiver le mode « Remote Credential Guard »

Le mode « Remote Credential Guard » est désactivé par défaut.

Il s’active de la même manière que le mode « Restricted Admin », il suffit donc de créer /ajouter la clé de Registre suivante sur vos machines cibles :

Chemin: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa

Valeur DWORD (32-bits) : DisableRestrictedAdmin

Données de la valeur : 0

Note importante : Cette clé de Registre peut également être crée en exécutant la commande suivante (depuis CMD.exe lancée en tant qu’Admin) :

Reg.exe Add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /V DisableRestrictedAdmin /D 0 /T REG_DWORD

Utiliser le mode « Remote Credential Guard »

Une fois activé, le mode « Remote Credential Guard » doit être forcé sur l’ensemble des machines du réseau (cibles) sur lesquelles vous vous connectez via Bureau à distance.

Cette configuration peut être effectuée d’une manière centralisée sur un ensemble de serveurs /postes de travail via GPO, et ce via l’utilisation du paramètre de Stratégie de groupe suivant :

Chemin : Configuration Ordinateur | Stratégies | Modèles d’administration | Système | Délégation d’informations d’identification

Paramètre : Limiter la délégation d’informations d’identification à des serveurs distants

Valeur du paramètre : Activé

Mode restreint : Requérir Credential Guard à distance

Le mode « Remote Credential Guard » ou « Credential Guard à distance » est représenté par un paramètre de l’outil MSTSC.exe et plus précisément le paramètre /remoteGuard, lancez MSTSC /? depuis l’invite de commande (CMD.exe) ou le Menu Démarrer et constatez la disponibilité du mode « /remoteGuard » :

Dans l’exemple suivant, nous allons établir une Connexion Bureau à distance en mode « remoteGuard » sur le serveur distant « LABRDS01 » :


Ceci est un extrait de l’eBook « RDS 2016 – Securisation et Hardening [2ème Edition] »

Cette vidéo vous montre comment retrouver tous les mots de passe Wi-Fi enregistrés sur votre machine Windows 10.

Notez que cette technique est valable aussi pour Windows Vista, Windows 7 ainsi que Windows 8 et 8.1

N’hésitez pas à vous abonner à la chaîne pour être informé de la publication des nouvelles astuces IT.

Keep in touch :).

HK.

 

S’applique à : Windows Vista > Windows 10 | Windows Server 2008 > Windows Server 2016

Par défaut, une machine Windows (Client ou Server) sur laquelle les connexions Bureau à distance ont été activées /autorisées, écoute sur le port 3389 (TCP), ce dernier correspond au protocole RDP (Remote Desktop Protocole).

Pour le constater, ouvrez une Session (locale) sur une machine (Physique ou Virtuelle) ayant le RDP activé, lancez l’invite de commande (CMD.exe) en tant qu’Administrateur et saisissez NetStat -a, enfin notez l’existence du port d’écoute 3389

1

 

Protocole RDP : Vulnérabilité 

L’utilisation du port par défaut (3389 :: TCP) présente plusieurs vulnérabilités au sein d’un S.I et offre aux Hackers la possibilité d’effectuer plusieurs types d’attaques, notamment :

  • Attaque par Brute-Force
  • Attaque par DoS (Denial of Service)

En effet, tous les hackers qui s’en prennent aux connexions RDP s’appuient sur le port 3389 pour provoquer un DoS ou brute-forcer une machine Windows.

A l’aide de n’importe quel Network Sniffer, un Hacker peut capturer les RDP Data et facilement localiser la(es) machine(s) écoutant sur le port TCP 3389.

Prenons l’exemple de la vulnérabilité MS12-020, celle-ci a été détectée dans le protocole RDP et permettant un déni de service, et ce via l’utilisation du port 3389.

Comme le montre la vidéo ci-après, à l’aide d’un simple outil de Hacking (MSF « MetaSploit Framework » fourni avec KALI Linux), vous pouvez provoquer un DoS, et rendre (en quelques secondes…) un serveur RDSH (Remote Desktop Session Host) ou une Machine d’Administration écoutant sur le port 3389 indisponible :

 

Recommendations

Il est fortement recommandé de changer le port RDP par défaut [TCP : 3389] et en définir un autre « Personnalisé ».

Vous pouvez utiliser un numéro de port situé entre 1025 et 65535

Dans l’exemple suivant, le port 9933 sera configuré.

 

HowTo : Changer le port RDP par défaut

Le port RDP par défaut peut être changé via :

Le Registre (BDR : Base De Registre)

Lancez l’outil RegEdit.exe (depuis le menu Démarré /Exécuté ou Welcome Screen)

Naviguez jusqu’au : HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

Localisez et éditez la clé DWORD « PortNumber »

Définissez un nouveau port (Base > Décimale)

2

 

GPO (Group Policy Objects)

Créez une nouvelle GPO ou éditez une GPO existante, naviguez ensuite jusqu’au : Configuration Ordinateur | Préférences | Paramètres Windows

Faites un clic-droit sur « Registre » et sélectionnez « Elements Registre »

Remplissez les champs comme suit :

3

Liez votre GPO aux OUs contenant les objets AD « Ordinateurs » correspondant à vos serveurs RDSH ou Poste d’Admin.

Enfin, lancez un GpUpdate.exe depuis un serveur sur lequel la GPO a été linkée et enjoy the change :).

 

Script PowerShell

5

Un script PowerShell a été développé (par mes soins :)) et uploadé sur la Gallery TechNet > Scripts Center.

Il vous permet de changer le numéro de port RDP par défaut en deux clics, il suffit de l’exécuter, renseigner le nouveau numéro de port RDP et valider le changement en cliquant sur la touche « Entrée » du clavier.

6

Ce script est téléchargeable ici.

 

L’outil « RDP Port Configurator »

Je work actuellement sur outil GUI que j’ai nommé « RDP Port Configurator » basé sur le script PowerShell décrit ci-dessus.

Il sera disponible en téléchargement gratuit sur BecomeITExpert.com, so Keep in touch :).

L’outil RDP Port Configurator ressemble à l’image ci-après :

7

 

Note importante 

Downtime

Tout d’abord, il faut noter que le changement de port RDP par défaut nécessite un redémarrage de votre machine. S’il s’agit d’un changement sur une ou plusieurs machines de production, pensez à planifier ce changement et surtout le downtime qui aura lieu lors du reboot de la machine.

Nouvelle syntaxe de connexion RDP

Quand vous utilisez un port autre que le 3389 pour les connexions Bureau à distance, vous devez le spécifier après l’adresse (IP ou Hostname) de l’ordinateur distant, dans notre cas la connexion bureau à distance se fait sur Nom_Serveur_RDS:9933

4

 

Extrait de l’eBook [RDS 2012 R2 – Sécurisation et Hardening : Guide du Consultant]

Windows10_Bash

J’aimerais vous annoncer aujourd’hui (aux Dévs en particulier) une nouvelle qui va vous faire plaisir : lors de sa traditionnelle conférence Build, Microsoft a annoncé l’arrivé de « Bash » sous ses OS Windows.

Le géant américain a confirmé que le Bash.exe sera du 100% native, Microsoft a en effet travaillé main dans la main avec Canonical (Ubuntu) pour que tout fonctionne exactement comme sous Linux.
Ce Bash.exe n’est pas une Machine Virtuelle (VM) ni un portage Cygwin mais un vrai Bash comme celui fournit avec les distributions Linux.

L’image ci-haut illustre a quoi ressemble l’exécution du Bash.exe sous le dernier OS client de Microsoft qu’est Windows 10.

Notez que tous les binaires Linux /outils en ligne de commande devraient s’exécuter sous Windows, vous aurez également la possibilité d’en installer de nouveaux via un simple « apt-get install » 🙂

Pour les IT impatients, il va falloir attendre encore un peu, Microsoft confirme la disponibilité du Bash.exe, et ce via le Windows Store.
Votre Windows pourra donc être configuré en mode « Développeur ».

 

BelFiore_WS10

Lancé le mois Juillet 2015 en version PC et Tablette, Windows 10 est désormais disponible en 7 éditions conçues pour répondre aux besoins de différents publics (particuliers, TPE/PME et grand compte) et types de terminaux.

Comme avec Windows 8, les éditions « Consumer-ready » se sont focalisées sur le « PC de Bureau & Mobile » :

  • Windows 10 Home : cette Edition est adaptée aux PCs de Bureaux, PCs Portables, grandes Tablettes et terminaux Hybrides 2-en-1″ destinés au grand public. Elle est livrée avec « Cortana » et « Microsoft Edge », enfin les utilisateurs de Xbox peuvent également continuer à jouer à des « Xbox Live Games » sur des PCs avec Windows 10 Home
  • Windows 10 Mobile : anciennement appelé Windows Phone 8.1, cette Edition s’exécute sur des Smartphones et petite Tablettes (8 pouces et moins), elle permet d’exécuter les Apps Windows 10 et les nouvelles Apps Office optimisées pour les écrans tactiles, enfin elle intègre le mode « Continuum » qui permet de connecter un périphérique Windows 10 Mobile à un écran plus grand afin de l’utiliser comme un PC de Bureau

En ce qui concerne les entreprises, le géant américain propose deux principales Editions, selon la taille de la société :

  • Windows 10 Pro : cette Edition remplace Windows 8 Pro, elle est équivalente à Windows 10 Home mais dotée de plus de fonctionnalités pour les petites et les moyennes Entreprises (TPE/PME)  : Facilité d’intégration dans le Cloud, meilleure protection des données …), enfin cette Edition est taillée pour le BYOD (Bring Your Own Device : Utilisation des Appareils Personnels pour le travail)
  • Windows 10 Entreprise : cette Edition remplace Windows 8 Entreprise, elle est conçue pour les entreprises de tailles importantes. Windows 10 Entreprise inclut des fonctionnalités de sécurité plus robuste que Windows 10 Pro. Enfin, les clients de Microsoft ayant souscrit à un contrat SA (Software Assurance) peuvent désormais migrer vers cette Version /Edition de Windows 10 sans surcoût
  • Windows 10 Mobile Enterprise : Anciennement appelé « Windows Phone for Business »,  Windows 10 Mobile Entreprise est une Edition Entreprise pour les Smartphones et petites Tablettes, elle est disponible également pour les clients ayant des contrats « Licences en Volume », cette Edition offre aux Entreprises plus de fonctionnalités de sécurité de contrôle, mais aussi une meilleure visibilité sur la manière dont les Mises à jour sont déployées.

Enfin, Microsoft a ajouté deux nouvelles Editions, à savoir :

  • Windows 10 Education : destinée aux secteurs [Enseignement – Education – Formation] avec une offre « Académique » de Licence en volume. L’éditeur confirme la possibilité pour les écoles /établissement d’enseignement & étudiants de mettre à niveau leurs machines équipées de Windows 10 Home et Pro vers Windows 10 Education
  • Windows 10 IoT Core : cette Edition semble remplacer « Windows Embedded », elle est conçue pour Terminaux /Objects Connectés (IoT : Internet of Things).

 

Une question intéressante m’a été posée today suite à un problème lié à un compte de service utilisé par une Application métier.

Problématique

Mon client déploie une application métier basée sur l’utilisation d’un compte utilisateur local pour tourner en tant que Service Windows.

L’assistant d’installation de cette application crée un compte d’utilisateur local qui généralement expire après 120 jours.

Dépassé ce délais, l’application arrête de fonctionner et une intervention sur le serveur hébergeant l’application est nécessaire, le but étant de réinitialiser le password du compte utilisateur local utilisé par l’application.

Besoin

Le client me demande si un script magique qui permet d’automatiser la création de comptes utilisateurs locaux SANS EXPIRATION DE MOT DE PASSE peut être développé ?

La réponse est bien évidemment OUI :).

NET.exe est votre ami.

Solution

Le script suivant est basé sur l’outil NET.exe dans le contexte USER ainsi que l’outil WMIC pour forcer la désactivation de l’expiration de mot de passe.

copiez /collez le code suivant sur notepad ou un éditeur de texte équivalent, ensuite enregistrez le fichier sous format .BAT ou .CMD

Note : saisissez * au niveau de la variable « PWDCompte » pour éviter de saisir le mot de passe du compte en clair :).

@Echo off
Cls
Set /P NomCompte= Entrez le nom du compte de service a creer :
Set /P PWDCompte= Specifiez le mot de passe du compte de service :
Set /P DesCompte= Entrez une description du compte de service :
Net User %NomCompte% %PWDCompte% /Comment: »%DesCompte% » /passwordchg:no /add
WMIC USERACCOUNT WHERE « Name=’%NomCompte%' » SET PasswordExpires=FALSE
Pause

Après exécution du script, le message suivant est affiché :

AppLCLAccountApp0

Une fois créé, lancez l’outil LUSRMGR.msc et constatez l’apparition du compte utilisateur local créé via le script dans le dossier « Utilisateurs » :

AppLCLAccountApp1