Test du stylet avec les outils de sécurité Linux

  • FrançaisFrançais



  • La multitude d’infractions bien médiatisées des grandes entreprises de consommation souligne l’importance cruciale de la gestion de la sécurité des systèmes. Heureusement, il existe de nombreuses applications différentes qui aident à sécuriser les systèmes informatiques. L’un est Kali, une distribution Linux développée pour les tests de sécurité et de pénétration. Cet article montre comment utiliser Kali Linux pour enquêter sur votre système afin de trouver des faiblesses.

    Kali installe de nombreux outils, tous open source, et leur installation par défaut facilite les choses.

    Les systèmes que j’utiliserai dans ce didacticiel sont:

    1. kali.usersys.redhat.com: C’est le système sur lequel je vais lancer les scans et les attaques. Il dispose de 30 Go de mémoire et de six processeurs virtualisés (vCPU).
    2. vulnerable.usersys.redhat.com: Il s’agit d’un système Red Hat Enterprise Linux 8 qui sera la cible. Il dispose de 16 Go de mémoire et de six processeurs virtuels. Il s’agit d’un système relativement à jour, mais certains packages peuvent être obsolètes.
    3. Ce système comprend également httpd-2.4.37-30.module+el8.3.0+7001+0766b9e7.x86_64, mariadb-server-10.3.27-3.module+el8.3.0+8972+5e3224e9.x86_64, tigervnc-server-1.9.0-15.el8_1.x86_64, vsftpd-3.0.3-32.el8.x86_64et WordPress version 5.6.1.

    J’ai inclus les spécifications matérielles ci-dessus car certaines de ces tâches sont assez exigeantes, en particulier pour le processeur du système cible lors de l’exécution du scanner de sécurité WordPress (WPScan).

    Examinez votre système

    J’ai commencé mon enquête par un scan Nmap de base sur mon système cible. (Vous pouvez plonger plus profondément dans Nmap en lisant Utilisation des résultats Nmap pour renforcer les systèmes Linux.) Une analyse Nmap est un moyen rapide d’obtenir une vue d’ensemble des ports et services visibles depuis le système qui lance l’analyse Nmap.

    Cette analyse par défaut montre qu’il existe plusieurs ports ouverts potentiellement intéressants. En réalité, tout port ouvert est peut-être intéressant car il pourrait être un moyen pour un attaquant de violer votre réseau. Dans cet exemple, les ports 21, 22, 80 et 443 sont faciles à analyser car ce sont des services couramment utilisés. À ce stade précoce, je fais simplement un travail de reconnaissance et j’essaie d’obtenir autant d’informations que possible sur le système cible.

    Je veux étudier le port 80 avec Nmap, donc j’utilise le -p 80 argument pour regarder le port 80 et -A pour obtenir des informations telles que le système d’exploitation et la version de l’application.

    Certaines des lignes clés de cette sortie sont:

    PORT   STATE SERVICE VERSION
    80/tcp open  http       Apache httpd 2.4.37 ((Red Hat Enterprise Linux))
    |_http-generator: WordPress 5.6.1

    Puisque je sais maintenant qu’il s’agit d’un serveur WordPress, je peux utiliser WPScan pour obtenir des informations sur les faiblesses potentielles. Une bonne enquête à exécuter est d’essayer de trouver des noms d’utilisateur. Utilisant --enumerate u indique à WPScan de rechercher des utilisateurs dans l’instance WordPress. Par example:

    ┌──(root💀kali)-[~]
    └─# wpscan --url vulnerable.usersys.redhat.com --enumerate u
    _______________________________________________________________
            __              _______   _____
                / /  __ / ____|
             /  / /| |__) | (___   ___  __ _ _ __ ®
            /  / / |  ___/ ___ / __|/ _` | '_
                     /  /  | |   ____) | (__| (_| | | | |
                    /  /   |_|    |_____/ ___|__,_|_| |_|

            WordPress Security Scanner by the WPScan Team
                            Version 3.8.10
            Sponsored by Automattic - https://automattic.com/
            @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
    _______________________________________________________________

    [+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]
    [+] Started: Tue Feb 16 21:38:49 2021

    Interesting Finding(s):
    ...
    [i] User(s) Identified:

    [+] admin
     | Found By: Author Posts - Display Name (Passive Detection)
     | Confirmed By:
     |  Author Id Brute Forcing - Author Pattern (Aggressive Detection)
     |  Login Error Messages (Aggressive Detection)

    [+] pgervase
     | Found By: Author Posts - Display Name (Passive Detection)
     | Confirmed By:
     |  Author Id Brute Forcing - Author Pattern (Aggressive Detection)
     |  Login Error Messages (Aggressive Detection)

    Cela montre qu’il y a deux utilisateurs: admin et pgervase. J’essaierai de deviner le mot de passe pour admin en utilisant un dictionnaire de mots de passe, qui est un fichier texte avec de nombreux mots de passe possibles. Le dictionnaire que j’ai utilisé était 37G et contenait 3 543 076 137 lignes.

    Comme il existe plusieurs éditeurs de texte, navigateurs Web et autres applications parmi lesquelles vous pouvez choisir, plusieurs outils sont disponibles pour lancer des attaques par mot de passe. Voici deux exemples de commandes utilisant Nmap et WPScan:

    # nmap -sV --script http-wordpress-brute --script-args userdb=users.txt,passdb=/path/to/passworddb,threads=6 vulnerable.usersys.redhat.com
    # wpscan --url vulnerable.usersys.redhat.com --passwords /path/to/passworddb --usernames admin --max-threads 50 | tee nmap.txt

    Ce script Nmap est l’un des nombreux scripts possibles que j’aurais pu utiliser, et l’analyse de l’URL avec WPScan n’est qu’une des nombreuses tâches possibles que cet outil peut effectuer. Vous pouvez décider lequel vous préférez utiliser

    Cet exemple WPScan montre le mot de passe à la fin du fichier:

    ┌──(root💀kali)-[~]
    └─# wpscan --url vulnerable.usersys.redhat.com --passwords passwords.txt --usernames admin
    _______________________________________________________________
            __              _______   _____
                / /  __ / ____|
             /  / /| |__) | (___   ___  __ _ _ __ ®
            /  / / |  ___/ ___ / __|/ _` | '_
                     /  /  | |   ____) | (__| (_| | | | |
                    /  /   |_|    |_____/ ___|__,_|_| |_|

            WordPress Security Scanner by the WPScan Team
                            Version 3.8.10
            Sponsored by Automattic - https://automattic.com/
            @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
    _______________________________________________________________

    [+] URL: http://vulnerable.usersys.redhat.com/ [10.19.47.242]
    [+] Started: Thu Feb 18 20:32:13 2021

    Interesting Finding(s):

    …..

    [+] Performing password attack on Wp Login against 1 user/s
    Trying admin / redhat Time: 00:01:57 <==================================================================================================================> (3231 / 3231) 100.00% Time: 00:01:57
    Trying admin / redhat Time: 00:01:57 <=========================================================                                                         > (3231 / 6462) 50.00%  ETA: ??:??:??
    [SUCCESS] - admin / redhat                                                                                                                                                                      

    [!] Valid Combinations Found:
     | Username: admin, Password: redhat

    [!] No WPVulnDB API Token given, as a result vulnerability data has not been output.
    [!] You can get a free API token with 50 daily requests by registering at https://wpscan.com/register

    [+] Finished: Thu Feb 18 20:34:15 2021
    [+] Requests Done: 3255
    [+] Cached Requests: 34
    [+] Data Sent: 1.066 MB
    [+] Data Received: 24.513 MB
    [+] Memory used: 264.023 MB
    [+] Elapsed time: 00:02:02

    La section Combinaisons valides trouvées vers la fin contient le nom d’utilisateur et le mot de passe de l’administrateur. Il n’a fallu que deux minutes pour parcourir 3 231 lignes.

    J’ai un autre fichier de dictionnaire avec 3 238 659 984 entrées uniques, ce qui prendrait beaucoup plus de temps et laisserait beaucoup plus de preuves.

    L’utilisation de Nmap produit un résultat beaucoup plus rapidement:

    ┌──(root💀kali)-[~]
    └─# nmap -sV --script http-wordpress-brute --script-args userdb=users.txt,passdb=password.txt,threads=6 vulnerable.usersys.redhat.com
    Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-18 20:48 EST
    Nmap scan report for vulnerable.usersys.redhat.com (10.19.47.242)
    Host is up (0.00015s latency).
    Not shown: 995 closed ports
    PORT    STATE SERVICE VERSION
    21/tcp   open  ftp      vsftpd 3.0.3
    22/tcp   open  ssh      OpenSSH 8.0 (protocol 2.0)
    80/tcp   open  http     Apache httpd 2.4.37 ((Red Hat Enterprise Linux))
    |_http-server-header: Apache/2.4.37 (Red Hat Enterprise Linux)
    | http-wordpress-brute:
    |   Accounts:
    |       admin:redhat - Valid credentials              <<<<<<<
    |       pgervase:redhat - Valid credentials         <<<<<<<
    |_  Statistics: Performed 6 guesses in 1 seconds, average tps: 6.0
    111/tcp  open  rpcbind 2-4 (RPC #100000)
    | rpcinfo:
    |   program version     port/proto  service
    |   100000  2,3,4       111/tcp   rpcbind
    |   100000  2,3,4       111/udp   rpcbind
    |   100000  3,4         111/tcp6  rpcbind
    |_  100000  3,4         111/udp6  rpcbind
    3306/tcp open  mysql   MySQL 5.5.5-10.3.27-MariaDB
    MAC Address: 52:54:00:8C:A1:C0 (QEMU virtual NIC)
    Service Info: OS: Unix

    Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
    Nmap done: 1 IP address (1 host up) scanned in 7.68 seconds

    Cependant, l’exécution d’une analyse comme celle-ci peut laisser un flot de messages de journalisation HTTPD sur le système cible:

    10.19.47.170 - - [18/Feb/2021:20:14:01 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
    10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
    10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
    10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
    10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
    10.19.47.170 - - [18/Feb/2021:20:14:00 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
    10.19.47.170 - - [18/Feb/2021:20:14:02 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
    10.19.47.170 - - [18/Feb/2021:20:14:02 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"
    10.19.47.170 - - [18/Feb/2021:20:14:02 -0500] "POST /wp-login.php HTTP/1.1" 200 7575 "http://vulnerable.usersys.redhat.com/" "WPScan v3.8.10 (https://wpscan.org/)"

    Pour obtenir des informations sur le serveur HTTPS trouvé dans mon scan Nmap initial, j’ai utilisé le sslscan commander:

    ┌──(root💀kali)-[~]
    └─# sslscan vulnerable.usersys.redhat.com
    Version: 2.0.6-static
    OpenSSL 1.1.1i-dev  xx XXX xxxx

    Connected to 10.19.47.242

    Testing SSL server vulnerable.usersys.redhat.com on port 443 using SNI name vulnerable.usersys.redhat.com

      SSL/TLS Protocols:
    SSLv2   disabled
    SSLv3   disabled
    TLSv1.0   disabled
    TLSv1.1   disabled
    TLSv1.2   enabled
    TLSv1.3   enabled
    <snip>

    Cela affiche des informations sur les protocoles SSL activés et, plus bas dans la sortie, des informations sur la vulnérabilité Heartbleed:

      Heartbleed:
    TLSv1.3 not vulnerable to heartbleed
    TLSv1.2 not vulnerable to heartbleed

    Conseils pour prévenir ou atténuer les attaquants

    Il existe de nombreuses façons de défendre vos systèmes contre la multitude d’attaquants. Quelques points clés sont:

    • Connaissez vos systèmes: Cela implique de savoir quels ports sont ouverts, quels ports devraient être ouverts, qui devrait pouvoir voir ces ports ouverts et quel est le trafic attendu sur ces services. Nmap est un excellent outil pour en savoir plus sur les systèmes sur le réseau.
    • Utilisez les meilleures pratiques actuelles: Ce qui est considéré comme une meilleure pratique aujourd’hui pourrait ne pas être une meilleure pratique à l’avenir. En tant qu’administrateur, il est important de se tenir au courant des tendances dans le domaine de l’infosec.
    • Sachez utiliser vos produits: Par exemple, plutôt que de laisser un attaquant marteler continuellement votre système WordPress, bloquez son adresse IP et limitez le nombre de fois où il peut essayer de se connecter avant d’être bloqué. Le blocage de l’adresse IP peut ne pas être aussi utile dans le monde réel, car les attaquants sont susceptibles d’utiliser des systèmes compromis pour lancer des attaques. Cependant, c’est un paramètre facile à activer et pourrait bloquer certaines attaques.
    • Maintenir et vérifier les bonnes sauvegardes: Si un attaquant comprend un ou plusieurs de vos systèmes, le fait de pouvoir reconstruire à partir de sauvegardes connues et propres pourrait vous faire gagner beaucoup de temps et d’argent.
    • Vérifiez vos journaux: Comme le montrent les exemples ci-dessus, les commandes d’analyse et de pénétration peuvent laisser de nombreux journaux indiquant qu’un attaquant cible le système. Si vous les remarquez, vous pouvez prendre des mesures préventives pour atténuer le risque.
    • Mettez à jour vos systèmes, leurs applications et tous les modules supplémentaires: Comme Publication spéciale NIST 800-40r3 explique, «les correctifs sont généralement le moyen le plus efficace d’atténuer les vulnérabilités des failles logicielles et sont souvent la seule solution pleinement efficace».
    • Utilisez les outils fournis par vos fournisseurs: Les fournisseurs disposent de différents outils pour vous aider à maintenir leurs systèmes, alors assurez-vous d’en profiter. Par example, Aperçu de Red Hat, inclus avec les abonnements Red Hat Enterprise Linux, peut vous aider à régler vos systèmes et vous alerter des menaces de sécurité potentielles.

    Apprendre encore plus

    Cette introduction aux outils de sécurité et à leur utilisation n’est que la pointe de l’iceberg. Pour approfondir, vous pouvez consulter les ressources suivantes:

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.