Archives de la catégorie ‘IT Security’

Microsoft ATA (Advanced Threat Analytics) fait partie de la suite EMS (Entreprise Mobility + Security) qui vous aide à protéger votre système d’information dans sa globalité en se basant sur un élément essentiel d’une organisation qui est l’annuaire Active Directory.

ATA se base essentiellement sur le trafic Active Directory local de l’organisation pour fonctionner, il est aussi capable de prendre plusieurs informations provenant de plusieurs sources de données tels que les journaux d’évènement Windows, ou depuis un SIEM par exemple.
En d’autres termes, Microsoft ATA utilise un moteur d’analyse réseau propriétaire qui lui permet de capturer et d’analyser le trafic réseau de plusieurs protocoles :

Kerberos
RPC, DNS
NTLM, LDAP

Etc…

Une fois le trafic capturé, il est capable grâce à du machine Learning d’analyser le comportement des utilisateurs, des machines et de toutes les entités que constitue votre système d’information pour vous alerter en cas d’attaques informatiques.

Microsoft ATA est capable de détecter toutes sortes d’attaques informatiques connues de nos jours. Il est capable de vous aider à briser les chaines de Cyber attaques qui se composent de trois étapes :

Reconnaissance Générale : c’est la première phase, où l’attaquant essaie d’avoir des informations sur votre environnement interne (c’est-à-dire apprendre votre architecture, voir les composants que vous possédez)
Mouvement latéral : L’attaquant dans cette étape va se propager et étendre sa surface d’attaque au sein du système d’information
Persistance : Cette phase permet à l’attaquant de capturer toutes les informations prises au niveau du système d’information et de capitaliser afin de reprendre son attaque différemment

Ces 3 étapes, sont importantes et si elles sont réalisées, en générale elles font de gros dégâts au niveau des systèmes d’information, de plus, se remettre d’une attaque informatique peut être douloureux financièrement pour une entreprise.

C’est pourquoi Microsoft opte et rachète une société Israélienne spécialisée dans la sécurité et analyse comportemental afin de compléter son offre en sécurité informatique.
ATA détecte et notifie les trois principaux types d’attaques suivantes :

Les attaques malveillantes
Les comportements anormaux
Les risques et problèmes de sécurité

 

Types d’attaques détectées par Microsoft ATA

Microsoft ATA permet de détecter les types d’attaques les plus connues :

Brute Force
Exécution à distance
Faux PAC (MS14 -068)
Pass-the-Ticket
Pass-the-Hash

Etc…

Ce contenu vous a plu 🙂 ?

Il s’agit d’un extrait de l’Ultimate Guide sur Microsoft ATA écrit par mon ami Seyfallah TAGREROUT.

Cet eBook vous explique toutes les phases de Design, Architecture, Déploiement et Administration de cette Amazing Technology.

Il est disponible sur BecomeITExpert.com. Consultez cette page pour en savoir plus.

Publicités

Echo « Hello Security Guys »,

Les équipes Samba ont récemment découvert une vulnérabilité « Critique » sur Samba 4 (Mode : Domain Controller Active Directory) : (CVE-2018-1057)

La bonne nouvelle c’est que cette Vulnérabilité n’impacte en aucun cas Samba en « NT ou File Server » mode.

En outre, selon les informations remontées par l’équipe Samba sur le Wiki.samba, cette Vulnérabilité permettrait à n’importe utilisateur du authentifié de modifier le mot de passe de tout autre utilisateur du réseau et récupérer ses accès, cela inclut également les mots de passes des comptes à « Haut privilèges », tels que les Admins du domaine et Administrateurs locaux.

Cette faille peut être exploitée via une simple connexion LDAP suffit.

Je vous invite à prendre le temps de lire cet article pour en savoir plus sur cette vulnérabilité et les instructions à suivre pour corriger cette faite.

A CORRIGER IMMÉDIATEMENT !!

Avant de déployer vos serveurs Windows Server 2016, je vous invite à consulter la Checklist ci-dessous.

Celle-ci contient + de 70 paramètres de sécurité & hardening Windows vous permettant de mieux protéger et sécuriser vos plateformes Windows Server 2016.

Note : 90% des paramètres /options listés ci-après d’applique également à Windows Server 2012 R2/2012 mais aussi 2008 R2/2008.

 

