jeudi 15 juin 2017

Windows sécurité : des mises à jour pour tous les systèmes

Bonjour à tous,

Conscient du danger actuel des ransonwares, Microsoft a publié à nouveau des mises à jour pour les systèmes avant Windows 7 mais pour Windows 8 également.

Microsoft confirme qu’un nouveau patch est aujourd’hui disponible afin de corriger des failles précédemment identifiées dans l’archive diffusée par le groupe des Shadow Brokers. Dans un post de blog, Adrienne Hall manager du SOC cyberdéfense de Microsoft, explique que Microsoft a identifié « plusieurs vulnérabilités posant un risque élevé d’attaques informatiques par des gouvernements.»


N'hésitez pas à protéger votre système 😊

Bonne journée.
Patrice.

lundi 22 mai 2017

Et si l’Institut Pasteur décidait de lâcher Ebola dans la nature ?

Bonjour à tous,

Le titre est accrocheur mais c’est ce qu’il s’est passé avec WannaCrypt…

Microsoft nous prévient régulièrement et cela depuis des années qu’il a axé sa stratégie sur la sécurité des postes de travail. Ce qu’il s’est passé voici 10 jours est le résultat d’une négligence avérée dans la maintenance des parcs informatiques.

Je ne vais pas réécrire l’actualité du moment, je vous laisse lire ce très bon article de ZDNet dans son intégralité.

Bonne journée.
Patrice.

Cet article chez ZDNet… http://www.zdnet.fr/blogs/green-si/heureux-comme-un-wanacrypt-dans-un-jeu-d-applications-obsoletes-39852428.htm

L'objet de ce billet est d'aider les managers et les équipes métiers en charge des applications à prendre conscience que l'obsolescence technique se gère autant que les nouveaux projets.

Ce lundi 15 mai, de nombreuses DSI vont se réveiller avec la gueule de bois après le passage ce weekend d'une tornade non prévue: WanaCrypt.

Certains furent déjà sur le pont tout le weekend pour prévenir leurs utilisateurs. La mauvaise nouvelle c'est que cette tornade pourrait encore durer quelques temps vu la boîte de Pandore qu'elle vient d'ouvrir. C'est l'objet de ce billet que d'aider les managers et les équipes métiers en charge des applications à en prendre conscience. WanaCrypt est un "rançonware", c'est à dire un logiciel qui une fois installé sur un poste de travail (via la pièce jointe d'un email reçue et ouverte ou la propagation sur le réseau local de l'entreprise en mode "worm") en crypte tous les fichiers puis demande entre $300 et $600 en bitcoin pour récupérer ses données. Le bitcoin permet aux hackeurs de garder l'anonymat pour réutiliser la somme. Même si l'argent est généralement la principale motivation des hackeurs, dans le cas présent rien ne garantit que les données soient restituées. Les consignes sont d'ailleurs généralement de ne pas payer pour ne pas encourager de prochaines opérations. Traduisez, votre poste crypté vient d'être sacrifié... Vendredi 12 mai c'est le Royaume Uni qui a fait les frais d'une vague massive d'emails de phishing et d'une propagation fulgurante au sein de ses entreprises. Elle a notamment touché une entreprise publique très médiatisée, National Health Service, le gestionnaire des hôpitaux anglais, des hôpitaux qui ont été rapidement désorganisés quand les employés ne pouvaient plus utiliser leur ordinateur pour récupérer les données des patients. Des entreprises de toute l'Europe ont également été touchées, comme Renault qui a immédiatement stoppé la production sur son site de Sandouville, Nissan UK, la Deutsche Bank, la Banque de Bilbao ou Telefonica l'opérateur historique espagnol.

Depuis on parle de cyber-attaque massive et mondiale, et fait rare, le journal de 20h de la Une a ouvert pendant 5 minutes sur ce titre samedi soir, la veille d'une actualité politique pourtant chargée en France avec la prise de fonction du nouveau Président de la République française. C'est vrai que l'envoi de 5 millions d'emails par heure (comme cité par certains rapports de sécurité) peut être considérée comme une attaque massive (en 2016 les 215 milliards d'emails envoyés dans le monde - hors spam - correspondent à 24 millions d'emails par heure en moyenne).

Cependant GreenSI trouve que c'est un peu simpliste de ne regarder que le côté "cyber-attaque" même si visiblement cette attaque paraît organisée (préparer des millions d'emails à l'avance) et pensée (lancement un vendredi avant le weekend en ciblant les entreprises ?).

Dans cette crise le vrai problème pour les SI est surtout du côté de la défense! En effet, plusieurs "faits" découlant de politiques passées ont affaibli les défenses des entreprises,ce qui a favorisé la vitesse de propagation du virus en leur sein. Ces faits doivent nous faire réfléchir sur la gouvernance des SI au moment où ils deviennent de plus en plus critiques pour toutes les activités.

Une faille connue Cette faille de sécurité dans Windows était connue et bien identifiée, notamment par la NSA qui l'exploitait comme porte dérobée pour espionner les PCs. Elle a fait l'objet du bulletin de sécurité de Microsoft du 14 mars (MS17-010), donc il y a déjà un mois, avec la liste des systèmes concernés et le correctif à appliquer.

http://www.zdnet.fr/i/edit/2017/05/39852428/ms%20critique.jpg

Et pourtant tous les systèmes n'ont pas été mis à jour en un mois alors que la mise à jour était critique

Des SI qui utilisent des produits non maintenus La faille est aussi présente sur Windows XP et Server 2003 qui représentent encore un bon pourcentage respectivement des postes de travail et serveurs, et notamment ceux du NHS, alors que ces produits ne sont plus maintenus par l'éditeur. Heureusement, dans l'urgence, Microsoft a diffusé gratuitement un correctif ce weekend.

Les grands comptes qui ont payé très chère la "software assurance" de Microsoft pour XP, pour avoir de façon privilégiée quelques correctifs, doivent l'avoir mauvaise puisque le correctif du weekend a été livré gratuitement a tout le monde ;-) Quoi qu'il en soit, l'obsolescence est une réalité dont le management devrait se préoccuper, une partie du SI tourne sur des produits non maintenus donc vulnérables et ce souvent des applications anciennes au cœur des processus et de l'organisation. Est-ce que les métiers en charge des applications en sont conscients ?

Des postes de travail pas toujours sauvegardés Avoir un backup de l'ensemble des postes de travail de son entreprise semble une évidence, mais est en fait très compliqué à mettre en œuvre opérationnellement (avec la mobilité et les portables par exemple). La réalité est que si un poste est verrouillé et crypté, le retour arrière se fera en perdant certainement des données du poste.

Il faut donc accepter cette réalité, tout poste de travail doit pouvoir être détruit sans prévenir et sans impacter l'entreprise (au-delà des heures perdues par son malchanceux utilisateur... ) et surtout se préparer à l'affronter. Ceux qui ont engagé des politiques d'outils collaboratifs auront plus de chance avec les données des projets stockées dans ces outils au lieu d'être sur les postes des utilisateurs. Mais j'ai malheureusement vu trop de projets repasser d'outils collaboratifs à des outils personnels sous Excel, au gré des consultants de passage, pour encore y croire...

