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 :).
Archives de mai, 2017
[WannaCry Ransomware Decryption Tool] Déverrouiller /Décrypter vos fichiers infectés for FREE via WanaKiwi !
Publié: 26/05/2017 dans Windows SecurityTags:Décrypter données infectées par WannaCry, HowToFix WannaCry, WannaCry, WannaCry Decryption Tool, WannaCry Fix, WannaCry solution
[RDS 2012 R2 et 2016 – Script Resources] Déployer, Créer et Gérer RDS 2016 via Scripts PowerShell
Publié: 21/05/2017 dans Outils en ligne de commande, RDS /TSE, TSE & RDSTags:Hicham KADIRI, RDP 10, RDS, RDS 2012, RDS 2012 R2, RDS 2016, RDS Deployment scripts, RDS management Scripts, RDS Script Resources, RDS Scripting Guys, Remote Desktop Services, Remote Desktop Services 2012 R2, Remote Desktop Services 2016, Scripts pour Services Bureau à distance, Scripts RDS, Windows Server 2012 R2, Windows Server 2016
Hello RDS Guys,
Je viens de créer un partage « OneDrive » dans lequel j’ai ajouté tous les scripts (développés par mes soins) liés au rôle RDS et au protocole RDP.
Ils sont accessibles en free download, à l’URL suivante :
https://1drv.ms/f/s!Agu0mgqr6F71pUWk4wK4fwu6H5_Q
Enjoy !
HK
[MS17-010 Vulnerability] Script NMAP pour checker la MS17-010
Publié: 18/05/2017 dans IT SecurityTags:Hicham KADIRI, MS17-010, Nmap, Script Check 17-010, Script Nmap MS17-010, Vulnérabilité MS17-010, WannaCry
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
[RDS Troubleshooting] Dépannez votre infrastructure RDS (Remote Desktop Services) 2016
Publié: 15/05/2017 dans TSE & RDS, Windows Server 2016Tags:Dépanner RDS, eBook RDS 2016, Hicham KADIRI, RDS, RDS 2016, RDS troubleshooting, Remote Desktop Services, Remote Desktop Services 2016, Services Bureau à distance
Outils de Diagnostic
Outils de Diagnostic Natifs
La console de gestion « Service Bureau à distance » intégrée dans le Gestionnaire de Serveur inclut plusieurs outils de diagnostic et de monitoring, notamment :
- Services: vous permet de manipuler les services RDS et visualiser leurs états.
- Performances : vous permet de configurer des compteurs et alertes de performances liés aux différents composants de l’infrastructure RDS
- BPA (Best Practice Analyzer) : vous permet de vérifier l’état de santé de l’infrastructure RDS
- Observateurs d’évènements: vous permet de consulter les différents journaux liés aux différents composants de l’infrastructure RDS
Ces outils sont disponibles depuis le volet « Serveurs » depuis la console « Services Bureau à distance »
De plus, après déploiement du serveur RDSH, un outil de diagnostic de Licences RDS est installé et placé dans les outils d’Administration, celui-ci vous permet de visualiser les Licences RDS disponibles ainsi que de vérifier le bon fonctionnement du serveur de Licence RDS et sa disponibilité sur le réseau.
ToDo : Je vous recommande l’exécution du RDS Best Practice Analyzer (BPA) au moins une fois par mois pour vérifier l’état de santé de l’infrastructure RDS 2016 et ses différents composants.
L’outil BPA peut être lancé depuis le volet « Serveurs » sous « BEST PRACTIVE ANALYZER ».
Cliquez sur « TÂCHES » et sélectionnez « Commencer l’analyse BPA».
La boite de dialogue suivante apparaît, sélectionnez le(s) serveur(s) à analyser et cliquez sur « Rechercher » :
Après analyse, le BPA remonte les informations collectées depuis les différents services de rôles RDS et les affiche sous « BEST PRACTICE ANALYZER » :
RDS Diagnostic Tool
Microsoft met à votre disposition un outil gratuit de diagnostic d’une infrastructure RDS 2016 en mode Session et VDI.
Il s’agit de « Remote Desktop Diagnostic Tool », disponible en téléchargement gratuit à l’URL ci-après :
https://www.microsoft.com/en-us/download/details.aspx?id=40890
Il permet de diagnostiquer et vérifier l’état de santé de chaque composant et service de l’infrastructure RDS 2016.
Note : Cet outil est supporté uniquement sur Windows Server 2012, 2012 R2 et 2016. Il ne peut être exécuté sur les plateformes Windows Server 2008 et 2008 R2.
Certains prérequis liés à cet outil existent :
- Exécution avec un compte utilisateur ayant des privilèges Administrateur
- Compte Administrateur du domaine ou équivalent
- Exécution sur un serveur Broker du déploiement RDS à diagnostiquer.
- Si l’outil est exécuté sur un serveur autre que RDCB, aucune information n‘est collectée et remontée.
Services Windows utilisés par RDS
La solution RDS a besoin des trois services Windows suivant pour fonctionner correctement :
- Services Bureau à distance (anciennement appelé Service Terminal Services
- Nom du service : TermService
- Configuration des Services Bureau à distance
- Nom du service : SessionEnv
- Redirecteur de port du mode utilisateur des Services Bureau à distance
- Nom du service : UmRdpService
Si le Service « TermService » est arrêté, aucune connexion Bureau à distance n’est possible.
Le Service « SessionEnv » offre la possibilité d’apporter des modifications sur le déploiement RDS : création de Collection, modification de paramètres de Collection, ajout de nouveau serveur au déploiement …
Enfin, la redirection des ressources et périphériques locaux vers les sessions Bureau à distance est assuré par le service « UmRdpService », si ce dernier est arrêté, aucun périphérique ni ressource locale ne peut être redirigée vers la Session distante des utilisateurs RDS.
N’hésitez pas à arrêter ces services pour prendre connaissance des risques et impacts sur votre infrastructure RDS 2016.
D’autres sous-services liés à l’infrastructure RDS existent, il s’agit de :
Service de rôle | Services Windows associés |
Service Hôte de la Session (RDSH) | TermService |
Service Broker (RDCB) | Tssdis |
Service Passerelle RDS (RDG) | TSGateway |
Service de Licence RDS (RDLS) | TermServLicensing |
Service Accès Web (RDWA) | Aucun service Windows associé |
Ces services sont listés sur le Volet « Serveurs » de la console « Services Bureau à distance » intégrée dans le Gestionnaire de Serveur, il suffit de sélectionner un serveur ou plusieurs serveurs et visualiser le statut de leurs services Windows liés à RDS sous « Services », dans l’exemple suivant, tous les serveurs du déploiement sont sélectionnés :
Cet Article est un extrait de l’eBook RDS 2016 – Guide du Consultant [2ème Edition]. Bientôt disponible sur BecomeITExpert.com