Retour à l'accueil
CEH v12 · Module 04

Énumération

Si le scanning te dit « la porte est ouverte », l'énumération te dit « voici les noms de tous ceux qui vivent dedans, leurs clés, leurs habitudes, et le plan de la maison ». NetBIOS/SMB, SNMP, LDAP, DNS, SMTP, NFS, Net Commands Windows et énumération Linux — avec les sorties de commandes réelles complètes, telles qu'elles apparaissent sur le terrain.

Module 04 / 20 Énumération active enum4linux Metasploitable 2

L'énumération, la phase qui décide tout

L'énumération est la Phase 2 du scanning mais beaucoup plus profonde. Tu passes d'une liste de ports ouverts à une cartographie complète des ressources internes : utilisateurs, groupes, partages, politiques de mots de passe, services, versions exactes.

Différence fondamentale
Scanning : « quel port est ouvert ? » Énumération : « qui tourne dessus, comment c'est configuré, quels comptes existent ? »
L'énumération est active par nature — tu interagis directement avec les services, donc détectable si un monitoring est en place

Énumération NetBIOS et SMB

NetBIOS (1983, IBM) reste massivement présent dans les environnements Windows. SMB tourne au-dessus pour le partage de fichiers/imprimantes — version moderne : port 445 TCP direct.

Architecture (ordinogramme animé)

📁 Application (partage fichier)
📡 SMB
🔌 NetBIOS (port 139) ou Direct (port 445)
🌐 TCP/IP
PortProtocoleService
137UDPNetBIOS Name Service (NBNS) — résolution de noms
138UDPNetBIOS Datagram Service — sans connexion
139TCPNetBIOS Session Service — avec connexion

nbtstat — table NetBIOS locale

C:\> nbtstat -n
C:\> nbtstat -n

Wireless Network Connection:
Node IpAddress: [192.168.1.50] Scope Id: []

                NetBIOS Local Name Table

       Name               Type         Status
    -----------------------------------------------------
    WORKSTATION-01 <00>  UNIQUE      Registered
    WORKGROUP      <00>  GROUP       Registered
    WORKSTATION-01 <20>  UNIQUE      Registered
    WORKGROUP      <1E>  GROUP       Registered
    WORKGROUP      <1D>  UNIQUE      Registered
    ..__MSBROWSE__.<01>  GROUP       Registered

Décodage des suffixes NetBIOS — critique pour le CEH

SuffixeTypeSignification
<00>UNIQUENom de l'ordinateur (Workstation)
<00>GROUPNom du domaine/workgroup
<03>UNIQUEService Messenger (utilisateur connecté)
<1B>UNIQUEDomain Master Browser (PDC)
<1C>GROUPDomain Controllers du domaine
<1D>UNIQUEMaster Browser local subnet
<20>UNIQUEFile Server Service (partage actif !)
Point clé CEH : voir <20> = le service de partage de fichiers est actif → cible prioritaire pour l'énumération SMB

nbtstat -A — table distante

C:\> nbtstat -A 192.168.1.10
C:\> nbtstat -A 192.168.1.10

NetBIOS Remote Machine Name Table

       Name               Type         Status
    -----------------------------------------------------
    METASPLOITABLE <00>  UNIQUE      Registered
    METASPLOITABLE <03>  UNIQUE      Registered
    METASPLOITABLE <20>  UNIQUE      Registered
    WORKGROUP      <00>  GROUP       Registered
    WORKGROUP      <1E>  GROUP       Registered

    MAC Address = 08:00:27:A1:BC:DE
Analyse professionnelle
Nom machine : METASPLOITABLE · Workgroup (pas de domaine AD → réseau simple) · <20> présent → SMB énumérable · <03> présent → utilisateur connecté · MAC 08:00:27 → Oracle VirtualBox (VM confirmée). Prochaine étape : énumération SMB complète.

nbtscan — scan réseau NetBIOS

~ — nbtscan 192.168.1.0/24
$ nbtscan 192.168.1.0/24

Doing NBT name scan for addresses from 192.168.1.0/24