Informations techniques
Nom du serveur  
Adresse MAC
Adresse IP
Masque de sous-réseau
Passerelle par défaut
Serveur DNS #1
Serveur DNS #2
Compte Administrateur local
VM (Oui /Non) Si Physique, Asset TAG :
RAM
CPU
Nombre de Disques /vDisques
Configuration RAID
LAN /VLAN
Date
Checklist
Etape Action Statut Commentaire
  Préparation & Installation
1 Si nouvelle installation, isoler le serveur du réseau jusqu’à ce qu’il soit protégé et sécurisé (voir sections suivantes)
2 Utiliser l’Assistant Configuration de la Sécurité (SCW : Security Configuration Wizard) pour créer et configurer une stratégie de sécurité à appliquer sur le serveur.
  Services Packs & Correctifs
3 Installer les derniers Services Packs et correctifs depuis Microsoft Windows Update (ou WSUS : Windows Server Update Services)
4 Configurer les notifications automatiques de la disponibilité des mises à jour et correctifs
  Stratégies de comptes utilisateurs
5 Définir une longueur minimale du mot de passe
6 Définir les exigences de complexité du mot de passe
7 Ne pas enregistrer les mots de passe en utilisant un chiffrement réversible
8 Définir un seuil et une durée de verrouillage des comptes
  Attribution des droits utilisateurs
9 Autoriser l’accès au serveur à partir du réseau aux administrateurs et aux utilisateurs authentifiés uniquement
10 Ne pas attribuer le droit « Agir en tant que partie du système d’exploitation » aux utilisateurs standards
11 Autoriser l’ouverture de session locale aux Administrateurs uniquement
12 Refuser le droit « Ouvrir une session en tant que Service » aux utilisateurs invités, et ce localement ou à distance via Connexion Bureau à distance.
Paramètres de sécurité
13 Configurer un message d’avertissement à afficher lors de la tentative d’ouverture de Session. Celui-ci doit indiquer que l’accès au serveur est réservé aux personnes habilitées.
14 Ne pas autoriser les utilisateurs du réseau à créer et ouvrir une session à l’aide d’un compte Microsoft
15 Désactiver le compte « Invité »
16 Requérir la combinaison de touches Ctrl+Alt+Suppr pour les ouvertures de session interactives
17 Configurer la limite d’inactivité du serveur pour protéger les sessions interactives
18 Configurer le Client réseau Microsoft pour signer les communications numériquement (toujours)
19 Configurer le Client réseau Microsoft pour signer les communications numériquement (lorsque le serveur l’accepte)
20 Configurer le Serveur réseau Microsoft pour signer les communications numériquement (toujours)
21 Configurer le Serveur réseau Microsoft pour signer les communications numériquement (lorsque les clients l’acceptent)
22 Désactiver l’envoi de mots de passe non chiffrés à des serveurs SMB tiers
  Paramètres des journaux d’événements
23 Configurer une Taille maximale des journaux d’événements
24 Configurer une Méthode de conversation des journaux d’événements
25 Configurer une Durée de stockage des journaux d’événements
26 Configurer l’envoi de journaux
  Contrôles d’Accès au réseau
27 Désactiver la traduction de noms/SID anonymes
28 Ne pas autoriser l’énumération anonyme des comptes SAM et partages réseau
29 Ne pas attribuer et appliquer de permissions « Tout le monde » aux utilisateurs anonymes
30 Ne pas autoriser les canaux nommés qui sont accessibles de manière anonyme
31 Restreindre l’accès anonyme aux canaux nommés et partages
32 Ne pas autoriser l’accès aux partages réseau de manière anonyme
33 Requérir le partage « Classique » et Modèle de sécurité pour les comptes locaux
  Paramètres de Sécurité : Réseau
34 Autoriser « Système Local » à utiliser l’identité de l’ordinateur pour NTLM
35 Désactiver le recours session Local système NULL
36 Configurer les types de cryptage autorisés pour Kerberos
37 Ne pas stocker de valeurs de hachage de niveau LAN Manager
38 Configurer le niveau d’authentification LAN Manager pour autoriser NTLMv2 et refuser LM & NTLM
39 Activer le Pare-feu Windows sur les trois profils : Domaine – Privé – Public
40 Configurer le Pare-feu Windows pour bloquer tout traffic entrant sur les trois profils
  Paramètres de Sécurité : Connexions Bureau à distance
