Archives de catégorie : Vulnérabilités

OpenVAS 9 – audit de vulnérabilités

OPENVAS 9 – audit de vulnérabilité

Concept d’OpenVAS

OpenVAS est  un framework, et un fork (ou une branche dérivée) de NESSUS. Nessus étant sous licence propriétaire, OpenVAS s’est développé sous licence GNU GPL.
Il est constitué d’éléments Backoffice :
– Scanner en charge du scan des vulnérabilités
-Manager qui contient toute l’intelligence du framework, il contrôle notamment le scanner, écrit dans la base SQLite. Il planifie, les audits, génère les reports, …
– Administator qui se charge de la gestion des utilisateurs, de l’alimentation en modèle de vulnérabilités ou en plugins,
D’éléments FrontEnd :
o Interface CLI en ligne de commande pour transmettre les ordres d’audit au Manager
o Greenbone Security Desktop, l’interface complète qui suit via un tableau de bord l’état des audits, des vulnérabilités. Disponible pour Linux comme pour Windows.
o GreenBone Security Assistant, un client http/HTTPS pour le Manager.
A noter que la solution OpenVAS s’appuie sur un ensemble de vulnérabilités connues (environ +55000 NVTs connues en 2017).
Le schéma présente les différents composants de l’architecture d’OpenVAS ainsi que les sources d’alimentation des NVTs.
Depuis 2017, il existe 2 éditions bien distinctes : l’edition Entreprise (GSF = Greenbone Security Feed) et l’édition Communautaire (GCF = Greenbone Communauty Feed). Le tableau ci-dessous précise  les NVTs auxquels vous pourrez souscrire.

 Il peut être utile de rappeler que cet outil ne peut être utilisé sur son propre réseau, uniquement à destination de son environnement, à l’exclusion de tout autre serveur, application, site web tiers.

Installation/Configuration

L’installation documentée est sur une base KALI 2018.4 avec OpenVas 9 ; testé également sur un Raspiberry 3+ (avec Raspian Buster).

Préparation de Kali :

  • mise à jour complète (prévoir de patienter…)
    • sudo apt-get clean && sudo apt-get update && sudo apt-get upgrade --fix-missing -y && sudo apt-get dist-upgrade --fix-missing  -y
  • Installation de NMAP 5.51.6  : la version 7 installée n’est réellement supportée que pour des scan « Full & Fast »,  si vous prévoyez d’utiliser les NVT NSE alors installez la version NMAP recommandée.

Options :

Vous pouvez choisir d’installer les packages suivants pour la partie reporting (polices de caractère et génération de documents PDF) :

  • sudo apt-get install texlive-latex-extra --no-install-recommends
  • sudo apt-get install texlive-fonts-recommended

Si vous prévoyez des scans d’environnement Windows, notamment sur des partages SMB, installez le client SMB (normalement déjà installé sous Kali):

  • sudo apt-get install smbclient

 Installation de OpenVas :

  • Installation :
    • sudo apt-get install openvas
  • Le Setup (le script intégra la mise à jour des bases de vulnérabilité depuis 2002, et plus de 1.2 Go de données, donc prévoir un peu de temps, voire un peu plus sur un PI3 ….) :
    • sudo openvas-setup
  • Vérification que l’installation s’est bien déroulée : il ne doit y avoir aucun warning.
    • sudo openvas-check-setup
  • Par la suite, il sera nécessaire d’effectuer les mises à jour des bases de vulnérabilités avec les commandes ci-dessous :
    • sudo greenbone-scapdata-sync
    • sudo greenbone-certdata-sync
    • sudo greenbone-nvt-sync
      sudo openvasmd --update

Configuration d’OPENVAS

  • Pour changer le mot de passe Admin de la console Web :
    • sudo openvasmd --user=admin --new-password=le-nouveau-motdepasse
  • Pour pouvoir vous connecter sur l’interface Web depuis une IP autre que KALI, il faut modifier l’IP 127.0.0.1 par l’IP de KALI :
    • sudo nano /lib/systemd/system/greenbone-security-assistant.service
  • Complétez les modifications sur ces fichiers par un :
    • sudo systemctl daemon-reload

C’est fini, le re-démarrage d’OpenVAS se fait par la commande :

 sudo openvas-stop && sudo openvas-start

Time out au démarrage d’OpenVAS ?

Si vous avez ce message d’erreur au démarrage du service openvas :