IP address       NetBIOS Name     Server    User             MAC address
------------------------------------------------------------------------------
192.168.1.1      ROUTEUR          <server>  <unknown>        c8:d7:19:ab:12:3f
192.168.1.10     METASPLOITABLE   <server>  METASPLOITABLE   08:00:27:a1:bc:de
192.168.1.15     WIN-SERVER01     <server>  Administrateur   00:50:56:c0:00:08
192.168.1.20     WIN7-CLIENT      <server>  jean.muamba      52:54:00:12:34:56
192.168.1.50     LAPTOP-ML        <server>  exploit4040      b8:27:eb:a1:23:45
192.168.1.15 → connecté en tant qu'Administrateur ! 192.168.1.20 → jean.muamba (nom réel exploitable pour bruteforce)

enum4linux — énumération SMB complète (sortie réelle)

~ — enum4linux -a 192.168.1.10
$ enum4linux -a 192.168.1.10

Starting enum4linux v0.9.1 ( http://labs.portcullis.co.uk/application/enum4linux/ )
 ==========================
|    Target Information    |
 ==========================
Target ........... 192.168.1.10
RID Range ........ 500-550,1000-1050
Username ......... ''
Password ......... ''
Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none

 ====================================================
|    Enumerating Workgroup/Domain on 192.168.1.10    |
 ====================================================
[+] Got domain/workgroup name: WORKGROUP

 ===================================
|    Session Check on 192.168.1.10  |
 ===================================
[+] Server 192.168.1.10 allows sessions using username '',
    password '' (NULL session!)

 ===================================
|    Users on 192.168.1.10          |
 ===================================
index: 0x1 RID: 0x3f2 acb: 0x00000011 Account: games    Name: games
index: 0x2 RID: 0x1f5 acb: 0x00000011 Account: root     Name: root
index: 0x3 RID: 0x4ba acb: 0x00000011 Account: sys      Name: sys
index: 0x6 RID: 0x4c4 acb: 0x00000011 Account: user     Name: just a user,,,
index: 0x7 RID: 0x4c5 acb: 0x00000011 Account: www-data Name: www-data
index: 0xa RID: 0x4ce acb: 0x00000011 Account: msfadmin Name: msfadmin,,,
index: 0xb RID: 0x4d0 acb: 0x00000011 Account: postgres Name: PostgreSQL admin,,,
index: 0xd RID: 0x4d4 acb: 0x00000011 Account: mysql    Name: MySQL Server
index: 0xe RID: 0x4d6 acb: 0x00000011 Account: tomcat55 Name: (null)

[+] Password Info for Domain: WORKGROUP
        [+] Minimum password length: None
        [+] Password Complexity Flags: 000000

 ======================================
|    Share Enumeration on 192.168.1.10 |
 ======================================
        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        tmp             Disk      oh noes!
        opt             Disk
        IPC$            IPC       IPC Service

[+] Attempting to map shares on 192.168.1.10
//192.168.1.10/print$    Mapping: DENIED Listing: N/A
//192.168.1.10/tmp       Mapping: OK Listing: OK   ← ACCESSIBLE !
//192.168.1.10/opt       Mapping: DENIED Listing: N/A

 =====================================================
|    Password Policy Information for 192.168.1.10    |
 =====================================================
[+] Attaching to 192.168.1.10 using a NULL session
[+] Password Info for Domain: WORKGROUP
        Minimum password length: 0   ← PAS DE MINIMUM !
        Password history length: 0   ← PAS D'HISTORIQUE !
        Password Complexity:     Disabled   ← PAS DE COMPLEXITÉ !
        Account lockout threshold: None  ← PAS DE VERROUILLAGE !

enum4linux complete on Fri Nov 15 15:45:23 2024
Ordinogramme — exploitation d'une NULL session
Session anonyme (user='' pass='') enum4linux -a 14 comptes + partages + policy exposés
Résultat explosif : NULL session active, 14 comptes découverts, partage /tmp en lecture/écriture, politique mot de passe catastrophique (longueur 0, pas de verrouillage), Samba 3.0.20 → CVE-2007-2447 RCE

smbmap — cartographier les partages

~ — smbmap -H 192.168.1.10
$ smbmap -H 192.168.1.10

[+] IP: 192.168.1.10:445    Name: metasploitable
        Disk                                           Permissions    Comment
        ----                                           -----------    -------
        print$                                         NO ACCESS      Printer Drivers
        tmp                                            READ, WRITE    oh noes!
        opt                                            NO ACCESS
        IPC$                                           NO ACCESS      IPC Service

$ smbmap -H 192.168.1.10 -r tmp

[+] IP: 192.168.1.10:445    Name: metasploitable
        dr--r--r--  0  Fri Nov 15 14:23:11 2024    .
        dr--r--r--  0  Fri Nov 15 14:23:11 2024    ..
        -rwxrwxrwx 12  Fri Nov 15 11:34:22 2024    backup_passwords.txt
        -rwxrwxrwx  0  Fri Nov 15 09:15:01 2024    vmware-root
backup_passwords.txt en accès libre → téléchargement immédiat avec smbmap -H 192.168.1.10 --download 'tmp/backup_passwords.txt'

smbclient — session interactive

~ — smbclient //192.168.1.10/tmp -N
$ smbclient //192.168.1.10/tmp -N

Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Fri Nov 15 14:23:11 2024
  ..                                  D        0  Fri Nov 15 14:23:11 2024
  backup_passwords.txt                A       12  Fri Nov 15 11:34:22 2024

                7282168 blocks of size 1024. 5446492 blocks available

smb: \> get backup_passwords.txt
getting file \backup_passwords.txt of size 12 as backup_passwords.txt
(5.9 KiloBytes/sec)

smb: \> exit

rpcclient — énumération RPC approfondie

~ — rpcclient -U "" -N 192.168.1.10
$ rpcclient -U "" -N 192.168.1.10

rpcclient $> srvinfo
        METASPLOITABLE Wk Sv PrQ Unx NT SNT metasploitable server
        platform_id     :       500
        os version      :       4.9

rpcclient $> enumdomusers
user:[games] rid:[0x3f2]
user:[root] rid:[0x1f5]
user:[msfadmin] rid:[0x4ce]
user:[postgres] rid:[0x4d0]
user:[mysql] rid:[0x4d4]
user:[tomcat55] rid:[0x4d6]

rpcclient $> enumdomgroups
group:[root] rid:[0x200]
group:[sudo] rid:[0x20a]
group:[admin] rid:[0x20b]

rpcclient $> queryuser 0x1f5
        User Name   :   root
        Password last set Time   :      Wed, 27 May 2012 10:58:09 CAT
        bad_password_count:     0x00000000
        logon_count:    0x00000003

rpcclient $> getdompwinfo
min_password_length: 0
password_properties: 0x00000000

Énumération SNMP

SNMP surveille et gère les équipements réseau (routeurs, switches, serveurs, imprimantes) sur le port 161/UDP.

VersionSécuritéStatut
SNMPv1Community stringObsolète, très dangereux
SNMPv2cCommunity stringCourant, encore dangereux
SNMPv3Auth + ChiffrementSécurisé, recommandé
"public" → lecture seule (défaut universel)  ·  "private" → lecture/écriture (défaut dangereux)

OIDs importants

OIDs — MIB
1.3.6.1.2.1.1.1.0    → sysDescr    (description du système)
1.3.6.1.2.1.1.3.0    → sysUpTime   (durée de fonctionnement)
1.3.6.1.2.1.1.5.0    → sysName     (nom du système)
1.3.6.1.4.1.77.1.2.25→ hrSWRunName (logiciels en cours d'exécution)

snmpwalk — parcourir toute la MIB

~ — snmpwalk -c public -v1 192.168.1.10
$ snmpwalk -c public -v1 192.168.1.10

iso.3.6.1.2.1.1.1.0 = STRING: "Linux metasploitable 2.6.24-16-server #1 SMP"
iso.3.6.1.2.1.1.4.0 = STRING: "msfadmin@metasploitable"
iso.3.6.1.2.1.1.5.0 = STRING: "metasploitable"
iso.3.6.1.2.1.1.6.0 = STRING: "Hack the Planet"
iso.3.6.1.2.1.2.2.1.2.2 = STRING: "eth0"
iso.3.6.1.2.1.4.20.1.1.192.168.1.10 = IpAddress: 192.168.1.10
iso.3.6.1.2.1.25.4.2.1.2.588 = STRING: "apache2"
iso.3.6.1.2.1.25.4.2.1.2.602 = STRING: "sshd"
iso.3.6.1.2.1.25.4.2.1.2.614 = STRING: "vsftpd"
iso.3.6.1.2.1.25.4.2.1.2.621 = STRING: "mysqld"
iso.3.6.1.2.1.25.4.2.1.2.645 = STRING: "named"
iso.3.6.1.2.1.25.4.2.1.2.658 = STRING: "smbd"
iso.3.6.1.2.1.25.6.3.1.2.3 = STRING: "apache2-2.2.8-1ubuntu0.14"
iso.3.6.1.2.1.25.6.3.1.2.4 = STRING: "openssh-server-1:4.7p1-8ubuntu1"
iso.3.6.1.2.1.25.6.3.1.2.5 = STRING: "vsftpd-2.3.4"
iso.3.6.1.2.1.25.6.3.1.2.6 = STRING: "mysql-server-5.0.51a"
iso.3.6.1.2.1.25.6.3.1.2.7 = STRING: "samba-3.0.20-Debian"
Analyse professionnelle
Contact admin (msfadmin@metasploitable), tous les processus actifs, et surtout les versions exactes des logiciels installés — vsftpd 2.3.4 (backdoor connue), samba 3.0.20 (RCE connue). SNMP mal configuré révèle autant qu'un accès shell.

snmp-check — rapport structuré

~ — snmp-check 192.168.1.10 -c public
$ snmp-check 192.168.1.10 -c public

snmp-check v1.9 - SNMP enumerator

[*] Try to connect to 192.168.1.10:161 using SNMPv1 and community 'public'

[*] System information:
  Hostname                      : metasploitable
  Description                   : Linux metasploitable 2.6.24-16-server
  Contact                       : msfadmin@metasploitable
  Location                      : Hack the Planet

[*] Network interfaces:
  Interface                     : eth0
  Mac Address                   : 08:00:27:a1:bc:de
  Speed                         : 1000 Mbps

[*] TCP connections and listening ports:
  Local port          21   ftp     listen
  Local port          22   ssh     listen
  Local port          445  smb     listen
  Local port          3306 mysql   listen

[*] Software components:
  2   apache2 2.2.8-1ubuntu0.14
  3   openssh-server 4.7p1-8ubuntu1
  4   vsftpd 2.3.4
  6   samba 3.0.20-Debian

[*] User accounts:
  root
  msfadmin
  postgres
  mysql
  tomcat55

Énumération LDAP

LDAP donne accès aux annuaires d'entreprise — dans un environnement Windows, c'est le protocole vers Active Directory. Port 389 (clair) / 636 (LDAPS chiffré).

Structure LDAP
DC=corp,DC=com           ← Domaine racine
├── OU=Users             ← Unité organisationnelle
│   ├── CN=Jean Muamba   ← Utilisateur
│   └── CN=Administrateur
└── OU=Groups
    └── CN=Domain Admins

ldapsearch — requête anonyme

~ — ldapsearch -x -H ldap://192.168.1.15 -b "dc=corp,dc=com"
$ ldapsearch -x -H ldap://192.168.1.15 -b "dc=corp,dc=com"

# extended LDIF
# LDAPv3
# base <dc=corp,dc=com> with scope subtree

dn: cn=Jean Muamba,ou=Users,dc=corp,dc=com
objectClass: person
cn: Jean Muamba
sAMAccountName: jean.muamba
userPrincipalName: jean.muamba@corp.com
mail: jean.muamba@corp.com
telephoneNumber: +243 81 234 5678
department: Informatique
title: Administrateur Système
memberOf: cn=IT-Security,ou=Groups,dc=corp,dc=com

dn: cn=Administrateur,ou=Users,dc=corp,dc=com
objectClass: user
sAMAccountName: Administrateur
memberOf: cn=Domain Admins,ou=Groups,dc=corp,dc=com
userAccountControl: 66048

dn: cn=Domain Admins,ou=Groups,dc=corp,dc=com
objectClass: group
member: cn=Administrateur,ou=Users,dc=corp,dc=com
member: cn=exploit4040,ou=Users,dc=corp,dc=com

# numResponses: 15
# numEntries: 14
Domain Admins → contrôle total du domaine AD. Téléphone, poste, email, groupes — tout est exposé sans authentification

Requête filtrée — utilisateurs uniquement

Bash
ldapsearch -x -H ldap://192.168.1.15 -b "dc=corp,dc=com" \
           "(objectClass=user)" sAMAccountName userPrincipalName memberOf

Énumération DNS

Complément au Module 2/3 — ici on énumère méthodiquement pour construire la carte complète des sous-domaines et services.

dnsrecon — énumération générale

~ — dnsrecon -d example.com -t std
$ dnsrecon -d example.com -t std

[*] std: Performing General Enumeration against: example.com
[+] SOA ns1.example.com 93.184.216.100
[+] MX mail.example.com 93.184.216.50
[+]      A www.example.com 93.184.216.34
[+]      A ftp.example.com 93.184.216.60
[+]      A dev.example.com 93.184.216.70
[+]      A staging.example.com 93.184.216.75
[+]      A vpn.example.com 93.184.216.80
[+]      A admin.example.com 93.184.216.90
[+]      TXT example.com "v=spf1 include:_spf.google.com ~all"
Sous-domaines à haute valeur
dev/staging → environnements souvent moins sécurisés que la prod · admin → interface d'administration, cible prioritaire · vpn → accès distant.

dnsenum — zone transfer + bruteforce

~ — dnsenum --enum example.com -f wordlist.txt
$ dnsenum --dnsserver 8.8.8.8 --enum example.com -f /usr/share/wordlists/dnsmap.txt

Trying Zone Transfer for example.com on ns1.example.com ...

example.com.         3600 IN A   93.184.216.34
internal.example.com.3600 IN A   10.0.0.100
db.example.com.      3600 IN A   10.0.0.200

⚠️  Zone Transfer réussi ! Toute l'infrastructure exposée !

Brute forcing with dnsmap.txt:
api.example.com.     3600 IN A   93.184.216.85
beta.example.com.    3600 IN A   93.184.216.86

Énumération SMTP

SMTP (port 25) supporte des commandes qui permettent de vérifier l'existence d'utilisateurs sans authentification sur les serveurs mal configurés.

Commandes d'énumération SMTP
VRFY <user> | EXPN <liste> | RCPT TO:<user>

Netcat — énumération manuelle

~ — nc -nv 192.168.1.10 25
$ nc -nv 192.168.1.10 25

(UNKNOWN) [192.168.1.10] 25 (smtp) open
220 metasploitable.localdomain ESMTP Postfix (Ubuntu)

HELO attaquant.com
250 metasploitable.localdomain

VRFY root
252 2.0.0 root

VRFY msfadmin
252 2.0.0 msfadmin

VRFY administrateur
550 5.1.1 <administrateur>: Recipient address rejected: User unknown

EXPN developers
250-2.0.0 Jean Muamba <jean.muamba@corp.com>
250-2.0.0 Alice Dupont <alice.dupont@corp.com>
250 2.0.0 Bob Martin <bob.martin@corp.com>

QUIT
221 2.0.0 Bye
3 nouveaux emails découverts via EXPN — root, msfadmin et jean.muamba confirmés existants via VRFY

smtp-user-enum — automatisation

~ — smtp-user-enum -M VRFY -U unix_users.txt -t 192.168.1.10
$ smtp-user-enum -M VRFY -U /usr/share/wordlists/metasploit/unix_users.txt -t 192.168.1.10

Starting smtp-user-enum v1.2
Username count .... 168
Target TCP port ... 25

######## Scan started at Fri Nov 15 16:00:12 2024 #########
192.168.1.10: root exists
192.168.1.10: msfadmin exists
192.168.1.10: postgres exists
192.168.1.10: mysql exists
192.168.1.10: tomcat55 exists
######## Scan completed at Fri Nov 15 16:00:48 2024 #########
12 results.
168 queries in 36 seconds (4.7 queries/sec)

Énumération NFS

NFS permet le partage de répertoires entre systèmes Unix/Linux (port 2049). Un serveur mal configuré peut permettre de monter des partages sans authentification.

showmount — lister les exports

~ — showmount -e 192.168.1.10
$ showmount -e 192.168.1.10

Export list for 192.168.1.10:
/                      *
/home                  *
/etc                   *
/var/www               192.168.1.0/24
/opt/backups           10.0.0.0/8
CRITIQUE — / racine accessible par tout le monde, /etc contient shadow, /opt/backups contient des données sensibles

mount — montage et extraction de /etc/shadow

Ordinogramme — de l'export NFS au hash de mot de passe
showmount -e mount -t nfs .../ /tmp/nfs cat /tmp/nfs/etc/shadow John the Ripper / Hashcat
~ — montage et lecture de /etc/shadow
$ mkdir /tmp/nfs_mount
$ sudo mount -t nfs 192.168.1.10:/ /tmp/nfs_mount -o nolock
$ cat /tmp/nfs_mount/etc/shadow

root:$1$SLBRi7.0$XTZv...:15525:0:99999:7:::
msfadmin:$1$XN10Zj2c$Rt/zzCW3mLtUWA.ihZjA5/:14684:0:99999:7:::
user:$1$HESu9xrH$k.o3G93DGoXIiQKkPmUgZ0:14684:0:99999:7:::
postgres:$1$Rw35ik.x$MgX...::14684:0:99999:7:::
On a les hashes des mots de passe → John the Ripper ou Hashcat pour les casser.

Windows — Net Commands

Sur une machine Windows compromise ou depuis un compte de domaine, les commandes net permettent une énumération complète.

C:\> net user
C:\> net user

User accounts for \\WIN-SERVER01
-------------------------------------------------------------------------------
Administrateur           exploit4040              Guest
jean.muamba              alice.dupont             svc_backup
svc_sql                  svc_web

The command completed successfully.
C:\> net user Administrateur
C:\> net user Administrateur

User name                    Administrateur
Account active               Yes
Password last set            10/03/2024 08:45:12
Password expires             Never
Last logon                   15/11/2024 09:12:44
Local Group Memberships      *Administrateurs    *Utilisateurs

The command completed successfully.
C:\> net localgroup Administrateurs
C:\> net localgroup Administrateurs

Alias name     Administrateurs
Comment        Les administrateurs ont un accès complet et illimité

Members
-------------------------------------------------------------------------------
Administrateur
jean.muamba
exploit4040

The command completed successfully.
C:\> net share
C:\> net share

Share name   Resource                        Remark
-------------------------------------------------------------------------------
C$           C:\                             Default share
ADMIN$       C:\Windows                      Remote Admin
Backups      C:\Backups\Entreprise           Sauvegardes serveurs
WebApp       C:\inetpub\wwwroot              Site web interne
HR_Data      C:\Data\RH                      CONFIDENTIEL RH

The command completed successfully.
HR_Data marqué CONFIDENTIEL → cible prioritaire pour l'exfiltration
C:\> net view /domain:CORP
C:\> net view /domain:CORP

Server Name            Remark
-------------------------------------------------------------------------------
\\DC01                 Contrôleur de domaine principal
\\WIN-SERVER01         Serveur de fichiers
\\WEB-SERVER           Serveur web interne
\\DB-SERVER            Serveur base de données
\\BACKUP-SERVER        Serveur de sauvegarde

The command completed successfully.

Énumération Linux

Sur un système Linux compromis, voici l'énumération complète post-accès.

~ — id && whoami
$ id && whoami

uid=1000(msfadmin) gid=1000(msfadmin) groups=1000(msfadmin),4(adm),
20(dialout),24(cdrom),29(audio),44(video),110(netdev),
111(lpadmin),112(admin),113(sambashare)

msfadmin
Membre du groupe admin → sudo potentiellement disponible !
~ — cat /etc/passwd
$ cat /etc/passwd

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
msfadmin:x:1000:1000:msfadmin,,,:/home/msfadmin:/bin/bash
user:x:1001:1001:just a user,,,:/home/user:/bin/bash
service:x:1002:1002:,,,:/home/service:/bin/bash
postgres:x:108:117:PostgreSQL admin,,,:/var/lib/postgresql:/bin/bash
mysql:x:109:117:MySQL Server,,,:/var/lib/mysql:/bin/false
tomcat55:x:110:65534::/usr/share/tomcat5.5:/bin/false
~ — sudo -l
$ sudo -l

Matching Defaults entries for msfadmin on this host:
    env_reset, mail_badpass

User msfadmin may run the following commands on this host:
    (ALL : ALL) ALL
    (ALL) NOPASSWD: /usr/bin/find
    (ALL) NOPASSWD: /usr/bin/python
    (ALL) NOPASSWD: /bin/bash
(ALL) NOPASSWD: /bin/bash → escalade de privilèges immédiate ! `sudo bash` = root sans mot de passe
~ — netstat -tulnp
$ netstat -tulnp

Proto Recv-Q Send-Q Local Address    Foreign Address   State    PID/Program
tcp        0      0 0.0.0.0:21      0.0.0.0:*         LISTEN   614/vsftpd
tcp        0      0 0.0.0.0:22      0.0.0.0:*         LISTEN   602/sshd
tcp        0      0 0.0.0.0:23      0.0.0.0:*         LISTEN   589/telnetd
tcp        0      0 0.0.0.0:445     0.0.0.0:*         LISTEN   658/smbd
tcp        0      0 0.0.0.0:3306    0.0.0.0:*         LISTEN   621/mysqld
tcp        0      0 192.168.1.10:22 192.168.1.50:48123 ESTABLISHED 812/sshd
udp        0      0 0.0.0.0:161     0.0.0.0:*                  523/snmpd

Workflow complet d'énumération professionnel

La méthodologie complète, phase par phase, qu'un ethical hacker suit pendant l'énumération.

1
NetBIOS/SMB
nbtscan 192.168.1.0/24 > recon/netbios_scan.txt
enum4linux -a 192.168.1.10 > recon/smb_enum.txt
smbmap -H 192.168.1.10 > recon/smb_shares.txt
2
SNMP
snmpwalk -c public -v1 192.168.1.10 > recon/snmp_walk.txt
onesixtyone -c dict.txt 192.168.1.10 (bruteforce community string)
3
DNS
dnsrecon -d target.com -t std
dnsrecon -d target.com -t axfr
4
SMTP
smtp-user-enum -M VRFY -U unix_users.txt -t 192.168.1.10 > recon/smtp_users.txt
5
NFS
showmount -e 192.168.1.10 > recon/nfs_exports.txt
6
Rapport consolidé
Utilisateurs découverts, partages accessibles, vulnérabilités immédiates — compilés en un seul document pour la phase d'exploitation.

Résumé final — ce que l'examen va tester

  • Suffixes NetBIOS <00>, <20>, <1B>, <1C>, <1D> et leur signification
  • NULL session SMB — ce que c'est et pourquoi c'est dangereux
  • enum4linux — ce qu'il énumère (users, shares, password policy)
  • Community strings SNMP — public/private et versions SNMPv1/v2c/v3
  • OIDs SNMP importants — sysDescr, sysName, processus
  • LDAP — structure DN/OU/CN et requêtes ldapsearch
  • VRFY vs EXPN vs RCPT TO — différences et usage SMTP
  • Zone Transfer AXFR — pourquoi c'est critique
  • showmount -e — exposer les partages NFS
  • Net commands Windows — net user, net localgroup, net share
  • Fichiers Linux sensibles — /etc/passwd, /etc/shadow, /etc/group
  • sudo -l — identifier les escalades de privilèges
  • netstat -tulnp — services en écoute

Questions type examen — Module 4

Clique sur une question pour révéler la réponse.

Q1Quel suffixe NetBIOS indique que le service de partage de fichiers (File Server) est actif ?+
→ <20> — UNIQUE
Q2Une NULL session SMB permet à un attaquant de faire quoi sans authentification ?+
→ Énumérer les utilisateurs, groupes, partages et la politique de mot de passe
Q3Quelle community string SNMP donne accès en lecture/écriture par défaut ?+
→ "private"
Q4Quelle version de SNMP offre authentification ET chiffrement ?+
→ SNMPv3
Q5Quelle commande SMTP permet de vérifier si un utilisateur existe ?+
→ VRFY
Q6Quelle commande affiche les répertoires NFS exportés par un serveur ?+
→ showmount -e <IP>
Q7Sur Linux, quel fichier contient les hashes des mots de passe des utilisateurs ?+
→ /etc/shadow
Q8sudo -l retourne (ALL) NOPASSWD: /bin/bash. Que peut faire l'attaquant ?+
→ Exécuter sudo bash pour obtenir un shell root sans mot de passe
Q9Quel outil Linux combine smbclient, rpcclient et nmblookup pour énumérer automatiquement SMB ?+
→ enum4linux
Q10Dans un Distinguished Name LDAP cn=Jean Muamba,ou=Users,dc=corp,dc=com, que signifie "ou" ?+
→ Organizational Unit — unité organisationnelle (conteneur logique dans l'annuaire)