41 Activer l’authentification au niveau du réseau (NLA : Network Level Authentication)
42 Utiliser le niveau de chiffrement « Elevé » afin de protéger les données RDP à l’aide d’un chiffrement renforcé sur 128 bits
43 Configurer un certificat SSL sur le serveur et forcer l’utilisation de la couche de sécurité « SSL »
44 Toujours demander le mot de passe à la connexion
45 Configurer une Passerelle RDS pour gérer les accès depuis l’extérieur.
46 Si possible, forcer l’utilisation de l’authentification forte (e.i carte à puce)
47 Activer la fonctionnalité « Remote CredentialGuard »
  Paramètres de Sécurité : Serveur Membre du domaine AD
48 Chiffrer ou signer numériquement les données des canaux sécurisés (toujours)
49 Chiffrer numériquement les données des canaux sécurisés (lorsque cela est possible)
50 Signer numériquement les données des canaux sécurisés (lorsque cela est possible)
51 Exiger les clés de sessions fortes (Windows 2000 ou ultérieur)
52 Configurer le nombre de demandes d’ouverture de session précédentes à mettre en cache
  Paramètres de Stratégies d’Audit
53 Auditer les événements d’ouverture de session sur un compte
54 Auditer la gestion des comptes utilisateur
55 Auditer les ouvertures et fermetures de sessions
56 Auditer les changements de stratégie
57 Auditer l’utilisation des privilèges
  Paramètres de sécurité : OS
58 Si possible, convertir le serveur en mode « Core »
59 Désinstaller ou désactiver les services non utilisés
60 Désinstaller ou supprimer (binaires) tous les rôles et fonctionnalités non utilisés
61 Fermer tous les ports non utilisés
62 Supprimer ou désactiver les comptes utilisateurs non utilisés
63 Restreindre au maximum les droits aux utilisateurs du réseau
64 Vérifier que tous les volumes utilisent le système de fichier « NTFS »
65 Configurer les permissions au niveau du Registre
66 Si possible, désactiver l’accès distant au Registre
67 Installer et activer un anti-virus & anti-spyware
68 Configurer l’anti-virus & anti-spyware pour se mettre à jour automatiquement
69 Configurer la date & heure système, synchroniser ensuite l’horloge avec un serveur de temps (Serveur NTP : Network Time Protocol)
70 Si possible, activer le chiffrement de lecteur BitLocker
  Sécurité Physique
71 Protéger l’accès au BIOS à l’aide d’un mot de passe
72 Protéger l’accès aux consoles de gestion (e.i console iLO) à l’aide d’un mot de passe
73 Ne pas autoriser l’arrêt du système sans avoir ouvert de session Windows
74 Configurer l’ordre de boot pour éviter tout démarrage d’un média non autorisé
75 Configurer un écran de veille pour verrouiller l’écran (affichage) après un certain temps d’inactivité
  Informations additionnelles
76 Utiliser l’outil MBSA (Microsoft Baseline Security Analyzer) pour analyser et auditer la sécurité de votre serveur

 

Télécharger ce document (format PDF)

Cette Checklist est disponible (format PDF) en téléchargement gratuit depuis la Gallery TechNet.

Vous pouvez download le document ici.

Bonne lecture.

Vos feedbacks sont les bienvenus :).

#HK

 

Malgré l’ajout des ~2300 nouvelles Cmd-lets PowerShell sur Windows Server 2012 R2 et 2016, le meilleur outil de gestion du Networking & Firewalling Windows reste (pour moi :D) le super Command-Line Tool Netsh.exe (Windows Network Shell).

En effet, Windows PowerShell fonctionne aujourd’hui qu’avec un sous-ensemble de fonctionnalités de management Windows Server, n’incluant pas la possibilité de configurer et gérer le Pare-feu Windows et ses fonctions avancées.

J’ai donc décidé de vous regrouper dans le présent post les « Top 10″ des Commandes Netsh que vous devez connaître pour créer, configurer et gérer vos Pare-feu Windows (Client & Server).

Les commandes détaillées ci-dessous peuvent aussi vous être utile lors de la configuration du Firewall Windows IaaS (E.g : VM Azure ou AWS)

 