Redirecting to /bin/systemctl start openvas-scanner.service.service
Job for openvas-scanner.service failed because a timeout was exceeded.
See "systemctl status openvas-scanner.service" and "journalctl -xe" for details.

  1. Effacer le fichier  dump.rdb (dans /var/run/redis )
  2. Sur le fichier redis.conf (/etc/redis), retirez le commentaire devant save xy z
  3. Faites un flush de votre base de données redis  redis-cli -s /var/run/redis/redis.sock flushall
  4. Redémarrez redis :  service redis-server restart
  5. Redémarrez le Scanner (openvassd)

Mon premier scan !

La connexion à l’interface se fait via https://@ip:9392 avec le login admin et le mot de passe défini plus haut.

Deux méthodes pour lancer un audit depuis Openvas :

  • la plus rapide (et la moins efficace)
    1. aller dans le menu Scans / Tasks
    2. cliquer sur l’icone assistant et sélectionnez Task  Wizard
    3. saisir l’adresse IP à scanner et cliquer sur Start Scan
  • la plus complète : cf paragraphe ci-dessous.

Un scan « complet »

Le principe d’un scan dans Openvas  consiste à configurer au préalable son environnement de test ; cela consiste à définir au préalable les éléments suivants :

  • le type de scan (listés dans Configuration / Scan Configs) qui définir le nombre de vulnérabilités testées (nombre de NVTs actives), ce qui aura un impact sur la richesse des résultats, la lenteurs d’exécution,.. il est possible de créer, personnaliser son propre scan en utilisant le bouton News Scan Config (étoile blanche/bleue en haut à gauche).
  • les identifiants (dans Configuration/ Credentials). Pour le cas, où vous avez déjà des indices sur les identifiants, mots de passe à utiliser pour l’exécution de certains tests applicatifs : vous pouvez déclarez ceux-ci en créant un nouveau « Credential »
  • la liste des ports (dans Configuration/ Port Lists) ; un certain nombre de listes de port est déjà préconfigurée, mais vous pouvez ajouter/créer une liste de ports personnalisés comme par exemple  vouloir scanner que ce qui touche au HTTPS (en ajouter une nouvelle liste, déclarer dans port range : T:443 pour ne scanner que le port 443 sur TCP).
  • et enfin, les cibles (dans Configuration / targets) ; ici vous déclarer vers quelles IP l’audit va s’exécuter, en se basant sur quels ports (présents dans Port Lists), en utilisant quelle authentification (parmi celles présentent dans Credential) et enfin avec quelle méthode de détection (Alive Test) : le choix par défaut « Scan Config Default » est trop souvent bien inadapté, il est préférable de test avec TCP-ACK Service Ping  ou ICMP & TCP-Ack Service Ping (voire ARP Ping si vous êtes sur un réseau local direct).
  • Quand vous avez précisé tous les paramètres, cliquez sur CREATE.
  • Allez ensuite dans Scans /Tasks, puis cliquez sur l’icone NEW TASK
  • Nommez votre tâche d’audit, sélectionnez la TARGET créée précédemment, choisissez le type de scan (Full, Fast, ou personnalisé), si vous avez plusieurs IP vous pouvez choisir un scan basé sur un choix séquentiel ou aléatoire, et enfin vous pouvez ajuster (baisser)  le nombre d’IP scannée en simultanée ainsi que le nombre de tests de vulnérabilités simultanés par IP.

  • Puis créez la tâche en finissant sur Create.
  • Retournez dans le menu Scans / Tasks puis au regard de votre nouvelle tâche, cliquez sur le bouton Play pour lancer l’exécution de l’audit. Celui-ci sera terminé lorsque le status passera à DONE.
  • la colonne Reports indiquera le nombre d’audit exécuté, la dernière date de l’audit et le niveau de sévérité détecté.
  • En cliquant sur la date der dernier audit vous afficherez le résultat de l’audit
  • En cliquant sur chacune des vulnérabilités, vous aurez accès au résumé, au détail de la détection, la solution proposées, les logiciels affectés, la méthode de détection ainsi que les références CVE/CERT ou autres organisme.
  • Sur la page de report, en haut à gauche, vous pourrez exporter le rapport complet au format XML, HTML ou PDF (entre autres).

Exemple PDF

Exemple d’un scan sur un Windows 2008R2 standard, mise à jour en date de 07/2016, donc vulnérable à Wannacry

reportW2K8

Richesse d’Openvas