Une NSA qui joue à l'apprenti sorcier La faille a été identifiée par la NSA il y a longtemps et les outils pour l'exploiter, qui ont certainement mobilisé les meilleurs experts en sécurité du moment, ont malencontreusement été dérobés à la NSA par un collectif de hackers en mars dernier (Shadow Brokers). Un peu comme si l'Institut Pasteur laissez filer plusieurs souches du virus de la variole, aujourd'hui disparu, et qu'il conserve à des fins scientifiques. On peut accuser tous les hackeurs du monde, la responsabilité de la NSA ne doit pas être oubliée et elle est double: avoir fabriqué les matériaux du virus ET les avoirs perdus dans la nature. Il n'y a malheureusement pas de comité d'éthique pour ce qui concerne l'informatique. Avec l'arrivée de l'intelligence artificielle, peut-on tout laisser faire parce que c'est du logiciel et non de la manipulation d'embryons humains ? Et finalement, cela ne montre-t-il pas que les gouvernements peuvent aussi être plus dangereux que les hackers ? Les systèmes d'information des entreprises reliés dans un SI global par Internet étaient donc bien malades avant d'aborder cette nouvelle attaque virale !

Là où les défenses étaient faibles, là où les investissements pour le maintenir n'étaient plus en phase avec la criticité métier, c'est là que le SI est tombé rapidement.

Dans un hôpital, dans une chaîne de production, dans une chaîne logistique, certainement tous des systèmes anciens qui ont toujours donné satisfaction, qui évoluent peu ou plus, et qui sont passés sous la ligne de visibilité des investissements d'obsolescence technique.

La Première Ministre Théresa May, est intervenue rapidement pour rassurer sur le fait que le Royaume Uni n'était pas la seule cible de l'attaque mais a surtout déploré le fait que l'ampleur au Royaume Uni avait été exacerbée par une "politique conservative du NHS découlant des mesures d'austérité du gouvernement".

GreenSI vous rappelle le graphe de décision de la maintenance: si la probabilité est forte et que le coût de mise à jour est élevé alors il n'y a qu'une alternative, patcher !

A l'ère du digital et de la transformation numérique le rôle de la DSI reste prioritairement de gérer cette obsolescence, car la durée de vie des applications est entre 7 et 10 ans, donc bien après la fin des projets de développement. Pour cela elle a besoin des métiers et du management, elle doit mettre en place une gestion des compétences pour conserver celles dont on peut avoir besoin sur des systèmes obsolètes. Mais pour ne pas faire crouler les investissements sous le poids de sa dette (technique) la meilleure stratégie reste encore de supprimer les applications qui apportent une valeur marginale mais sont surtout un handicap ou un danger pour la globalité du SI. Plus on a d'applications, plus on a un SI hétérogène technologiquement, et plus on est exposé à l'ensemble des failles qui ne manqueront pas de survenir dans un des composants techniques. WanaCrypt aura au moins eu le mérite de nous le rappeler et GreenSI pense pour longtemps.

Alors maintenant qu'est-ce qu'on fait: I want to crypt (wanacrypt) or I want to upgrade ?

A bientôt.
Patrice.

mardi 16 mai 2017

Build 2017, le plein de nouveautés :-)

Bonjour tout le monde,

La Build 2017 s’est achevée vendredi dernier à Seattle. Elle a donné lieu à de très nombreuses annonces : quels que soient vos projets et votre environnement de dev, il y a plus que jamais une solution Microsoft pour vous aider à en faire plus !

> retour sur les principales nouveautés

Temps de lecture : 4 minutes et 42 secondes

Vous pouvez aussi écouter les podcasts des Frenchies@Build qui décryptent toutes les annonces ici : http://dev.microsoft.fr/build/?wt.mc_id=AID521865_EML_5064460 

Nouveautés sur le blog Azure https://azure.microsoft.com/en-us/blog/?wt.mc_id=AID521865_EML_5064460

Nouveautés sur le blog Windows https://blogs.windows.com/?wt.mc_id=AID521865_EML_5064460#2uAeiJvZrgTkuTof.97

Bonne journée 😊

Patrice.

mardi 21 mars 2017

Microsoft Apps pour Android

Bonjour tout le monde,

Vous utilisez un Smartphone Android et pensez peut-être que Microsoft vous a oublié.
Eh bien non !

Il existe une multitude d'applications Microsoft pour Android disponibles dans le Play store.

Office, Office Lens, Onedrive, Skype, Remote Desktop, Evernote, Translator... et j'en passe 😉

Dépêchez-vous, si vous n'y allez pas bientôt il n'y en aura plus 😃

Bonne journée.
Patrice.

mercredi 8 mars 2017

Visual Studio 2017 est disponible !

Bonsoir tout le monde,

Ça y est, il est arrivé !

Visual Studio fête cette année ses 20 ans avec le lancement de la version VS 2017 !
Parmi les principales nouveautés, découvrez notamment :

  • Une refonte de l’interface d’installation pour une utilisation plus modulaire et légère.
  • Une intégration simplifiée des outils Azure pour créer et déployer facilement des applications centrées sur le cloud
  • Un développement d’applications mobiles cross-plateformes facilité avec Xamarin désormais préinstallé.

Toute l’actualité sur le blog Visual Studio
Installez Visual Studio 2017 maintenant…

Bonne soirée.
Patrice.

jeudi 23 février 2017

Mobilisez votre petite entreprise


Bonjour à tous,
La liberté de travailler en dehors de son bureau est devenue la norme pour les entreprises de toutes tailles. Il est donc primordial de fournir les outils adéquats à ce nouveau mode de travail.
En téléchargeant gratuitement ce
livre blanc, vous découvrirez à quel point il est facile de mobiliser votre entreprise, ainsi que d’accroître son efficacité et sa productivité.

https://resources.office.com/ww-landing-mobilize-your-business.html?LCID=FR&wt.mc_id=AID532419_EML_4889053

En téléchargeant cet e-book gratuit, vous découvrirez à quel point il est facile de mobiliser votre entreprise, ainsi que d’accroître son efficacité et sa productivité.

Bonne journée.
Patrice

jeudi 16 février 2017

Sécurité: Que peux vous apporter Windows Hello ?

Bonsoir à tous,

Très bonne question !
Que peux vous apporter Windows Hello comme sécurité et confort à l’utilisation quotidienne ?image

Windows Hello vous permet de vous connecter à vos appareils Windows 10 de façon plus personnelle, par simple reconnaissance d’iris ou d’empreintes digitales. Vous bénéficiez ainsi d’une sécurité de niveau professionnel sans avoir à taper de mot de passe.

http://kulturegeek.fr/news-93608/windows-hello-fin-mots-passe?wt.mc_id=AID529270_EML_4875542

Mais également pour approfondir :

http://blogs.msmvps.com/vista/2015/09/25/windows-10-scurit-des-comptes-utilisateur/ 
http://blogs.msmvps.com/vista/2015/09/15/windows-10-se-connecter-avec-un-compte-microsoft/
http://blogs.msmvps.com/vista/2015/06/26/windows-10-ouverture-de-session-scurise/

Bonne soirée.
Patrice.

mardi 14 février 2017

Microsoft créé l’événement Cyber-Security Summit le mardi 14 mars !

Salut tout le monde,

En 2015, 90% des grandes entreprises et 74% des PME ont été victimes de brèches de sécurité*. Quelle stratégie de sécurité mettre en place dans votre organisation ?

Quelles solutions choisir pour une sécurité de bout en bout ? Quelles sont les nouvelles fonctionnalités que vous devez connaître ?

Après une matinée pour mieux comprendre la vision Microsoft d’une stratégie de sécurité de bout en bout et les retours d’expériences de vos pairs, ils entrerons, l’après-midi, au cœur de la conception des solutions de sécurité de Microsoft avec leur équipe d’ingénieurs en Recherche et Développement. Ils vous présenteront, en démos, les nouveautés en matière d’identité, de gestion des devices, des applications, des données et enfin de l’infrastructure.