1.Afficher /Lister une règle spécifique ou toutes les règles du Pare-feu Windows
  • Afficher toutes les règles : netsh advfirewall firewall show rule name=all
  • Afficher une règle spécifique (« SQL » dans l’exemple suivant) : netsh advfirewall firewall show rule name=SQL


2.Activer /Désactiver un ou plusieurs profils du Pare-feu Windows
  • Activer tous les profils du Pare-feu Windows : Netsh advfirewall set allprofiles state on
  • Désactiver tous les profils du Pare-feu Windows : Netsh advfirewall set allprofiles state off
  • Activer le profil « Public » du Pare-feu Windows : Netsh advfirewall set publicprofile state on
  • Désactiver le profil « Privé » du Pare-feu Windows : Netsh advfirewall set privateprofile state off
  • Activer le profil « Domaine » du Pare-feu Windows : Netsh advfirewall set domainprofile state on

3.Réinitialiser les stratégies (par défaut) du Pare-feu Windows
  • netsh advfirewall reset

4.Afficher et Configurer les fichiers Logs du Pare-feu Windows

Notez que le chemin par défaut des fichiers « Logs » liés au Pare-feu Windows est le suivant : C:\Windows\system32\LogFiles\Firewall\pfirewall.log

Vous pouvez visualiser ce chemin par défaut (pour tous les profils du Pare-feu) en exécutant la commande suivante :

  • netsh advfirewall show allprofiles logging

Nous allons définir dans l’exemple suivant le chemin « D:\WSFirewall\Logs\pfirewall.log », pour tous les profils du Pare-feu Windows (Domaine – Privé – Public)

  • netsh advfirewall set allprofiles logging filename « D:\WSFirewall\Logs\pfirewall.log« 

Note : après configuration d’un nouvel emplacement du fichier log pfirewall.log, l’ancien fichier log placé dans le chemin par défaut est automatiquement déplacé et renommé en .old


5.Autoriser ou Refuser le « Ping »
  • Autoriser le « Ping »: netsh advfirewall firewall add rule name= »All ICMP V4″ dir=in action=allow protocol=icmpv4
  • Refuser le « Ping » : netsh advfirewall firewall add rule name= »All ICMP V4″ dir=in action=block protocol=icmpv4

6.Ajouter (Autoriser) ou Supprimer un Port spécifique
  • Ajouter une nouvelle règle autorisant le port 1433 (port par défaut utilisé par SQL Server) : netsh advfirewall firewall add rule name= »Autoriser_Port_SQL Server » dir=in action=allow protocol=TCP localport=1433
  • Supprimer la règle précédente autorisant le port 1433 (port par défaut utilisé par SQL Server) : netsh advfirewall firewall delete rule name= »Autoriser_Port_SQL Server » protocol=tcp localport=1433

7.Autoriser un Programme
  • Dans l’exemple suivant, le Programme « IPScan » placé dans C:\Program Files\IPScan\IPScan.exe » sera autorisé : netsh advfirewall firewall add rule name= »Autoriser_IPScan » dir=in action=allow program= »%ProgramFiles%\IPScan\IPScan.exe »

8.Activer la gestion à distance
  • netsh advfirewall firewall set rule group= »Gestion à distance de Windows » new enable=yes


9. Activer /autoriser Les Connexions Bureau à distance
  • netsh advfirewall firewall set rule group= »Bureau à distance » new enable=Yes


10.Exporter ou importer la configuration & paramètres du Pare-feu Windows
  • Pour exporter toute la configuration du Pare-feu Windows vers D:\WSFirewall : netsh advfirewall export « D:\WSFirewall\WFconfiguration.wfw »

  • Pour exporter toute la configuration du Pare-feu Windows vers D:\WSFirewall : netsh advfirewall export « D:\WSFirewall\WFconfiguration.wfw »

Je vous laisse Run > Netsh Advfirewall /? et découvrir le reste des commandes.

Enfin, toujours gardez à l’esprit que le CLI Netsh.exe fait parti des outils en ligne de commande Windows les plus puissants (et compliqué aussi). Toujours PoC(er), Tester et Valider l’opération sur un LaB /Environnement d’Intégration /PréProd …Etc avant toute application sur les serveurs de Production.