Ce qu’on voit ici est puissant et plutôt basique : OPENVas offre des fonctionnalités à ne pas négliger comme, la programmation régulière d’audit afin d’identifier automatiquement si de nouvelles vulnérabilités sont trouvées (par exemple après une livraison ou mise à jour applicative) ; il est également possible de générer des alertes par mail au delà d’un certain seuil, …

Liens complémentaires :

http://wiki.networksecuritytoolkit.org/index.php/OpenVAS

https://www.blackmoreops.com/2014/03/03/20-things-installing-kali-linux/

http://docs.kali.org/general-use/kali-linux-sources-list-repositories

https://hackertarget.com/openvas-9-install-ubuntu-1604/

Article sous licence Creative Commons « CC-NC »

WordPress : liste de 24 points de sécurisation.

CMS parmi d’autres, WordPress permet comme les autres de créer et gérer facilement un site web, de le personnaliser à l’extrême, d’y ajouter des tonnes de fonctionnalités.

Bien que ce CMS soit l’un des plus infectés en 2018 sur internet (source Suciri.net ), c’est aussi l’un des plus répandus, et qui bénéficie de nombreux articles pour le sécuriser.

L’objet de l’article n’est pas de faire la retape de WordPress mais de se concentrer sur les meilleurs moyens pour rendre son installation la plus securisée possible.

Les recommandations ci-dessous ne concernent pas les couches inférieures qui supportent WordPress (environnement virtuel ou physique, OS , moteur PHP,…). Tous ces éléments se doivent d’être à jour, bénéficier des derniers correctifs de sécurité, ne pas être obsolètes (EOL).

Très utile pour vérifier l’efficacité des mesures ci-dessous, quelques sites « d ‘audit » automatiques de votre propre CMS à la seule condition que vous en soyez le gestionnaire, propriétaire ou que vous ayez toutes les autorisations nécessaires (opérateur, hébergeur,…) avant de lancer ces tests.

Effectuer un scan de vos entêtes HTTP et obtenir une note (de A+ à R). L’outil sous licence CC-BY-SA 4 sponsorisé par Sophos.

https://securityheaders.com/

Effectuer un scan gratuit dédié à WP.

https://wpscans.com/

Effectuer un scan gratuit de WP avec un faible impact sur la stabilité de votre site

https://hackertarget.com/wordpress-security-scan/

plus https://firstsiteguide.com/tools/free-fsg/wordpress-security-online-scanner/

….

Toutes les mesures proposées ci-dessous visent à renforcer le niveau de sécurité de WordPress mais peuvent aussi provoquer un crash de votre CMS pour plein de raisons : ne les appliquez que UNE  par UNE , en vous assurant de bien avoir sauvegardé au préalable votre CMS (fichiers + base) avant chaque opération.

Si vous ne savez pas restaurer votre CMS,  ou si votre CMS est en production/critique, abandonnez la lecture de cet article.

1 – règles de bon sens

Avant d’aller plus loin dans les aspects techniques, quelques règles essentielles lors de l’installation du CMS

1.1 Mises à jour AUTO WP

Vérifier que son WordPress soit mis à jour automatiquement : depuis la version 3.7, c’est automatique pour les versions mineures mais vous devrez rester vigilant pour appliquer les mises à jour majeures.

Si les mises à jour sont configurées en manuel, vous recevrez un email prévenant de la mise à disposition de nouvelles versions.

Le paramétrage précis des mises à jour WP se fait dans le fichier wp-config.php, en modifiant sur la valeur de la constante  suivante : 

define( 'WP_AUTO_UPDATE_CORE', true);

Si true, alors toutes les mises à jour sont appliquées automatiquement

Si minor, alors seules les mises à jour mineures sont appliquées

Si false, aucune mise à jour… donc fortement déconseillé (sauf incompatibilité avec un dev spécifique ou un plugin).

1.2 Plugins et Thèmes

Limitez au maximum l’utilisation des Plugins ou des Thèmes sans en justifiant réellement le besoin ou en maitriser la source ou sa conception. Les Plugin notamment sont régulièrement des sources d’introduction de backdoor, de fuite de données, de contournement d’authentification, de collecte d’information personnelle des visiteurs,…

Quelques soient le nombre de plugin ou thèmes installés (le moins possible de préférence), pensez à en faire la mise à jour régulièrement et supprimez ceux qui ne sont pas utilisés (ne pas se limiter à les désactiver).

Les site https://wpvulndb.com/ recense les vulnérabilités connues autour de l’écosystème de WordPress.

1.3 HTTPS