Réserver votre place dès aujourd'hui...
https://www.microsoftevents.com/profile/form/index.cfm?PKformID=0x1311856d61f&wt.mc_id=AID529257_EML_4873309

Bonne journée 😉
Patrice.

Salon professionnel Virtuality Paris dans 10 jours

Bonjour à tous,
Vous êtes Développeur ?

Les 24, 25 et 26 février prochains, a lieu pour la première fois à Paris le salon de la réalité virtuelle et des technologies immersives.
Pour mieux comprendre les enjeux de ce secteur d’avenir et envisager d’y développer des projets innovants, le salon vous propose :
Plus de 100 exposants spécialistes de la réalité virtuelle, augmentée ou mixte.
80 talks de 20 minutes.
6 sessions de networking & 1 concours de startups.

Microsoft sera présent le vendredi 24 pour présenter le potentiel des technologies immersives. 

Ces présentations se feront à travers des retours d’expériences professionnelles et des démos HoloLens.

Microsoft vous donne rendez-vous au Cent-quatre à Paris 19ème, 5 rue Curial.

Inscription : https://www.virtuality-paris.com/?wt_mc_id=AID521865_EML_4873169

mardi 10 janvier 2017

Des erreurs Windows Update ? Microsoft propose...

Bonjour à tous,

Microsoft met à disposition un outil afin de résoudre des problèmes de mises à jour avec Windows.

Si pour l’installation de mises à jour Windows un obscur code d’erreur 0x80073712, 0x8024402F ou encore 0x80070020 vous laisse perplexe, Microsoft a mis en ligne un  » guide  » et un outil pour aider à résoudre des soucis rencontrés.

Cette aide à la correction d’erreurs s’adresse aux utilisateurs de Windows 7, Windows 8.1 et Windows 10. Elle peut constituer un intérêt pour des mises à jour cumulatives de Windows 10 qui sont parfois récalcitrantes avec certaines configurations.
Il ne faut cependant pas s’attendre à la panacée, sachant que des mesures de contournement sont souvent issues du forum Microsoft Community. Il y a néanmoins un côté pratique qui évitera peut-être d’écumer le forum à la recherche d’une solution.
L’outil peut par exemple réparer une base de données Windows Update corrompue, vérifier certains paramètres parmi d’autres choses.
L’article complet 

http://www.generation-nt.com/windows-erreur-mise-jour-correction-outil-microsoft-actualite-1937310.html 

Bonne lecture.

samedi 8 octobre 2016

Problèmes récents dans Outlook.com

Bonjour à tous,

Quelques correctifs ou solutions de contournement pour les problèmes récents dans Outlook.com

Erreurs de connexion IMAP d’Outlook.com

Il se peut qu’une erreur de connexion s’affiche si votre compte Outlook.com est configuré en tant que compte IMAP dans plusieurs clients de messagerie. Nous travaillons activement au développement d’un correctif et mettrons à jour cet article lorsque nous aurons plus d’informations. Pour le moment, vous pouvez essayer la solution de contournement suivante :

  1. Accédez à http://account.live.com/activity et connectez-vous à l’aide de l’identifiant et du mot de passe de messagerie du compte concerné.

  2. Sous Activité récente, recherchez l’événement Défi de sécurité correspondant à l’heure la plus proche de l’affichage du message d’erreur de connexion, puis cliquez dessus.

  3. Cliquez sur C’était moi pour indiquer au système que vous autorisez la connexion IMAP.

  4. Essayez de vous connecter au compte à partir de votre client IMAP.

Pour plus d’informations sur l’utilisation de la page Activité récente, voir Qu’est la page Activité récente ?.

Contacts vides dans l’application de messagerie par défaut Android

Nous avons connaissance d’un problème dans lequel plusieurs contacts vides sont créés dans l’application de messagerie Android par défaut sur les appareils Android. Nous sommes en train de publier un correctif. Pour recevoir le correctif, vous devez effectuer les opérations suivantes :

  1. Connectez-vous à votre compte sur http://www.outlook.com.

  2. Sélectionnez l’icône d’engrenage dans le coin supérieur droit.

  3. Sélectionnez Options dans le menu déroulant.

  4. Sélectionnez Général dans le menu à gauche de la page.

  5. Sélectionnez Appareils mobiles.

  6. Mettez en surbrillance l’appareil concerné par le problème.

  7. Sélectionnez l’icône «- » sur la ligne au-dessus de la liste des appareils et confirmez la suppression.

Cette procédure effacera les contacts vides lors de votre prochaine synchronisation de l’appareil.

Bonne journée et bon weekend Winking smile
Patrice.

mercredi 13 juillet 2016

Synthèse des bulletins de sécurité - juillet 2016

Bonjour à tous, bonjour aux vacanciers :-)

Ce Bulletin de synthèse décrit les publications de Bulletins de 
sécurité pour juillet 2016. 

La version complète de la synthèse des Bulletins de sécurité Microsoft pour cette publication est disponible ici : 
http://technet.microsoft.com/fr-fr/security/bulletin/ms16-jul 
Pour recevoir une notification automatique lorsque qu'un Bulletin de sécurité Microsoft est publié, consultez 
http://www.microsoft.com/fr-fr/security/resources/newsletters.aspx 

Microsoft fournit également des informations afin d'aider ses clients à évaluer la priorité d'installation des mises à jour de sécurité avec chaque Bulletin. 

Bonne journée.
Patrice.

samedi 18 juin 2016

Windows Server 2016 et les conteneurs

Bonjour à tous,

Windows 10 supporte désormais les conteneurs Hyper-V en natif pour les développeurs !

Grace au tuto ci-dessous, vous pourrez comprendre comment, dans un esprit très "DevOps", les conteneurs vont vous permettre d'optimiser le cycle de vie d'applications à l'échelle du cloud, en simplifiant la gestion de configuration, le déploiement, et le passage à l'échelle.
Grâce au tuto MVA, vous en apprendrez plus sur Docker, puis sur les conteneurs Windows et Hyper-V disponibles dans Windows Server 2016.

Tout savoir sur les conteneurs… https://www.microsoft.com/fr-fr/evalcenter/evaluate-windows-server-technical-preview?CR_CC=200642843

Bon weekend.
Patrice.

vendredi 3 juin 2016

Le cloud, LA solution pour protéger votre PME

Bonjour à tous,

Vous êtes entrepreneur et vous songez à sécuriser efficacement vos données dans le Cloud Microsoft afin de bénéficier en plus d’une accessibilité 24/7 !

Cette vidéo présentée par Bernard Ourghanlian Directeur Technique et Sécurité (Chief Technology & Security Officer) une “pointure” chez Microsoft nous présente la solution Cloud pour PME.

Cybercriminalité, crash de serveurs, vol de PC... Les risques qui touchent les PME sont réels et peuvent avoir de lourdes conséquences. Néanmoins, il existe des solutions simples et accessibles pour les PME. Héberger ses données dans le cloud Microsoft vous permet, par exemple, de bénéficier du même niveau de sécurité que les grands groupes et d'accéder 24h/24 et 7j/7 à vos données où que vous soyez ! Cette vidéo a été tournée dans le cadre de l’événement InnovationWeek 2015 avec les équipes du Hub Institute.

https://experiences.microsoft.fr/channel/le-cloud-la-solution-pour-proteger-votre-pme/cf16c0b7-04bc-4aae-a453-43eecb59dd89

Bonne soirée.
Patrice.

jeudi 26 mai 2016