A bientôt

Si une ou plusieurs de vos machines Windows (Client ou Serveur) ont été infectées par WannaCry, je vous invite à visionner la vidéo ci-après. La méthode consiste simplement à utiliser un outil (Freeware) nommé WanaKiwi qui permet de décrypter vos données sans payer les fameux 300 $$$$ (en Bitcoins) au groupe de Hackers :).

J’imagine que tout le monde est au courant du Ransomware (WannaCry) exploitant les vulnérabilités MS17-010 sur les OS Windows (Client & Server).

Toutes les KBs nécessaires pour corriger à cette faille sont publiées par Microsoft et disponibles depuis Mars 2017. Mais avant de les appliquer, vous devez d’abord scanner votre parc informatique pour lister les serveurs et clients Windows encore vulnérables à la MS17-010 pour établir la liste complète des machines à patcher par la suite.

Commencez par downloader Nmap pour Windows, récupérer ensuite le script Nmap pour la MS17-010 (script disponible ici, sinon vous pouvez copier /coller le code ci-après), et exécutez ensuite la commande suivante :

nmap -sC -p445 –open –max-hostgroup 3 –script smb-vuln-ms17-010.nse X.X.X.X/X

Dans l’exemple suivant, nous allons scanner le Subnet 10.0.110.0 /24, la commande suivante est donc utilisée:

nmap -sC -p445 –open –max-hostgroup 3 –script smb-vuln-ms17-010.nse 10.0.0.0/16

Un travail de traitement de fichier est à faire, car le résultat retourné par NMAP (pour un « gros » parc de serveurs et postes de travail) n’est pas « très exploitable », voir capture d’écran suivant :


local smb = require "smb"
local vulns = require "vulns"
local stdnse = require "stdnse"
local string = require "string"

description = [[
Attempts to detect if a Microsoft SMBv1 server is vulnerable to a remote code
 execution vulnerability (ms17-010).

The script connects to the $IPC tree, executes a transaction on FID 0 and
 checks if the error "STATUS_INSUFF_SERVER_RESOURCES" is returned to
 determine if the target is not patched against ms17-010.

Tested on a vulnerable Windows 7. We might have some issues with v2 protocols with
 signing enabled.

References:
* https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
* https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
* https://msdn.microsoft.com/en-us/library/ee441489.aspx
* https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/scanner/smb/smb_ms17_010.rb 
]]

---
-- @usage nmap -p445 --script smb-vuln-ms17-010 <target>
-- @usage nmap -p445 --script vuln <target>
--
-- @output
-- Host script results:
-- | smb-vuln-ms17-010: 
-- |   VULNERABLE:
-- |   Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
-- |     State: VULNERABLE
-- |     IDs:  CVE:CVE-2017-0143
-- |     Risk factor: HIGH
-- |       A critical remote code execution vulnerability exists in Microsoft SMBv1
-- |        servers (ms17-010).
-- |       
-- |     Disclosure date: 2017-03-14
-- |     References:
-- |       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143
-- |       https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
-- |_      https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
--
-- @xmloutput
-- <table key="CVE-2017-0143">
-- <elem key="title">Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)</elem>
-- <elem key="state">VULNERABLE</elem>
-- <table key="ids">
-- <elem>CVE:CVE-2017-0143</elem>
-- </table>
-- <table key="description">
-- <elem>A critical remote code execution vulnerability exists in Microsoft SMBv1
 servers (ms17-010).
</elem>
-- </table>
-- <table key="dates">
-- <table key="disclosure">
-- <elem key="month">03</elem>
-- <elem key="year">2017</elem>
-- <elem key="day">14</elem>
-- </table>
-- </table>
-- <elem key="disclosure">2017-03-14</elem>
-- <table key="refs">
-- <elem>https://technet.microsoft.com/en-us/library/security/ms17-010.aspx</elem>
-- <elem>https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143</elem>
-- <elem>https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/</elem>
-- </table>
-- </table>
---

author = "Paulino Calderon <paulino()calderonpale.com>"
license = "Same as Nmap--See https://nmap.org/book/man-legal.html"
categories = {"vuln", "safe"}

hostrule = function(host)
  return smb.get_port(host) ~= nil
end