Là aussi, c’est sans doute redondant de dire pourquoi :

  • votre site sera mieux indexé dans les moteurs de recherche
  • tout le trafic réseau et les données entre votre site et le navigateur web seront chiffrées, y compris les authentifications (notamment lorsque vous vous connectez à l’interface d’administration).

La mise en œuvre d’un certificat TLS/SSL ne relève pas de cet article, mais le meilleur conseil serait d’utiliser Let’s Encrypt , gratuit, automatique et ouvert !

Une fois le certificat ajouté, pensez à préciser la nouvelle URL dans WordPress :

Menu Réglages / Général :

1.4 Inscription automatique des visiteurs

Si cette fonction ne présente pas d’intérêt pour votre site web (l’auto inscription des visiteurs), désactivez-là !

Menu Réglages / Général :

1.5 Mise à jour des articles par email

Si cette fonctionnalité n’est pas utilisée (et évitez), assurez-vous qu’elle ne soit pas exploitable.

Menu Réglages / Ecriture

1.6 Mots  de passe de BDD et mot de passe du compte d’administration

Là aussi c’est élémentaire, mais prévoyez des mots de passe longs et complexes (12 caractères minimum, avec un mélange de chiffres/lettres/majuscules/minuscules/caractères exotiques,…).

Références :

https://www.cnil.fr/fr/authentification-par-mot-de-passe-les-mesures-de-securite-elementaires

https://www.ssi.gouv.fr/administration/precautions-elementaires/calculer-la-force-dun-mot-de-passe/

1.7 Renommer le compte admin

Par défaut, vous utiliserez le compte ADMIN créé avec l’installation de WP ; autant le changer par un compte qui vous soit propre et inconnu.

Il faut :

  1. créer un nouvel utilisateur (menu utilisateurs/Ajouter)
  2. ajouter à cet utilisateur avec un rôle Administrateur (en renseignant @mail, mot  de passe complexe,…)
  3. connectez-vous avec ce nouveau compte et cela fonctionne passez à l’étape 4
  4. supprimer le compte nommé ADMIN

En complément : vous pouvez envisager de créer un second compte WordPress qui vous servira à la publication des articles, ainsi le nom de votre compte d’administration ne sera jamais affiché ou associé à vos articles.

1.8 Activer l’authentification double facteur sur votre compte admin.

Complémentaire au 1.7, le mieux pour éviter les attaques par brute force par exemple (ou la connexion à votre WordPress par une personne ayant vos identifiants), c’est de mettre en place une solution d’authentification à double facteur (2FA).

L’un des plugins confortable et fonctionnel est Google Authenticator https://wordpress.org/plugins/google-authenticator/#installation

Une fois installé/configuré ce plugin nécessitera une validation complémentaire de votre mobile (android ou iphone).

L’avantage est que l’app Mobile Google Authenticator est utilisée également par d’autres applications ou sites webs !

Cet article décrit très bien toutes les étapes de configuration :

Activer l’authentification à deux facteurs sur WordPress

1.9 Changer le préfixe des tables WordPress