mardi 24 mai 2016

Windows Server 2016 et la sécurité…

Bonsoir à tous,

Windows Server, c’est aussi plus de sécurité.

Défendez vous contre les attaques de type Pass the Hash en mettant en place une politique de renouvellement automatique des mots de passe directement via Windows Server. Concrètement, comment ça se passe ?

https://channel9.msdn.com/Blogs/Concretement/Episode-23-Lutter-contre-les-attaques-Pass-the-Hash-avec-Windows-Server-2016?CR_CC=200642249

Bonne soirée.
Patrice.

Windows Server 2016 : le mode “Core”

Bonjour tout le monde,

Configuration initiale de Windows Server 2016 TP4 "Core"

Windows Server 2016 TP4 « Core » est la solution si vous cherchez un mode d’installation simple et optimisé pour la légèreté et la rapidité d’exécution.

https://channel9.msdn.com/Blogs/MVP-Cloud-DataCenter/HowTo--Configuration-initiale-de-Windows-Server-2016-TP4-Core?CR_CC=200642249

Bonne soirée.
Patrice.

Windows Server 2016: les dernières nouveautés

Bonsoir à tous,

Les nouveautés de Windows Server 2016 vous attendent !

La dernière version de Windows Server possède de multiples nouveautés. Découvrez-en les détails dans ce cours.

https://mva.microsoft.com/fr-fr/training-courses/nouveauts-de-windows-server-2016-16140?l=sqSTBGOGC_3905192797&CR_CC=200819826

Bonne soirée Winking smile
Patrice.

lundi 9 mai 2016

Clé USB danger : Attention aux malwares

Bonjour à tous,
Voici une information de Generation  NT à lire avec intérêt :-)

Laisser traîner une clé USB s'avère être une tactique particulièrement efficace pour compromettre des ordinateurs. 

Comme une étude pour CompTIA tendait déjà à le prouver, cela fonctionne bel et bien. Des chercheurs de Google, l'université de l'Illinois et du Michigan ont également mené leur expérience sociale pour parvenir à un résultat encore plus probant. 

Ils ont abandonné près de 300 clés USB sur le campus de l'université de l'Illinois. Ils ont pu constater que 48 % d'entre elles ont été connectées à un ordinateur et avec un clic sur leurs fichiers.

Cela n'a d'ailleurs pas traîné, une clé laissée par terre a été connectée moins de six minutes après. Il y a décidément des efforts d'éducation en matière de sécurité informatique qui ont bien du mal à passer.

Ces clés USB contenaient des fichiers HTML qui appelaient une image hébergée sur un serveur des chercheurs. Sans exécuter de code sur l'ordinateur de l'utilisateur, cela a permis de déterminer quand une clé était connectée et un fichier ouvert. Le cas échéant, il était demandé de répondre à une enquête en échange d'une carte cadeau. 

La plupart des répondants (68 %) ont affirmé avoir connecté la clé USB dans le but de trouver son propriétaire et lui restituer. Seulement 18 % ont dit avoir agi par curiosité. Reste que s'il y avait eu du contenu malveillant, le résultat aurait été le même, altruisme ou pas.

Cela confirme donc que si une clé USB malveillante est laissée à l'abandon, elle trouvera rapidement preneur et fera une victime qui pourrait aussi être une entreprise. 

http://www.generation-nt.com/cle-usb-etude-securite-actualite-1927810.html

Bonne lecture.
Patrice.

mercredi 4 mai 2016

Kaspersky Lab nous veut du bien...


Le ransomware CryptXXX cible les appareils Windows dans le but de verrouiller des fichiers et par là, rançonner leurs utilisateurs.