local function check_ms17010(host, port, sharename)
  local status, smbstate = smb.start_ex(host, true, true, sharename, nil, nil, nil)
  if not status then
    stdnse.debug1("Could not connect to '%s'", sharename)
    return false, string.format("Could not connect to '%s'", sharename)
  else
    local overrides = {}
    local smb_header, smb_params, smb_cmd

    stdnse.debug1("Connected to share '%s'", sharename)

    overrides['parameters_length'] = 0x10

    --SMB_COM_TRANSACTION opcode is 0x25
    smb_header = smb.smb_encode_header(smbstate, 0x25, overrides)
    smb_params = string.pack(">I2 I2 I2 I2 B B I2 I4 I2 I2 I2 I2 I2 B B I2 I2 I2 I2 I2 I2",
      0x0,     -- Total Parameter count (2 bytes)
      0x0,     -- Total Data count (2 bytes)
      0xFFFF,  -- Max Parameter count (2 bytes)
      0xFFFF,  -- Max Data count (2 bytes)
      0x0,     -- Max setup Count (1 byte)
      0x0,     -- Reserved (1 byte)
      0x0,     --Flags (2 bytes)
      0x0,     --Timeout (4 bytes)
      0x0,     --Reserved (2 bytes)
      0x0,     --ParameterCount (2 bytes)
      0x4a00,  --ParameterOffset (2 bytes)
      0x0,     --DataCount (2 bytes)
      0x4a00,  -- DataOffset (2 bytes)
      0x02,    -- SetupCount (1 byte)
      0x0,     -- Reserved (1 byte)
      0x2300,  -- PeekNamedPipe opcode
      0x0,     --
      0x0700,  --BCC (Length of "\PIPE\")
      0x5c50,  --\P
      0x4950,  --IP 
      0x455c   --E\
    )
    stdnse.debug2("SMB: Sending SMB_COM_TRANSACTION")
    result, err = smb.smb_send(smbstate, smb_header, smb_params, '', overrides)
    if(result == false) then
      stdnse.debug1("There was an error in the SMB_COM_TRANSACTION request")
      return false, err
    end

    result, smb_header, _, _ = smb.smb_read(smbstate)
    _ , smb_cmd, err = string.unpack("<c4 B I4", smb_header)
    if smb_cmd == 37 then -- SMB command for Trans is 0x25
      stdnse.debug1("Valid SMB_COM_TRANSACTION response received")

      --STATUS_INSUFF_SERVER_RESOURCES indicate that the machine is not patched
      if err == 0xc0000205 then 
        stdnse.debug1("STATUS_INSUFF_SERVER_RESOURCES response received")
        return true
      end
    else
      stdnse.debug1("Received invalid command id.")
      return false, err
    end
  end
end

action = function(host,port)
  local vuln_status, err
  local vuln = {
    title = "Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)",
    IDS = {CVE = 'CVE-2017-0143'},
    risk_factor = "HIGH",
    description = [[
A critical remote code execution vulnerability exists in Microsoft SMBv1
 servers (ms17-010).
]],
    references = {
    'https://technet.microsoft.com/en-us/library/security/ms17-010.aspx',
    'https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/'
    },
    dates = {
      disclosure = {year = '2017', month = '03', day = '14'},
    }
  }
  local sharename = stdnse.get_script_args(SCRIPT_NAME .. ".sharename") or "IPC$"
  local report = vulns.Report:new(SCRIPT_NAME, host, port)
  vuln.state = vulns.STATE.NOT_VULN

  vuln_status, err = check_ms17010(host, port, sharename)
  if vuln_status then
    stdnse.debug1("This host is missing the patch for ms17-010!")
    vuln.state = vulns.STATE.VULN
  else
    if nmap.verbosity() >=1 then
      return err
    end
  end
  return report:make_output(vuln)
end

Note : pour connaître la liste des rôles et fonctionnalités pris en charge sur Windows Server Core 2008 /2008 R2 /2012 /2012 R2, consultez cet article.

PI : visionnez cette vidéo pour en savoir plus sur la configuration initiale de Windows Server Core 2016

De nouveaux rôles et fonctionnalités sont désormais pris en charge sur Windows Server Core 2016.

Des fonctionnalités supplémentaires peuvent être ajoutées à partir des sources d’installation de Windows Server 2016 : à partir du fichier d’image Windows > fichier .WIM

Je vous détaillerai à travers cet article la liste complète des rôles et fonctionnalités pouvant être déployés sur un Server Core 2016.

Rappel sur le mode « Core », appelé aussi « Installation Minimale » 

Windows Server Core, appelé aussi « Installation Minimale de Windows Server », est un mode d’installation allégé et pourvu d’options d’installations et de configurations minimales.

Il ne s’agit pas d’une nouvelle version mais plutôt d’une simple option d’installation à sélectionner depuis l’’assistant d’installation lors du déploiement de Windows Server 2016.

La particularité du mode « Core » réside également dans l’absence de la couche graphique Windows (absence du Shell Graphique Windows).

Les principales interfaces de gestion et configuration d’un Server Core sont les outils en ligne de commande fournis par défaut avec cette option d’installation, citons :

Invite de commande : CMD.exe

Windows PowerShell : PowerShell.exe

Outil de configuration (natif) du Server Core : SConfig.exe

Il s’agit ici d’outils CLI qui vous permettent de gérer votre Windows Server Core de manière « Interactive ».

L’OS Server en mode « Core » peut également être géré à distance via des outils graphiques : utilisation des outils (snap-in) fournis avec les RSAT (Remote Server Administration Tools).

HowTo : lister les rôles et fonctionnalités disponibles sur Windows Server Core 2016

Ouvrez une Session Windows sur votre Server Core et saisissez la commande suivante pour lancer Windows PowerShell :

Start PowerShell

La console Windows PowerShell apparaît :

Saisissez Get-WindowsFeature depuis la console Windows PowerShell pour lister tous les rôles et fonctionnalités Windows :

PowerShell collecte alors les informations sur les rôles et fonctionnalités Windows et vous retourne le résultat comme montré dans l’image ci-dessus.

Comme vous pouvez le constater, la colonne « Install State » indique le statut du rôle, service de rôle ou fonctionnalité, on distingue 3 statuts :

Available : Le rôle, service de rôle ou fonctionnalité est disponible (ses binaires sont présents sur l’OS) et peut être ajouté /installé

Removed : Le rôle, service de rôle ou fonctionnalité est supprimé (ses binaires ne sont pas présents sur l’OS). Il faut donc ajouter /installer le rôle, service de rôle ou fonctionnalité à partir des sources d’installation de Windows Server 2012 R2 (depuis fichier .wim par exemple)

Installed  : Le rôle, service de rôle ou fonctionnalité est déjà installé (par défaut avec l’installation de Windows Server 2016).

Liste des rôles et fonctionnalités supprimés de Windows Server Core 2016

Saisissez la commande suivante pour lister les rôles et fonctionnalités dont les binaires sont supprimés par défaut du Server Core :

Get-WindowsFeature | Where-Object {$_.InstallState -eq « Removed »}

 

Liste des rôles et fonctionnalités disponibles (par défaut) sur Windows Server Core 2016

Saisissez la commande suivante pour lister les rôles et fonctionnalités qui peuvent être être installés sur un Server Core 2016:

Get-WindowsFeature | Where-Object {$_.InstallState -eq « Available »}

Astuce : vous pouvez exporter le résultat retourné par la commande vers un fichier texte ou csv afin de trier les informations collectées et les exploiter par la suite. Pour ce faire, saisissez à la fin de la commande | Out-File C:\ListeRolesFonctionnalites.txt ou Export-CSV C:\ListeRolesFonctionnalites.csv

Liste des rôles et fonctionnalités installées (par défaut) avec Windows Server Core 2016

Saisissez la commande suivante pour lister les rôles et fonctionnalités qui sont (par défaut) installés avec Windows Server Core 2016:

Get-WindowsFeature | Where-Object {$_.InstallState -eq « Installed »}

Pour conclure:

17 rôle Windows peuvent désormais être installés et exécutés sur Windows Server Core 2016 :

Note importante : certains de services de rôles ne sont pas pris en charge sur un Server Core, il s’agit généralement des services de rôles nécessitant le « Shell Graphique ». E.g : service de rôle RD Session Host (Hôte de la session Bureau à distance) faisant parti du rôle parent « Services Bureau à distance ».

38 fonctionnalités Windows peuvent désormais être installées et exécutées sur Windows Server Core 2016 :