Par défaut, les tables WordPress auront le préfixe wp_xxxx ce qui peut faciliter le travail d’accès aux données.  Renommez soit manuellement les tables (dans la base + fichier de conf, ou mieux en suivant le tuto http://www.responsive-mind.fr/changer-prefixe-tables-wordpress/  ou https://wpchannel.com/wordpress/tutoriels-wordpress/modifier-prefixe-base-donnees-wordpress-installation/ ) ou via un plugin .

2 – Configuration de WordPress

Toutes les recommandations ci-dessous s’appliqueront au fichier wp-config.php de votre site web.

2.1 Editeur de thème

Une fonction avancée de WP permet d’éditeur le code du thème installé, dans le principe cela peut être confortable pour le personnaliser, voire y ajouter des fonctions…. mais c’est aussi le meilleur moyen pour qu’une personne malveillante y copie/colle du code mailveillant (trojan, cryptominage,….).

Dans si ce n’est pas utile , désactivez cette fonction dans le fichier wp-config.php an ajoutant les 2 lignes

/* désactiver l'édition de fichiers PHP dans l'editeur WP */
define(‘DISALLOW_FILE_EDIT’,true);

2.2 Désactiver les messages d’erreur

Les rapports ou messages d’erreur WP qui peuvent s’afficher pourraient fournir des informations sur la configuration de votre site web (comme le chemin). Autant les désactiver en ajoutant les 3 lignes :

/* désactiver les messages d'erreurs */
error_reporting(0);
@ini_set(‘display_errors’, 0);

2.3 Ajouter des clefs de chiffrement des mots de passe

Par défaut, vous devriez avoir dans votre fichier wp-config.php les lignes suivantes :

define('AUTH_KEY', 'xxxxxxxxxxxxxx');
define('SECURE_AUTH_KEY', 'xxxxxxxxxxxxxx');
define('LOGGED_IN_KEY', 'xxxxxxxxxxxxxx);
define('NONCE_KEY', 'xxxxxxxxxxxxxx');
define('AUTH_SALT', 'xxxxxxxxxxxxxx');
define('SECURE_AUTH_SALT', 'xxxxxxxxxxxxxx');
define('LOGGED_IN_SALT', 'xxxxxxxxxxxxxx');
define('NONCE_SALT', 'xxxxxxxxxxxxxx');

il est recommandé de changer ces clés/phrases installées par défaut en utilisant le lien https://api.wordpress.org/secret-key/1.1/salt/

A chaque connexion sur cette url, vous aurez une génération auto de nouvelles clés à copier/coller dans votre fichier initial (ceci est un exemple !!!)  :

define('AUTH_KEY','~)rD^kdp<)HqoCLfQu3#n|;9}7TKPmc0oJ?9CVhN-K$F?>a{bVTSMrJq<*Z=>+N8');
define('SECURE_AUTH_KEY',  'lpY(J;9j6EQe`GCYLT|u?V}$-D5vd-|n%!h9Yh12&#%1/JqD?kWCa Y/u2Syd )<');

define('LOGGED_IN_KEY',    'X[h>%!b;kEKj:=aYQ&V_)`5;]E.C6`r+(,)fAA=nzAM/?(44--5E_+`LtO<D?Bhn');

define('NONCE_KEY',        '3hCDkB~T0E9e.vY(F(`XG^m&vSSJw}c9VF10vnb/1~)=@n^I-P0xPaeJp}DnRBfi');

define('AUTH_SALT',        'L]/}[e[19r}7]nB2UZ-3.<-G_n[*%|^hHBf~^Fx+BzQz3+H#p}gx>T0Gw4?tt1M@');

define('SECURE_AUTH_SALT', 'K]L|mcc38&RCw[^[2SylmQ>Z&`~|Rv_d&hWlt;+]mtI+=J_Z[@GP_!!J+Nv1=99|x'); 

define('LOGGED_IN_SALT', 'G&Be{v`b6Gb*+2GrZ_6Wiy ?&o>gU,.}X+XQb2-{qrTR64pjHAX551(}[R`{nG |');

define('NONCE_SALT', 'Y3V/f4AIe/a}IHA32b-rW8N^QZu(g-)qvc3TB-`d#pS4p@Hm#Dq&8EGF!IM-6L%A');

2.4 Changer l’URL de connexion au portail

La page de connexion ou d’authentification au WordPress est classiquement https:/www…..truc.fr/wp-admin

Le mieux est changer le /wp-admin par un nom improbable  afin d’éviter les tentatives de connexion (même en ayant le bon login et mot de passe).

Le plus simple est d’utiliser un plugin WordPress WPS Hide Login https://wordpress.org/plugins/wps-hide-login/

L’autre solution est d’intervenir dans la configuration du WordPress + le nom du répertoire.

3 – configuration du .htaccess (pour WP)

Toutes les recommandations ci-dessous s’appliqueront au fichier .htaccess de votre site web.

3.1 Blocage de l’accès au fichier wp-config.php

Ce fichier est central dans la configuration de WP, autant le protéger, notamment en ajoutant dans votre fichier .HTACCESS à la racine de votre site web, la directive suivante :

<Files wp-config.php> order allow,deny deny from all </Files>

3.2 Protection contre le XSS / ClickJacking

Le Click Jacking consiste pour un utilsateur malveillant de superposer par exemple un second bouton sur votre propre bouton de formulaire . Autrement dit, la protection consiste à interdire toute inclusion de page issue d’un autre domaine que le domaine courant (référence : https://www.lexsi.com/securityhub/en-tetes-et-vous-comment-ajouter-de-la-protection-dans-ses-echanges/).

Ajouter la ligne  ci-dessous pour s’en protéger :

Header set X-Frame-Options SAMEORIGIN

3.3 Protection contre le XSS / Drive by Download

Cette fois, il s’agit de forcer le type MIME envers le navigateur pour éviter toute mauvaise interprétation du type de données envoyée.

Il faut ajouter la directive :

Header always set X-Content-Type-Options "nosniff"

3.4 Mise en œuvre de HSTS

HSTS est l’acronyme de HTTP Strict Transport Security, spécification de HTTPS qui renforce la communication entre le serveur et le navigateur (sur la politique de sécurité) avant de commencer les échanges en HTTPS.

Une vaste campagne de mise à jour des navigateurs Web consiste à vérifier que HSTS soit activé sur le serveur Web avant d’en autoriser l’accès (ou sinon d’émettre un warning). Par ailleurs, les sites HSTS peuvent aussi bénéficier d’un meilleur référencement dans certains moteurs de recherche.

Il faut ajouter cette ligne :

Header set strict-transport-security "max-age=31536000; includeSubDomains"

3.5 Désactiver la version PHP

Afficher la version du moteur PHP de votre CMS peut déjà renseigner sur les vulnérabilités existantes liées à votre version PHP, autant la masquer.

Il faut ajouter cette ligne dans le php.ini ou dans l’interface d’admin de votre hébergeur :

/* masquer la version PHP */
expose_php = Off

3.6 Interdire la navigation dans les répertoires de votre site

Cette option essentielle impose de naviguer dans votre site web par les pages et non en explorant le contenu des répertoires (à l’image de l’explorateur Windows ou d’une liste type FTP), dans le .htaccess

/* Interdire la navigation */
Options All -Indexes

3.7 Supprimer les fichiers inutiles post-installation

Les fichiers /wp-admin/install.php ou /wp-includes/admin-bar.php ou readme ou changelog doivent être supprimés.

4 Compléments

4.1 Plugins utiles

Un plugin opensource peut être utile à la protection de l’authentification, il s’agit au choix de

Ces plugins vous permettront de :

  • limiter le nombre de tentatives de connexions avec un mauvais mot de passe,
  • verrouiller automatiquement un compte pendant quelques minutes,
  • masquer les erreurs si le bon login est renseigné avec le mauvais mot de passe.
  • scanner/évaluer la sécurité de votre site web, proposer des actions de sécurité.

4.2  Version WP

Il peut être utile de masquer le numéro de version WP mentionné dans les variables meta renvoyées au navigateur web. Il faut ajouter au fichier functions.php les 2 lignes suivantes :

/* supprimer la version WP*/

 remove_action('wp_head', 'wp_generator');

4.3 Sauvegarde WordPress

La sauvegarde automatique de WordPress passe inévitablement par un plugin (sauf si vous avez la main sur les tâches CRON…) : BAckupWordPress est un plugin facile , intuitif qui vous créera un backup par jour, avec un mail de notification pour chaque backup.

Pensez-juste à sauvegarder le fichier de backup généré quotidiennement vers un autre emplacement (en local).

Ponctuellement, avant de grosses mises à jour ou modifications WP : réalisez aussi une sauvegarde via FTP ou SCP de vos fichiers ainsi qu’un DUMP MySQL.

5 Si ca devait arriver.

Il faut prévoir le jour où un chercheur de vulnérabilités  détectera un problème majeur sur votre site, le mieux est alors de prévoir ce cas et de placer  un fichier security.txt placé dans le répertoire /.well-know/ de votre site.

Ce fichier contiendra les éléments qui permettront de vous contacter  rapidement si un incident est détecté sur votre site.

Ce principe est tellement simple qu’il a été soumis à l’examen de la RFC

Pour vous aider à le générer, vous pouvez utiliser ce site :

https://securitytxt.org/

6 Conclusion

Refaites les deux premiers test/scan/audit proposés en début d’article, et vous devriez obtenir des résultats corrects !

A suivre :  sauvegarde, page légale,…

Ransomware & Cryptolocker – limiter les dégâts en entreprise

Locky puis … puis …. puis WannaCry … puis (not)Petya

Des malware particulièrement dangereux se propagent dans nombre d’entreprises de taille différente, de secteur d’activité, dans nombre de pays ; leur but est d’infecter un premier PC de la société, puis par ce biais de chiffrer tous les fichiers bureautiques que le malware va rencontrer aussi bien sur le poste local et que sur les partages des serveurs de fichiers.  Une fois les dizaines de fichiers chiffrés, la société est condamnée à restaurer ses fichiers… à payer…. ou avec un peu de chance à utiliser l’un des outils proposés par certains éditeurs d’Antivirus (cf point 3).

Attention : Petya ne permet aucune récupération (même avec paiement), il semble que l’objectif soit de rendre inaccesiblement les données (au niveau de la partition et des fichiers), il se classe donc moins dans la catégorie des ransomwares que des destructeurs.

Tous ces malwares ne sont pas à mettre dans le même sac et n’ont pas les mêmes objectifs : mais tous justifient de respecter quelques règles d’hygiène en terme de sécurité informatique pour s’en prémunir efficacement.

1 – Fonctionnement d’un cryptolocker / ransomware

Comment l’utilisateur contribue à infecter son poste de travail et surtout les serveurs de sa société ?

  • un mail assez bien rédigé est envoyé à l’utilisateur, le mail contient soit une pièce jointe, soit un lien URL.
  • le mail est souvent envoyé en rafale à un nombre important de collaborateurs supposant qu’il s’en trouvera bien pour ouvrir la pièce jointe.
  • pour les 2 vecteurs de propagation (mail ou URL), la charge active est rarement détectée par les antivirus voire jamais les premières heures de l’attaque. Il faut souvent attendre 12 heures pour commencer à voir les premiers antivirus se mettre à jour.
  • dès qu’un poste informatique est infecté, le malware va chercher tous les lecteurs réseaux accessibles en écriture puis chiffrer tous les fichiers en les renommant avec une extension particulière (par exemple *.locky ou dernièrement *.wcry)
  • même si l’utilisateur n’est pas admin de son poste Windows, l’infection fonctionne correctement.
  • Les ransomwares rencontrés (janvier 2016) se limitent à se connecter aux lecteurs réseaux des postes de travail. Il faut prévoir que progressivement ces malware iront chercher les partages réseau (même sans lecteur réseau connecté) et mieux encore, les partages administratifs ou cachés (avec le $).  Depuis début mars 2016, ces mêmes logiciels savent se propager non seulement sur les lecteurs réseaux, mais aussi sur les partages réseaux des serveurs de fichiers.

L’infection d’un poste de votre entreprise voire de vos serveurs est un scénario hautement probable voire inévitable….

…Autant vous y préparer au mieux.

 

2 – La prévention

En quelques points rapides :

  • 1 – Maintenez votre parc de PC et Serveurs avec les dernières mises à jour !!!WannaCry ne se propage que sur des Windows non à jour avec le patch MS017-10, Petya fait de même mais peut aussi utiliser les comptes windows locaux pour se propager sur les autres postes.
  • 2 – Assurez vous d’avoir des sauvegardes fonctionnelles et régulières de vos serveurs de fichiers.
  • 3 – Assurez-vous de tester régulièrement vos sauvegardes du point 1
  • 4 – Activer les Clichés Instantanés de Windows , plusieurs fois par 24h si vous avez assez d’espace  sur vos stockages. La restauration des versions précédentes, en cas d’infection sera particulièrement efficace et rapide.
  • 5 – Filtrer tous vos mails internet entrants contenant scripts (type js, js dans du ZIP, macro dans les XLS, DOC, PPT, PDF) – exemple de Petya
  • 6 – Rejetez les mails internet envoyés depuis votre domaine interne en vérifiant que tous les procédés d’obfsucation soient détectés dans la rédaction du domaine source.
  • 7 – Vérifiez que le contrôle des mails entrant se fasse bien sur le  type MIME et SMTP.
  • 8  – A partir de Windows 2008R2, activez la fonctionnalité de filtrage d’extension de fichier. Cette fonctionnalité doit être installée et permet de bloquer la création de nouveaux fichiers avec une extension définie, et/ou de générer une alerte mail auprès des sysadmins dès qu’un fichier avec une extension non désirée apparait sur le serveur de fichiers (par exemple *.locky ou *.wcry). L’article ici détaille les opérations pour un exemple avec LOCKY. mais c’est très simple de l’adapter à WannaCry
  • 9 – si votre parc de PC est en Windows 7 Entreprise , activez APPLOCKER : pour Petya, interdire PSExec a un effet immédiat.
  • 10 – Ne naviguez pas sur internet ou ne consultez pas vos mails avec un compte utilisateur privilégié (ou administrateur) : exemple avec Petya se sert du compte Admin pour se propager.
  • 11 – Sensibilisez, Sensibilisez, et recommencer, à sensibiliser vos utilisateurs. Comme pour les sauvegardes : ce point est primordial.

Ne comptez pas sur les seuls « antivirus, antispam et firewall  » pour vous protéger efficacement.  Les points ci-dessous seront un parfait début, à compléter par le trio.

Une plaquette de prévention éditée par l’ANSSI en 4 points à respecter en entreprise : https://www.ssi.gouv.fr/uploads/2016/06/20160819_flyers_eben_a4_v10.pdf

 

3 – Touchés  ?

La question est de savoir comment vous allez avoir l’information qu’un PC du parc est infecté (au moins 1…). Vous vous en rendez compte par une alerte sur un serveur de fichiers ou par un utilisateur.

Dans l’ordre, il faudra stopper la propagation du chiffrage, identifier quels postes sont infectés et mettre de côté vos dernières sauvegardes pour ne pas qu’elles soient ré-écrasées par une sauvegarde corrompue.

Immédiatement : éteignez le serveur identifié puis tous les serveurs de fichiers de votre parc ayant un partage réseau (ou sur lesquels les postes informatiques ont un lecteur réseau).  Cette seule opération vise à stopper le cryptage des fichiers, cela va très vite : en 1 heure, un PC infecté peut chiffrer près de 40 000 fichiers d’un seul serveur.

Reste à identifier le ou les PC ayant causés ces infections :

  • demandez à l’ensemble des utilisateurs de se manifester, si ils pensent avoir cliqué sur un lien ou une pièce jointe mais que rien ne s’est produit  : cela aide, certains utilisateurs se manifesteront et cela permettra rapidement d’isoler ces postes du réseau puis de les soumettre à une analyse complète à partir d’ISO antivirus proposé par les éditeurs.. le temps que les définitions soient mises à jour.
  • redémarrez le premier serveur détecté, hors réseau, puis en tant qu’admin du serveur  et après avoir affiché tous les systèmes / cachés des volumes du serveur, recherchez tous les fichiers ayant été infectés. Un DIR *.locky /S  > C:\temp\diag-date-heure.txt permettra de faire un premier journal des fichiers infectés. Ce journal texte vous indiquera quels sont les premiers fichiers infectés (date et heure). Mieux encore, il est possible que certains fichiers infectés n’auront été accessibles que par un utilisateur (lecteur  individuel) ou une poignée d’utilisateurs ce qui vous permettra très vite d’isoler les postes des personnes identifiées.
  • Faites de même avec l’ensemble des autres serveurs de fichiers pour vous assurer de ne pas avoir laissé un poste infecté.
  • Si le fichier chiffré contient une extension non filtré par le serveur de fichiers, ajoutez cette extension au filtre (passif ou actif).
  • Identifiez la source potentielle d’infection (mail ou URL) par l’utilisateur puis soumettez le fichier infecté à www.virustotal.com .

Rappel précieux, les conseils de l’ANSSI : https://www.ssi.gouv.fr/actualite/alerte-campagne-de-rancongiciel-2/

+ un lien spécifique pour Petya : http://www.cert.ssi.gouv.fr/site/CERTFR-2017-ALE-012/CERTFR-2017-ALE-012.html

 

4 – Remise en route

Lors que les PC infectés semblent avoir été identifiés, que les filtres sur les serveurs de fichiers sont effectifs et correspondent à l’attaque actuelle, remettez les serveurs sur le réseau progressivement en vérifiant (par la commande Dir /s *.locky) si de nouveaux fichiers apparaissent ou pas.

Restaurez les répertoires touchés via les clichés instantanés ou par les backups.

Ne remettez les postes soupçonnés sur le réseau que lorsque vous avez en main un antivirus à jour qui détecte la charge active.

Des outils gratuits pour retrouver vos fichiers chiffrés.

Kaspersky propose 6 décrypteurs de fichiers – https://noransom.kaspersky.com/

AVAST propose 15 outils pour des variantes différentes  – https://www.avast.com/ransomware-decryption-tools

AVG contribue également avec 5 outils – http://www.avg.com/fr-fr/ransomware-decryption-tools

TrendMicro propose une console unique qui intervient sur bon nombre de variantes de Ransomware – https://success.trendmicro.com/solution/1114221-downloading-and-using-the-trend-micro-ransomware-file-decryptor

A cette heure, il n’existe pas d’outils pour les fichiers chiffrés par WannaCrypt.

Dans tous les cas, ne téléchargez ou n’exécutez jamais un outil magique déchiffreur sur un autre site qu’un éditeur d’antivirus, sans quoi vous risquez de vous retrouver avec d’autres problèmes.

Quelques liens utiles :

http://korben.info/locky-quil-y-a-a-savoir-malware-moment.html

 

Alerte sécurité : Nouvelle vague d’attaque virale de type « ransomware » à l’aide du virus Locky

Locky Ransomware

http://www.ssi.gouv.fr/en-cas-dincident/

PETYA :