Ce ransomware CryptXXX se propage via des spams qui contiennent des pièces jointes infectées ou des liens vers des sites web malicieux. Les pages web hébergeant un Angler Exploit Kit (permet l'automatisation de campagnes malveillantes très efficaces)distribuent CryptXXX.

Lors de l’exécution, le ransomware chiffre les fichiers présents sur le système infecté et ajoute une extension .crypt à leur nom. Les victimes sont informées que leurs fichiers ont été chiffrés en utilisant RSA-4096 — un algorithme de chiffrement fort — et une rançon en Bitcoins leur est demandée s’ils souhaitent récupérer leurs données.

Avec plus de 50 familles de ransomwares actuellement en circulation, il n’existe pas d’algorithme universel qui permettrait de bloquer ou contrôler leurs attaques. Cependant, dans le cas de CryptXXX, les criminels se targuaient d’utiliser RSA-4096, ce qui a permis à Kaspersky Lab de développer un outil de déchiffrement qui est disponible gratuitement ici : https://support.kaspersky.com/viruses/disinfection/8547#block3.

Grâce à cet outil, les victimes de CryptXXX peuvent maintenant recupérer leurs fichiers sans avoir à payer de rançon. Pour déchiffrer les fichiers infectés, l’outil de Kaspersky Lab aura besoin d’une version originale, c’est-à-dire non chiffrée, d’au moins un fichier touché par CryptXXX. 

Bon courage.
Patrice.

mercredi 13 avril 2016

Microsoft: Bulletin de sécurité de avril 2016

Bonsoir à tous,

Ce mardi 12 avril, Microsoft a publié son bulletin de sécurité pour ce mois en cours.

Mises à jour de sécurité cumulatives et de sécurité pour différents produits de l’éditeur à découvrir à cette page https://technet.microsoft.com/library/security/ms16-apr

Vous découvrirez également les indices d’exploitabilité dans chacune de ces mises à jour https://technet.microsoft.com/library/security/ms16-apr#ID0EQGAC

Et bien sûr tous les bulletins précédents… https://technet.microsoft.com/fr-fr/library/security/dn610979.aspx

Vous pouvez aussi vous abonner à ces bulletins afin de recevoir les toutes dernières informations de mises à jour sécuritaires Smile https://www.microsoft.com/fr-fr/security/resources/newsletters.aspx

Bonne soirée.
Patrice.

 

mardi 12 avril 2016

Ransonware Petya: c'est réglé !

Bonjour à tous,
Si vous étiez inquiet d’avoir affaire à Petya à un moment ou un autre, après avoir goûté à Locky, dormez tranquille 
Des experts en sécurité ont cassé le code !

Plus d’informations ici http://www.zdnet.fr/actualites/le-ransomware-petya-casse-les-donnees-sont-recuperables-39835422.htm

Bonne journée.
Patrice.

mardi 5 avril 2016

Windows 10: Nouvelle version d'évaluation 14295 disponible…

Bonsoir tout le monde,

Microsoft vient de terminer sa conférence annuelle pour les développeurs, Build 2016, lors de laquelle il a été présenté de nouvelles fonctionnalités Windows 10 très intéressantes.

Il est possible d’essayer ces nouvelles fonctionnalités que ce soit en mise à jour paramétrées rapide ouimage lente. Pour plus de détails sur les nouveautés, consultez le billet de blog de Gabe sur la dernière build Windows 10 Insider Preview. (Notez que des fichiers ISO sont disponibles pour les Insiders qui souhaitent effectuer une nouvelle installation de cette build ou l'exécuter dans une machine virtuelle. En anglais.)

Les dernières versions d'évaluation (builds Preview) incluent le nouveau Hub de commentaires qui combine l'application Commentaires sur Windows et Insider Hub dans une application unique dans laquelle vous pouvez lire les dernières annonces Windows Insider, effectuer des quêtes ou donner votre avis pour Windows et toutes vos applications favorites.

Je ne vous en dis pas plus et vous convie à essayer cette dernière version 14295… https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewiso?OCID=WIP_r_14_Body_ISOS

A bientôt.
Patrice.

jeudi 31 mars 2016

Ransonware : Bitdefender propose un outil…

Bonsoir à tous,

Avec la prolifération des ransonwares (Locky, TeslaCrypt et CTB-Locker et maintenant Petya), Bitdefender propose sur son site un outil de désinfection gratuit pour les retirer.

La mauvaise nouvelle est qu’il risque d’être contourné par les cybercriminels.image
La bonne est que cet outil fonctionne encore avec certains Smile.

Cet utilitaire repose sur les mêmes principes que ceux que la firme avait employé pour stopper la diffusion de CryptoWall qui avait provoqué d’innombrables dégâts.

Si CryptoWall a depuis été modifié pour rendre l’utilitaire de Bitdefender inopérant, la technique de l’éditeur fonctionne encore sur les ransomwares plus récents comme locky.

Il faut essayer et si cela ne fonctionne pas, aller chez un autre éditeur. Ne pas abandonner…

Et surtout, sauvegarder complètement le système régulièrement afin de ne pas avoir à payer une rançon; non mais !

Si vous êtes prêt à ne rien laisser passer à votre employeur ou quel que soit l’organisme, vous n’allez pas dépenser de l’argent bêtement ! D’où la nécessité d’effectuer vos sauvegardes système.

Bonne soirée.
Patrice.

lundi 28 mars 2016

Windows 10: Créer un support de récupération avec Windows ICD (2)

Bonjour tout le monde,

Nous avons vu précédemment comment installer facilement Windows ADK et donc Windows ICD.

Windows ICD a été principalement conçu à l’intention :

  • Des fabricants d’ordinateurs OEM, fabricants ODM et fabricants qui recherchent un processus simple et rationalisé pour la création et le déploiement d’une image système Windows,
  • Des intégrateurs de systèmes qui approvisionnent des appareils en fonction des besoins de leurs clients,
  • Des services informatiques des entreprises et des établissements d’enseignement qui ont besoin d’approvisionner des appareils BYOD et des appareils fournis par l’entreprise.

Windows ICD va vous permettre d’effectuer ces tâches :

  • Visualiser tous les paramètres et stratégies configurables pour un package d’approvisionnement ou une image Windows 10,
  • créer des fichiers de réponses d’approvisionnement Windows,
  • ajouter des pilotes, des applications ou d’autres ressources tiers à un fichier de réponses,
  • créer des variantes et spécifier les paramètres qui s’appliquent à chacune,
  • générer et flasher une image Windows,
  • générer un package d’approvisionnement.

Nous allons voir comment créer un média de récupération pour une machine où est installé Microsoft Windows 10 éditions : Famille, Professionnel, Entreprise ou Education.

Selon que l'installation de Windows ADK se trouve sur une machine 32 ou 64 bits, saisissez une des 2 commandes:
- C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\ICD.exe sur la machine 32 bits,
- C:\Program Files\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\ICD.exe sur la machine 64 bits.

Le mieux étant de créer un raccourci car le programme d’installation ne le crée pas.ICD9

Une fois le programme démarré, une interface simple apparaît.

Choisissez de démarrer une Nouvelle personnalisation d’image système Windows

Lorsque vous reprendrez votre travail interrompu, le projet créé sera retrouvé dans Ouvrir un projet récent, à droite.

 

 

Commençons par donner un nom au projet, le dossier de destination et facultativement une description…

ICD10
Cliquez sur Suivant

Sélectionnez l’option 1 qui correspond à la présence d’une image install.wim. Ce fichier se trouve dans le dossier “Sources” de votre master Windows. Si vous possédez un ISO, il suffit de monter l’image pour la rendre disponible de la même manière.

ICD11
Cliquez sur Suivant pour continuer…

Sélectionnez maintenant l’image dans le dossier où celle-ci a été copiée puis, choisissez celle qui correspond à votre projet.

ICD12
Cliquez ensuite sur Suivant

ICD13

Facultativement, sélectionnez un package de mise en service si c’est la cas puis, cliquez sur Terminer

Remarque : Un package de mise en service est un conteneur de personnalisation et de configuration pour des machines spécifiques. Il peut être appliqué à toutes les éditions de Windows 10. Vous pouvez créer ce type de paquets avec Windows ICD mais également avec USMT.
L'extension d'un tel fichier est .ppkg et son format comprend des métadonnées, des descripteurs XML ainsi que des paramètres de configuration.

ICD14

Le projet est démarré; s’il y a, lieu mais non nécessaire ici, vous allez pouvoir personnaliser l’image.

Tout d’abord, trois types d’affichage :

  • Les paramètres IT Pro courants,
  • Les paramètres OEM courants,
  • Tous les paramètres.

Ces types d’affichage affectent les paramètres situés en-dessous :

  • Ressources de déploiement,
  • Paramètres d’heures d’images,
  • Paramètres d’exécution.

Chaque paramètres sélectionné en “1” ouvre une fenêtre détaillée en “2” ainsi qu’une aide sur la fonctionnalité en cours en “4”.

En “3”, on trouve l’arborescence complète de la personnalisation qui permet de se repérer convenablement dans la quantité de paramètres disponibles ce qui permet constamment de savoir où l’on en estSmile.

Pour créer un Média de récupération, sélectionnez Créer / Média de récupération

ICD15

Dans notre cas, nous voulons pour ce média, la création d’un support amovible USB qui permettra le démarrage d’une machine. Sélectionnez alors la première option, Créer un lecteur USB démarrable. Cliquez ensuite sur Suivant

ICD16

Sélectionner le lecteur où se trouve le support à préparer puis, cliquez sur Suivant

ICD17

L’image de récupération est prête à la création. Cliquez sur Build

ICD18

Conseil d’utilisation puis, phase de création…

ICD19

 ICD20

Le support est créé; vous pouvez tester son fonctionnement puis, le ranger en lieu sûr afin d’être utilisé le moment venu.

ICD21

Bonne journée.
Patrice.

Plus d’informations…
Prise en main, limitations du logiciel…
https://msdn.microsoft.com/fr-fr/library/windows/hardware/dn916112(v=vs.85).aspx
Package de mise en service… https://msdn.microsoft.com/fr-fr/library/windows/hardware/mt147447(v=vs.85).aspx 
Configurer une personnalisation… https://msdn.microsoft.com/fr-fr/library/windows/hardware/dn916109(v=vs.85).aspx 

jeudi 24 mars 2016

Locky: Mieux vaut prévenir...

Bonjour à tous,

Voici un article recopié que vous trouverez en intégralité à cette page... https://www.lexsi.com/securityhub/comment-creer-un-vaccin-contre-le-ransomware-locky/.
Les images n'ont pas été volontairement copiées...

Ainsi, il vaut vous rendre sur le site d’origine afin de copier les données convenablement.

Comment créer un vaccin contre le ransomware Locky

En 2009, nous avions appliqué la notion de vaccin à Conficker afin de protéger les postes contre ce ver se propageant très rapidement sur les parcs informatiques. Voyons si nous pouvons appliquer le même concept au ransomware Locky.

Dans la suite du billet, nous appellerons vaccin toute modification mineure du système ayant pour objet de bloquer, sans intervention utilisateur, tout ou partie des effets néfastes liés à l’exécution d’un programme malveillant. Evidemment, le vaccin doit être administré avant que la maladie n’arrive…

Par modification mineure, on entend par exemple la création d’un mutex ou d’une clé de registre spécifiques, ou bien une modification simple des paramètres n’entraînant pas de désagrément pour l’utilisateur. A titre de contre-exemple, au début de son exécution, Locky vérifie les paramètres de langue du système et n’infecte pas ceux configurés en langue Russe :

On peut donc configurer le système en langue russe pour empêcher l’infection mais cela risque de se révéler assez peu pratique au quotidien

Vaccin n°1 : ACL sur la clé de registre Locky

Suite à la vérification de la langue, Locky tente de créer la clé de registreHKCU\Software\Locky ; si cela échoue pour une quelconque raison, Locky termine immédiatement.

En créant donc cette clé avant Locky avec des ACLs interdisant toute ouverture, on vaccine totalement le système :

Vaccin n°2 : valeur de registre completed

Dans la suite de l’exécution, Locky vérifie au sein de la cléHKCU\Software\Locky l’éventuelle présence des valeurs id (identifiant de la machine infectée), pubkey (clé publique récupérée depuis le serveur, procédure détaillée ci-après), paytext (texte à afficher à la victime, dans sa langue) et completed. Cette dernière valeur indique la fin du processus de chiffrement. Locky vérifie si completed vaut 1 ; le cas échéant et si de plus la valeur id contient l’identifiant correspondant à la machine, il arrête son exécution :

L’algorithme de génération de l’identifiant est simple et donne ceci sur notre machine de test :

GetWindowsDirectoryA() :C:\WINDOWSGetVolumeNameForVolumeMountPointA(C:\WINDOWS) : \\?\Volume{ b17db400-ae8a-11de-9cee-806d6172696f}md5({b17db400-ae8a-11de-9cee-806d6172696f}):1d9076e6fd853ab665d25de4330fee06conversion en ASCII, passage en majuscules et troncature aux 16 premiers caractères :1D9076E6FD853AB6

La création de ces deux clés de registre, dont l’une dépend du système, permet donc d’empêcher le chiffrement des fichiers par Locky :

Vaccin n°3 : clé RSA corrompue

Avant de chiffrer les fichiers, Locky contacte son C&C via une requête HTTP POST avec comme données en clair dans notre exemple :

(gdb) hexdump 0x923770 0x65 88 09 0c da 46 fd 2c de 1d e8 e4 45 89 18 ae 46 |....F.,....E...F|69 64 3d 31 44 39 30 37 36 45 36 46 44 38 35 33 |id=1D9076E6FD853| 41 42 36 26 61 63 74 3d 67 65 74 6b 65 79 26 61|AB6&act=getkey&a| 66 66 69 64 3d 33 26 6c 61 6e 67 3d 66 72 26 63 |ffid=3〈=fr&c| 6f72 70 3d 30 26 73 65 72 76 3d 30 26 6f 73 3d |orp=0&serv=0&os=| 57 69 6e 64 6f 77 73 2b58 50 26 73 70 3d 32 26 |Windows+XP&sp=2&| 78 36 34 3d 30 |x64=0

La première ligne correspond au condensé MD5 du reste du buffer. Ces données sont encodées basiquement avant envoi :

Le décodage des données reçues en réponse utilise un algorithme similaire :

Ces deux algorithmes s’implémentent en quelques lignes de Python :

def encode(buff): buff = md5(buff).digest() + buff out = "" key = 0xcd43ef19 for index in range(len(buff)): ebx = ord(buff[index]) ecx = (ror(key, 5) - rol(index, 0x0d)) ^ ebx out += chr(ecx & 0xff) edx = (rol(ebx, index & 0x1f) + ror(key, 1)) & 0xffffffff ecx = (ror(index, 0x17) + 0x53702f68) & 0xffffffff key = edx ^ ecx return outdef decode(buff): out = "" key = 0xaff49754 for index in range(len(buff)): eax = (ord(buff[index]) - index - rol(key, 3)) & 0xff out += chr(eax) key += ((ror(eax, 0xb) ^ rol(key, 5) ^ index) + 0xb834f2d1) & 0xffffffff return out

Les données décodées sont les suivantes :

00000000: 3af6 b4e2 83b1 6405 0758 854f b971 a80a :.....d..X.O.q.. 00000010: 0602 0000 00a4 0000 5253 4131 0008 0000 ........RSA1....00000020: 0100 0100 2160 3262 90cb 7be6 9b94 d54a ....!`2b..{....J 00000030: 45e0 b6c3 f624 1ec5 3f28 7d06 c868 ca45 E....\..?(}..h.E00000040: c374 250f 9ed9 91d3 3bd2 b20f b843 f9a3 .t%.....;....C.. 00000050: 1150 5af5 4478 4e90 0af9 1e89 66d2 9860 .PZ.DxN.....f..` 00000060: 4b60 a289 1a16 c258 3754 5be6 7ae3 a75a K`.....X7T[.z..Z00000070: 0be4 0783 9f18 46e4 80f7 8195 be65 078e ......F......e.. 00000080: de62 3793 2fa6 cead d661 e7e4 2b40 c92b .b7./....a..+@.+ 00000090: 23c9 4ab3 c3aa b560 2258 849c b9fc b1a7 #.J....`"X...... 000000a0: b03f d9b1 e5ee 278c bf75 040b 5f48 9501 .?....'..u.._H.. 000000b0: 80f6 0cbf 2bb4 04eb a4b5 7e8d 30ad f4d4 ....+.....~.0... 000000c0: 70ba f8fb ddae 7270 9103 d385 359a 5a91 p.....rp....5.Z. 000000d0: 4995 9996 3620 3a12 168e f113 1753 d18b I...6 :......S.. 000000e0: fdac 1eed 25a1 fa5c 0d54 6d9c dcbd 9cb7 ....%..\.Tm..... 000000f0: 4b8e 1228 8b70 be13 2bfd face f91a 8481 K..(.p..+.......00000100: dc33 185e b181 8b0f ccbd f89d 67d3 afa8 .3.^........g... 00000110: c680 17d80100 6438 4eba a7b7 04b1 d00f ......d8N.......00000120: c4fc 94ba ....

Les 16 premiers octets sont le MD5 du reste. A partir de l’offset 0x10, on reconnaît une structureBLOB_HEADER :

type 0x06 =PUBLICKEYBLOBversion 0x022 octets réservésALG_ID 0xa400 =CALG_RSA_KEYX

Il s’agit d’une clé publique RSA, la suite est donc une structureRSAPUBKEY :

magic RSA1 = clé publiquetaille de la clé : 0x800 = 2048 bitsexposant 0x10001 = 65537module 2160…94ba

Comme mentionné précédemment, cette structure est stockée telle quelle (hors MD5) dans la valeur pubkey. Si cette valeur existe mais contient une valeur invalide, les fichiers ne sont ni renommés, ni chiffrés par Locky. La capture ci-dessous montre une machine de test possédant une valeur pubkey contenant un unique octet nul. On voit que Locky s’est exécuté sur la machine mais qu’il n’a pas altéré le fichier monfichier.txt présent sur le bureau bien que son extension fasse partie des cibles :

On remarque aussi que si la valeur pubkey contient une clé RSA 1024, le fichier sera renommé mais pas chiffré :

Vaccin n°4 : clé privée RSA connue

Locky possède un autre problème de design intéressant : si la valeur pubkey existe déjà, elle est utilisée sans aucune forme de vérification lors du chiffrement des fichiers, ce qui permet de forcer l’utilisation d’une clé publique RSA sous notre contrôle et pour laquelle nous disposons de la clé privée associée.

Le code C suivant permet de générer une bi-clé RSA 2048 au format BLOB_HEADER utilisé par Locky dans la valeur pubkey :

#define RSA2048BIT_KEY 0x8000000CryptAcquireContext(&hCryptProv, "LEXSI", NULL, PROV_RSA_FULL, 0); CryptGenKey(hCryptProv, AT_KEYEXCHANGE, RSA2048BIT_KEY|CRYPT_EXPORTABLE, &hKey);// Clé publique CryptExportKey(hKey, NULL, PUBLICKEYBLOB, 0, NULL, &dwPublicKeyLen); pbPublicKey = (BYTE *)malloc(dwPublicKeyLen); CryptExportKey(hKey, NULL, PUBLICKEYBLOB, 0, pbPublicKey, &dwPublicKeyLen); hPublicKeyFile = CreateFile("public.key", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(hPublicKeyFile, (LPCVOID)pbPublicKey, dwPublicKeyLen, &lpNumberOfBytesWritten, NULL);// Clé privée CryptExportKey(hKey, NULL, PRIVATEKEYBLOB, 0, NULL, &dwPrivateKeyLen); pbPrivateKey = (BYTE *)malloc(dwPrivateKeyLen); CryptExportKey(hKey, NULL, PRIVATEKEYBLOB, 0, pbPrivateKey, &dwPrivateKeyLen); hPrivateKeyFile = CreateFile("private.key", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(hPrivateKeyFile, (LPCVOID)pbPrivateKey, dwPrivateKeyLen, &lpNumberOfBytesWritten, NULL);

Quelques lignes de Python plus tard, on dispose d’un fichier .reg qu’on peut insérer en base de registre afin de forcer l’utilisation de notre clé publique.

Observons précisément comment chaque fichier est chiffré. Après avoir obtenu un handle vers le CSP (Cryptographic Service Provider) PROV_RSA_AES via un appel àCryptAcquireContext(), Locky importe avec CryptImportKey()le blob contenant la clé publique, issu de la valeur de registre pubkey. Il renomme le fichier ciblé sous la forme .locky. Via la fonction CryptGenRandom(), il génère ensuite 16 autres octets aléatoires :

(gdb) hexdump 0x009ef8a0 16 9d 86 d3 42 48 3a 45 04 1a cb 95 1c 77 90 8f 7c

Ces octets sont copiés à la suite d’une structure BLOB_HEADER importée avec CryptImportKey():

(gdb) hexdump 0x009ef784 0x1c 08 02 00 00 0e 66 00 00 10 00 00 00 9d 86 d3 42 48 3a 45 04 1a cb 95 1c 77 90 8f 7ctype 0x08 =PLAINTEXTKEYBLOBversion 0x022 octets réservésALG_ID = 0x660e =CALG_AES_128taille de la clé = 0x10 octets

Il s’agit donc d’une clé AES-128. La fonction GetSetKeyParam() est ensuite appelée pour préciser l’utilisation future de la clé :

(gdb) x/w $esp+4 0x9ef830: 0x00000004 (gdb) x/w *(int*)($esp+4+4) 0x9ef858: 0x00000002

La valeur 4 pour le deuxième argument signifie KP_MODE et permet de spécifier le mode d’opération utilisé : la valeur 2 pour le troisième argument signifie CRYPT_ MODE_ECB.

Par la suite, la fonction CryptEncrypt() est appelée afin de chiffrer cette clé AES par la clé publique RSA. On obtient le résultat suivant :

(gdb) hexdump 0x9ef8a0 256 64 ab 20 75 75 56 ae f4 af 20 7f 38 81 d7 d6 56 |d. uuV... .8...V| 22 89 92 6e 30 e0 61 d2 24 f0 a1 d6 2a 20 7f 6c |"..n0.a.\...* .l| e0 10 cc ab 26 62 33 66 71 8d 93 4c 04 61 8a 9a |....&b3fq..L.a..| 86 e7 f4 75 58 ae 8a 68 96 1f a8 69 15 aa 2f e7 |...uX..h...i../.| 8b cd ca 2e b0 7b e1 89 5f 3e 65 61 4c 0b 43 5e |.....{.._>eaL.C^| 60 3b 17 48 0e d2 08 80 bd 4d e2 38 5b 51 c9 82 |`;.H.....M.8[Q..| 26 bf 94 8a 45 40 82 62 1e 88 42 aa 35 2a 3e 58 |&...E@.b..B.5*>X| d2 7d 03 4d cd d4 e6 3b 7d 44 e9 5f dc 4d 1c 4b |.}.M...;}D._.M.K| 27 a9 39 0c 74 ed 46 97 60 af 3a 97 3f 89 33 28 |'.9.t.F.`.:.?.3(| bf 27 67 57 f8 c5 4e 03 72 45 60 88 03 e5 11 98 |.'gW..N.rE`.....| 6f 49 af 92 72 69 db ec b7 c7 51 9a 05 f2 34 e0 |oI..ri....Q...4.| 17 e4 1b 7e c5 97 ff 3d 42 5d ff a5 69 a4 58 f8 |...~...=B]..i.X.| 3b bd 9f 84 6e a5 c7 81 4e 0e aa 5d 40 ff 06 01 |;...n...N..]@...| e9 ee 3c e5 0f b2 b4 80 af 56 c5 b8 25 af 11 2e |..76 98 46 2e db 6c 76 bb |"....P..v.F..lv.| b5 1e 70 44 41
e2 15 31 f9 02 7d 92 7a e5 73 17 |..pDA..1..}.z.s.|

Ce buffer est recopié tel quel dans le fichier .locky.

Puis Locky construit un buffer de taille 0x800 constitué de zéros, sauf à la fin de chaque ligne où un compteur est incrémenté :

(gdb) hexdump 0x00926598 0x800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 |................| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 |................| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 |................| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 |................| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 |................| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 |................| [...] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7a |...............z| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7b |...............{| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7c |...............|| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7d |...............}| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7e |...............~| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7f |................|

Ces données sont chiffrées en AES-128-ECB via CryptEncrypt()avec la clé générée ci-dessus pour obtenir le buffer K suivant :

0x00926598: fc d3 bb 90 ac 1e 1e 6e 76 88 09 52 66 76 71 fc 0x009265a8: d5 e2 07 fd a5 0c 02 50 d0 83 4e 9b 95 1c 0b 60 0x009265b8: 3f c5 49 e5 df b2 05 56 bd ce eb f6 0d 70 9f 62 0x009265c8: 98 f1 e8 b7 e2 8e d8 97 7f a1 83 14 2b db 82 98 0x009265d8: 5b 4a 94 f7 fb 60 81 cd bb c7 a2 33 60 b1 c0 c7 0x009265e8: 1c c5 c7 40 af 7c ea 4b e2 74 b0 32 c2 37 5e fa 0x009265f8: cf 40 69 9b 81 92 b8 f1 77 79 83 97 32 19 75 a6 [...] 0x009267c8: 96 9a 1d bd 9b 03 33 2f d5 e7 a7 fc ac fc 09 c9 0x009267d8: f6 bd c5 73 ce 9e ce bc fd e4 ef 6f 06 dd 7d 15 0x009267e8: 7d 95 e6 18 78 87 46 ba 75 5e 58 2e f8 ba 5c 14 0x009267f8: 3d a9 f3 d3 af ef 0b 39 00 ae 0c 32 2b fd 37 eb 0x00926808: 3f 3a 68 11 b8 d1 ae e7 28 40 0a20 33 31 8f 7e 0x00926818: c3 8f 55 2a 5f b531 26 02 41 d7 e3 84 c5 79 9b [...]

Le premier élément à être chiffré est le nom du fichier. Locky réserve pour cela un buffer de taille 0x230 rempli initialement de zéros et y copie le nom du fichier avant de la XORer avec le buffer K qui est donc utilisé comme flux de clé. Par exemple, pour les octets 0 à 3 :

(gdb) p/x \edx // flux de clé \3 = 0x90bbd3fc(gdb) hexdump \edi 64 //avant XOR 2a a1 1b d4 6d 00 6f 00 6e 00 66 00 69 00 63 00 |*...m.o.n.f.i.c.| 68 00 69 00 65 00 72 00 2e 00 74 00 78 00 74 00 |h.i.e.r...t.x.t.| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|(gdb) hexdump \edi 64 //après XOR 1 d6 72 a0 44 6d 00 6f 00 6e00 66 00 69 00 63 00 |.r.Dm.o.n.f.i.c.| 68 00 69 00 65 00 72 00 2e 00 74 00 78 00 74 00|h.i.e.r...t.x.t.| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

Pour les octets 4 à 7 :

(gdb) p/x \eax // flux de clé \4 = 0x6e1e1eac(gdb) hexdump \edi 64 //après XOR 2 d6 72 a0 44 c1 1e 71 6e 6e 00 66 00 69 00 63 00 |.r.D..qnn.f.i.c.| 68 00 69 00 65 00 72 00 2e 00 74 00 78 00 74 00 |h.i.e.r...t.x.t.| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

Et ainsi de suite. Le buffer résultant est recopié tel quel dans le fichier .locky à la suite de la clé AES chiffrée en RSA.

Locky chiffre ensuite le contenu du fichier de la même façon que le nom mais en utilisant le flux de clé à partir de l’offset 0x230 (adresse 0x009267c8 dans notre cas). On imagine que ce choix n’est pas dû au hasard car si les développeurs de Locky avaient utilisé le même flux de clé pour les deux éléments, le déchiffrement du contenu aurait été trivial… En effet, partant du principe que sur les 0x230 octets réservés pour le nom, l’immense majorité sera constituée de zéros, le XOR de ces octets nuls, qu’on retrouve dans le fichier.locky, aurait directement fourni une grande partie du flux de clé sans connaissance de la clé secrète AES correspondante.

Le contenu du fichier est ainsi XORé avec le flux de clé à partir de l’offset 0x230 :

(gdb) p/x \edx \5 = 0xbd1d9a96 // flux de clé à l'offset 0x230 (0x009267c8)(gdb) hexdump \edi 64 //avant XOR 63 65 63 69 20 65 73 74 20 75 6e 20 73 65 63 72 |ceci est un secr| 65 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |et..............|(gdb) hexdump \edi 64 //après XOR 1 f5 ff 7e d4 20 65 73 74 20 75 6e 20 73 65 63 72 |..~. est un secr| 65 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |et..............|

Le résultat complet du XOR du contenu est recopié tel quel au début du fichier .locky.

Si la taille du fichier dépasse la taille du buffer incrémental initial, Locky chiffre d’autres buffers du même type avec CryptEncrypt()en continuant à incrémenter le compteur :

(gdb) hexdump *(int*)($esp+4+4+4+4) 128 0x009255e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 0x009255f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 0x00925600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 82 [...](gdb) hexdump *(int*)($esp+4+4+4+4) 128 0x009255e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 0x009255f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 01 0x00925600: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 02 [...]

Au final, un fichier .locky a donc le format suivant :

Les étapes du déchiffrement d’un fichier .locky sont les suivantes :

déchiffrement du buffer RSA avec notre clé privée pour obtenir 16 octets utilisation de ces 16 octets comme clé AES-128-ECB pour chiffrer un buffer constant constituant un compteur utilisation des 0x230 premiers octets du résultat comme flux de clé pour XORer le nom du fichier utilisation des octets à partir de l’offset 0x230 comme flux de clé pour XORer son contenu

Le code C suivant implémente la première étape :

// Import de la clé privée RSA hPrivateKeyFile = CreateFile("private.key", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); dwPrivateKeyLen = GetFileSize(hPrivateKeyFile, NULL); pbPrivateKey = (BYTE *)malloc(dwPrivateKeyLen); ReadFile(hPrivateKeyFile, pbPrivateKey, dwPrivateKeyLen, &dwPrivateKeyLen, NULL); CryptImportKey(hCryptProv, pbPrivateKey, dwPrivateKeyLen, 0, 0, &hKey);// Lecture du buffer RSA hEncryptedFile = CreateFile("encrypted.rsa", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); dwEncryptedDataLen = GetFileSize(hEncryptedFile, NULL); pbEncryptedFile = (BYTE *)malloc(dwEncryptedDataLen); ReadFile(hEncryptedFile, pbEncryptedFile, dwEncryptedDataLen, &dwEncryptedDataLen, NULL);// Déchiffrement de la clé AES CryptDecrypt(hKey, NULL, TRUE, 0, pbEncryptedFile, &dwEncryptedDataLen); hClearFile = CreateFile("aeskey.raw", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(hClearFile, (LPCVOID)pbEncryptedFile, dwEncryptedDataLen, &lpNumberOfBytesWritten, NULL);

On récupère bien la clé AES générée ci-dessus :

$ xxd aeskey.raw 9d86 d342 483a 4504 1acb 951c 7790 8f7c

Le script Python suivant permet de déchiffrer le nom du fichier et son contenu à partir de cette clé :

#! /usr/bin/env pythonfrom Crypto.Cipher import AESprint "UnLocky - Locky decryption tool, CERT-LEXSI 2016key = "9d86d342483a45041acb951c77908f7c".decode("hex")# NB : ici petits fichiers seulement counter = "" for i in range(0x80): counter += "\x00"*15 + chr(i)keystream = AES.new(key, AES.MODE_ECB).encrypt(counter)data = open("1D9076E6FD853AB6C931AFE2B33C3AF9.locky").read() enc_size = len(data) - 0x230 - 0x100 - 0x14enc_filename = data[-0x230:] enc_content = data[:enc_size]clear_filename = "" for i in range(0x230): clear_filename += chr(ord(enc_filename[i]) ^ ord(keystream[i]))print "[+] Nom du fichier :" print clear_filenameclear_content = "" for i in range(enc_size): clear_content += chr(ord(enc_content[i]) ^ ord(keystream[0x230+i]))print "[+] Contenu :" print clear_content

Voyons si tout fonctionne :

\ ./unlocky.py UnLocky - Locky decryption tool, CERT-LEXSI 2016[+] Nom du fichier : monfichier.txt [+] Contenu : ceci est un secret

Conclusion

Locky fait des ravages dans le monde entier depuis de nombreuses semaines mais il existe des moyens très simples pour se protéger de la perte de ses fichiers, sans antivirus ni autre outil de sécurité, à condition de se préparer avant l’infection. L’un des 4 vaccins différents présentés dans ce billet utilise par exemple le fait de pouvoir forcer la clé publique RSA avec laquelle sont chiffrées les clés AES.

Concernant l’aspect cryptographique, l’analyse menée ci-dessus montre que les fichiers ne sont pas directement chiffrés en AES-128-ECB. Locky construit un buffer constant de forme incrémentale qu’il chiffre en AES-128-ECB et le résultat est utilisé comme deux flux de clé pour XORer respectivement le nom du fichier et son contenu, ce qui s’apparente plus au mode CTR.

https://www.lexsi.com/securityhub/comment-creer-un-vaccin-contre-le-ransomware-locky/

Bonne soirée.
Patrice.