Module T3 β€” Terrain

Reconnaissance & Nmap

Avant d'attaquer, il faut connaitre sa cible. Maitrise les techniques de reconnaissance passive et active, et deviens expert du scanner le plus puissant : Nmap.

  • Comprendre la difference entre reconnaissance passive et active
  • Maitriser les sources OSINT (Shodan, Censys, Google dorks, WHOIS)
  • Scanner des reseaux et des hotes avec Nmap
  • Enumerer les services, versions et systemes d'exploitation
  • Utiliser le Nmap Scripting Engine (NSE) pour des scans avances
  • Appliquer des techniques d'evasion pour contourner les firewalls et IDS
  • Realiser un footprinting avance (DNS, sous-domaines, technologies web)

πŸ” T3.1 β€” La reconnaissance : premiere phase du pentest

La reconnaissance (ou information gathering) est la toute premiere phase d'un test d'intrusion. Elle consiste a collecter un maximum d'informations sur la cible avant de lancer la moindre attaque.

Imagine un cambrioleur professionnel (legal !). Avant de tenter quoi que ce soit, il passe des jours a observer sa cible : les horaires, les cameras, les rondes de securite, les points d'entree, les habitudes des occupants. C'est exactement ce que fait un pentester lors de la phase de reconnaissance. Plus tu en sais, plus tes attaques seront chirurgicales et efficaces.

Reconnaissance passive vs active

Reconnaissance passive

Tu collectes des informations sans interagir directement avec la cible. La cible ne sait pas qu'elle est observee.

  • OSINT : sources ouvertes (sites web, reseaux sociaux, forums)
  • WHOIS : informations d'enregistrement de domaine
  • DNS public : enregistrements DNS accessibles a tous
  • Google Dorks : recherches avancees Google
  • Shodan / Censys : moteurs de recherche IoT et services exposes
  • Certificate Transparency : logs publics de certificats SSL
  • Reseaux sociaux : LinkedIn, Twitter, GitHub des employes
Avantage
Zero risque de detection. Aucun paquet envoye vers la cible. Totalement invisible.

Reconnaissance active

Tu interagis directement avec les systemes de la cible. Tu envoies des paquets, tu scannes des ports, tu testes des services.

  • Scan de ports : Nmap, Masscan, Unicornscan
  • Enumeration de services : banniere grabbing, fingerprinting
  • Scan de vulnerabilites : Nessus, OpenVAS
  • Brute force DNS : enumeration de sous-domaines
  • Web crawling : spider les applications web
Attention
La reconnaissance active est detectable par les IDS/IPS et les firewalls. Elle laisse des traces dans les logs. Un pentester doit toujours avoir une autorisation ecrite avant de scanner un reseau.

Les sources OSINT essentielles

Outil / Source Type Usage Exemple
Shodan Moteur IoT Trouve les services exposes sur Internet (webcams, serveurs, SCADA) shodan search apache country:FR
Censys Moteur IoT Scan massif d'Internet, certificats, services censys search "target.com"
Google Dorks Recherche avancee Decouvrir des fichiers sensibles, pages d'admin, erreurs site:target.com filetype:pdf
WHOIS Base registrar Proprietaire du domaine, serveurs DNS, dates whois target.com
theHarvester Outil OSINT Emails, sous-domaines, hotes, noms d'employes theHarvester -d target.com -b all
Maltego Graphes OSINT Cartographie des relations entre entites (personnes, domaines, IP) Interface graphique de visualisation
Recon-ng Framework Framework modulaire de reconnaissance (comme Metasploit pour l'OSINT) recon-ng -w target_workspace
SpiderFoot Automatisation Scan OSINT automatise avec 200+ modules spiderfoot -s target.com -t all
crt.sh Certificats Recherche dans les Certificate Transparency logs curl "https://crt.sh/?q=%.target.com&output=json"
Have I Been Pwned Fuites Verifier si des emails/mots de passe ont fuite Recherche par domaine ou email

Google Dorks β€” Recherches chirurgicales

Google Dorks β€” Exemples
# Trouver des fichiers sensibles
site:target.com filetype:pdf OR filetype:xlsx OR filetype:docx
β†’ Documents internes potentiellement exposes
site:target.com inurl:admin OR inurl:login OR inurl:dashboard
β†’ Pages d'administration et de connexion
site:target.com ext:sql OR ext:bak OR ext:log
β†’ Fichiers de sauvegarde et logs exposes
site:target.com "index of /" "parent directory"
β†’ Directory listing β€” serveur mal configure
intext:"@target.com" site:pastebin.com
β†’ Fuites de donnees sur Pastebin

πŸ›°οΈ T3.2 β€” Nmap : le scanner de reference

Nmap (Network Mapper) est l'outil de scan reseau le plus utilise au monde. Cree par Gordon "Fyodor" Lyon en 1997, il est open source, gratuit, et incontournable pour tout pentester ou administrateur reseau.

Installation

Installation de Nmap
# Debian/Ubuntu/Kali
apt update && apt install nmap -y
# CentOS/RHEL
yum install nmap -y
# macOS
brew install nmap
# Verification
nmap --version
Nmap version 7.94 ( https://nmap.org ) Platform: x86_64-pc-linux-gnu Compiled with: liblua-5.4.6 openssl-3.0.11 libpcre2-10.42 libpcap-1.10.4 nmap-libdnet-1.12 libnetutil-1.0

Syntaxe de base

Syntaxe generale
nmap [type de scan] [options] {cible}

# Cibles possibles :
nmap 192.168.1.1              # IP unique
nmap 192.168.1.1-254          # Plage d'IP
nmap 192.168.1.0/24           # Sous-reseau CIDR
nmap scanme.nmap.org          # Nom de domaine
nmap -iL targets.txt          # Liste de cibles depuis un fichier

Decouverte d'hotes (Host Discovery)

Avant de scanner les ports, Nmap determine quels hotes sont en ligne. Par defaut, il utilise un ping scan combine (ICMP echo, TCP SYN 443, TCP ACK 80, ICMP timestamp).

Host Discovery β€” Nmap
# Ping sweep β€” decouvrir les hotes actifs (pas de scan de ports)
nmap -sn 192.168.1.0/24
Starting Nmap 7.94 ( https://nmap.org ) Nmap scan report for 192.168.1.1 Host is up (0.0012s latency). MAC Address: AA:BB:CC:DD:EE:01 (Cisco Systems) Nmap scan report for 192.168.1.10 Host is up (0.0035s latency). MAC Address: 00:1A:2B:3C:4D:5E (Dell) Nmap scan report for 192.168.1.20 Host is up (0.0089s latency). MAC Address: DE:AD:BE:EF:CA:FE (VMware) Nmap done: 256 IP addresses (3 hosts up) scanned in 2.41 seconds
# Scanner meme si l'hote ne repond pas au ping
nmap -Pn 192.168.1.20
β†’ Desactive la decouverte β€” scanne les ports directement
# TCP SYN ping sur des ports specifiques
nmap -PS22,80,443 192.168.1.0/24
β†’ Envoie un SYN sur les ports 22, 80, 443 pour detecter les hotes
# TCP ACK ping
nmap -PA80,443 192.168.1.0/24
β†’ Utile quand les firewalls bloquent les SYN mais pas les ACK
# UDP ping
nmap -PU53,161 192.168.1.0/24
β†’ Decouverte via UDP (DNS port 53, SNMP port 161)

Types de scan de ports

Option Nom Methode Furtivite Precision Privileges
-sS SYN Scan Envoie SYN, attend SYN/ACK, puis RST (pas de connexion complete) ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ root
-sT Connect Scan Connexion TCP complete (3-way handshake) ⭐⭐ ⭐⭐⭐⭐⭐ user
-sU UDP Scan Envoie des paquets UDP, analyse les reponses ICMP ⭐⭐⭐ ⭐⭐⭐ root
-sA ACK Scan Envoie ACK pour mapper les regles du firewall ⭐⭐⭐⭐ ⭐⭐ root
-sF FIN Scan Envoie FIN β€” les ports fermes repondent RST ⭐⭐⭐⭐⭐ ⭐⭐⭐ root
-sX Xmas Scan Flags FIN+PSH+URG actives (sapin de Noel) ⭐⭐⭐⭐⭐ ⭐⭐⭐ root
-sN Null Scan Aucun flag TCP active ⭐⭐⭐⭐⭐ ⭐⭐⭐ root
-sW Window Scan Comme ACK, mais analyse la taille de la fenetre TCP ⭐⭐⭐⭐ ⭐⭐ root
Exemples de scans de ports
# SYN Scan (par defaut avec root) β€” le plus courant
nmap -sS 192.168.1.20
Starting Nmap 7.94 ( https://nmap.org ) Nmap scan report for 192.168.1.20 PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 80/tcp open http 443/tcp open https 3306/tcp open mysql 8080/tcp open http-proxy Nmap done: 1 IP address (1 host up) scanned in 1.23 seconds
# Scanner les 1000 ports les plus courants (defaut)
nmap -sS --top-ports 1000 192.168.1.20
# Scanner TOUS les ports (1-65535)
nmap -sS -p- 192.168.1.20
# Scanner des ports specifiques
nmap -sS -p 21,22,80,443,3306,8080 192.168.1.20
# Scanner une plage de ports
nmap -sS -p 1-1024 192.168.1.20
# Scan UDP (lent mais indispensable)
nmap -sU --top-ports 50 192.168.1.20
Starting Nmap 7.94 PORT STATE SERVICE 53/udp open domain 67/udp open|filtered dhcps 69/udp open|filtered tftp 123/udp open ntp 161/udp open snmp 500/udp open|filtered isakmp Nmap done: 1 IP address (1 host up) scanned in 48.72 seconds
SYN Scan vs Connect Scan
Le SYN Scan (-sS) est dit "half-open" car il n'acheve jamais le 3-way handshake. Il envoie SYN, recoit SYN/ACK (port ouvert) ou RST (port ferme), puis envoie RST au lieu de ACK. Resultat : aucune connexion n'est loguee par la plupart des applications. Le Connect Scan (-sT) complete la connexion et est donc plus facilement detecte, mais ne necessite pas les privileges root.

πŸ”¬ T3.3 β€” Enumeration de services et versions

Connaitre les ports ouverts ne suffit pas. Il faut savoir quel service tourne sur chaque port, quelle version, et si possible identifier le systeme d'exploitation. C'est la que la magie de Nmap opère.

Detection de services (-sV)

Service & Version Detection
# Detection de version des services
nmap -sV 192.168.1.20
Starting Nmap 7.94 ( https://nmap.org ) Nmap scan report for 192.168.1.20 PORT STATE SERVICE VERSION 21/tcp open ftp vsftpd 3.0.5 22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.6 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.52 ((Ubuntu)) 443/tcp open ssl/https Apache httpd 2.4.52 ((Ubuntu)) 3306/tcp open mysql MySQL 8.0.35-0ubuntu0.22.04.1 8080/tcp open http-proxy Apache Tomcat 9.0.83 Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
# Intensite de detection (0 = leger, 9 = agressif)
nmap -sV --version-intensity 9 192.168.1.20
β†’ Essaie TOUTES les sondes de version (plus lent, plus precis)
# Detection legere (rapide)
nmap -sV --version-light 192.168.1.20
β†’ Equivalent a --version-intensity 2 (rapide mais moins precis)

Detection du systeme d'exploitation (-O)

OS Detection
nmap -O 192.168.1.20
Starting Nmap 7.94 ( https://nmap.org ) Nmap scan report for 192.168.1.20 PORT STATE SERVICE 22/tcp open ssh 80/tcp open http 443/tcp open https Device type: general purpose Running: Linux 5.X OS CPE: cpe:/o:linux:linux_kernel:5.15 OS details: Linux 5.15.0-88-generic (Ubuntu 22.04) Network Distance: 1 hop OS detection performed. Please report any incorrect results at https://nmap.org/submit/
# Estimation plus precise avec --osscan-guess
nmap -O --osscan-guess 192.168.1.20
Aggressive OS guesses: Linux 5.15 (98%), Linux 5.4 (95%), Ubuntu 22.04 (93%)

Scan agressif (-A)

L'option -A combine plusieurs fonctionnalites en une seule commande :

-A = Combo ultime
# -A est equivalent a :
#   -sV   (detection de version)
#   -O    (detection d'OS)
#   -sC   (scripts par defaut)
#   --traceroute (trace de routage)

nmap -A 192.168.1.20
Scan agressif β€” sortie complete
nmap -A -p 22,80,443 192.168.1.20
Starting Nmap 7.94 ( https://nmap.org ) Nmap scan report for 192.168.1.20 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.6 | ssh-hostkey: | 256 a6:e8:2f:3c:d1:9e:7a:4b:5c:8d:1f:2e:3a:b4:c5:d6 (ECDSA) |_ 256 b1:2c:3d:4e:5f:6a:7b:8c:9d:0e:fa:1b:2c:3d:4e:5f (ED25519) 80/tcp open http Apache httpd 2.4.52 ((Ubuntu)) |_http-title: Welcome to Target Corp |_http-server-header: Apache/2.4.52 (Ubuntu) | http-methods: |_ Supported Methods: GET POST OPTIONS HEAD | http-robots.txt: 3 disallowed entries |_/admin/ /backup/ /config/ 443/tcp open ssl/https Apache httpd 2.4.52 | ssl-cert: Subject: commonName=www.target.com | Not valid before: 2024-01-15 |_Not valid after: 2025-01-15 |_ssl-date: TLS randomness does not represent time OS: Linux 5.15 (Ubuntu 22.04) TRACEROUTE HOP RTT ADDRESS 1 1.23 ms 192.168.1.20
Bruit reseau
Le scan -A est tres bruyant. Il genere beaucoup de trafic et sera facilement detecte par un IDS. Utilise-le uniquement quand la furtivite n'est pas une priorite (audit interne, lab).

πŸ“œ T3.4 β€” Nmap Scripting Engine (NSE)

Le Nmap Scripting Engine (NSE) transforme Nmap d'un simple scanner en un veritable framework de pentest. Il permet d'executer des scripts Lua pour automatiser des taches : detection de vulnerabilites, brute force, enumeration avancee, et bien plus.

Categories de scripts

Categorie Description Exemple
auth Test d'authentification (credentials par defaut, contournement) ftp-anon, ssh-auth-methods
brute Attaques par force brute sur les services ftp-brute, ssh-brute
vuln Detection de vulnerabilites connues smb-vuln-ms17-010, ssl-heartbleed
exploit Exploitation active de vulnerabilites ftp-vsftpd-backdoor
discovery Decouverte d'informations supplementaires http-enum, dns-brute
default Scripts surs et utiles (actives avec -sC) http-title, ssh-hostkey
safe Scripts qui ne plantent pas le service cible banner, dns-nsid
intrusive Scripts agressifs pouvant impacter la cible http-put, smb-brute

Utilisation des scripts NSE

NSE β€” Exemples d'utilisation
# Scripts par defaut (equivalents a -sC)
nmap --script=default 192.168.1.20
# Un script specifique
nmap --script=http-enum 192.168.1.20
# Plusieurs scripts
nmap --script=http-enum,http-headers,http-methods 192.168.1.20
# Tous les scripts d'une categorie
nmap --script=vuln 192.168.1.20
# Combinaison de categories
nmap --script="vuln and safe" 192.168.1.20
# Avec des arguments
nmap --script=http-brute --script-args http-brute.path=/admin/ 192.168.1.20
# Lister les scripts disponibles
ls /usr/share/nmap/scripts/ | wc -l
604
ls /usr/share/nmap/scripts/ | grep smb
smb-brute.nse smb-enum-domains.nse smb-enum-groups.nse smb-enum-processes.nse smb-enum-sessions.nse smb-enum-shares.nse smb-enum-users.nse smb-os-discovery.nse smb-protocols.nse smb-security-mode.nse smb-vuln-conficker.nse smb-vuln-cve2009-3103.nse smb-vuln-ms06-025.nse smb-vuln-ms07-029.nse smb-vuln-ms08-067.nse smb-vuln-ms10-054.nse smb-vuln-ms10-061.nse smb-vuln-ms17-010.nse smb-vuln-regsvc-dos.nse smb2-capabilities.nse smb2-security-mode.nse smb2-time.nse smb2-vuln-uptime.nse

Top 15 des scripts NSE indispensables

# Script Categorie Description
1http-enumdiscoveryEnumere les repertoires et fichiers web connus (/admin, /phpmyadmin, /wp-login)
2smb-vuln-ms17-010vulnDetecte EternalBlue (MS17-010), la vuln exploitee par WannaCry
3ftp-anonauthVerifie si le serveur FTP autorise les connexions anonymes
4ssl-heartbleedvulnDetecte la vulnerabilite Heartbleed (CVE-2014-0160) dans OpenSSL
5http-vuln-cve2017-5638vulnDetecte Apache Struts RCE (exploitation par Equifax breach)
6dns-brutediscoveryBrute force les sous-domaines DNS
7ssh-brutebruteAttaque par dictionnaire sur SSH
8http-sql-injectionvulnDetecte les parametres vulnerables aux injections SQL
9smb-enum-sharesdiscoveryListe les partages SMB et leurs permissions
10ssl-enum-ciphersdiscoveryEnumere les suites de chiffrement SSL/TLS supportees
11http-robots.txtdiscoveryRecupere et analyse le fichier robots.txt
12vuln (categorie)vulnExecute tous les scripts de detection de vulnerabilites
13mysql-empty-passwordauthVerifie si MySQL accepte les connexions sans mot de passe
14http-headersdiscoveryRecupere les en-tetes HTTP (info serveur, securite)
15bannerdiscoveryRecupere les bannieres des services (version, info)

Exemples concrets de scripts NSE

NSE β€” Detections de vulnerabilites
# Detecter EternalBlue (MS17-010)
nmap --script=smb-vuln-ms17-010 -p 445 192.168.1.20
PORT STATE SERVICE 445/tcp open microsoft-ds Host script results: | smb-vuln-ms17-010: | VULNERABLE: | Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010) | State: VULNERABLE | IDs: CVE:CVE-2017-0144 | Risk factor: HIGH | A critical remote code execution vulnerability exists in SMBv1 |_ References: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0144
# Detecter Heartbleed
nmap --script=ssl-heartbleed -p 443 192.168.1.20
PORT STATE SERVICE 443/tcp open https | ssl-heartbleed: | VULNERABLE: | The Heartbleed Bug is a serious vulnerability in OpenSSL | State: VULNERABLE | Risk factor: HIGH | OpenSSL versions 1.0.1 through 1.0.1f are vulnerable | References: | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160
# Enumerer les repertoires web
nmap --script=http-enum -p 80 192.168.1.20
PORT STATE SERVICE 80/tcp open http | http-enum: | /admin/: Admin panel | /phpmyadmin/: phpMyAdmin | /robots.txt: Robots file | /wp-login.php: WordPress login | /.git/HEAD: Git repository found! |_ /backup/: Directory listing
# Verifier l'acces FTP anonyme
nmap --script=ftp-anon -p 21 192.168.1.20
PORT STATE SERVICE 21/tcp open ftp | ftp-anon: Anonymous FTP login allowed (FTP code 230) | -rw-r--r-- 1 ftp ftp 18326 Nov 12 14:32 backup.sql | -rw-r--r-- 1 ftp ftp 4521 Nov 12 14:32 credentials.txt |_drwxr-xr-x 2 ftp ftp 4096 Nov 12 14:32 config

πŸ₯· T3.5 β€” Techniques d'evasion

Les firewalls et IDS/IPS modernes detectent les scans Nmap classiques. Un bon pentester doit connaitre les techniques d'evasion pour contourner ces protections. Nmap offre de nombreuses options a cet effet.

Rappel legal
Ces techniques ne doivent etre utilisees que dans le cadre d'un pentest autorise. L'evasion d'un IDS sans autorisation est illegale et peut constituer une infraction penale.

Fragmentation de paquets (-f)

Techniques d'evasion Nmap
# Fragmentation : decoupe les paquets en fragments de 8 octets
nmap -f 192.168.1.20
β†’ Les en-tetes TCP sont fragmentes, rendant la detection plus difficile pour les IDS
# Double fragmentation (fragments de 16 octets)
nmap -f -f 192.168.1.20
# MTU personnalise (doit etre multiple de 8)
nmap --mtu 24 192.168.1.20

Leurres (Decoys) (-D)

Decoys β€” Leurres
# Generer du trafic de leurre avec des IP fictives
nmap -D 10.0.0.1,10.0.0.2,10.0.0.3,ME 192.168.1.20
β†’ Le scan semble venir de 4 sources differentes (3 leurres + toi)
# Leurres aleatoires
nmap -D RND:10 192.168.1.20
β†’ 10 IP aleatoires comme leurres. L'analyste voit 11 "attaquants"

Les decoys, c'est comme envoyer 10 personnes deguisees en toi dans un batiment. Le garde de securite voit 11 personnes suspectes mais ne sait pas laquelle est la vraie. Il peut bloquer tout le monde ou personne β€” dans les deux cas, ca te donne un avantage.

Timing templates (-T0 a -T5)

Option Nom Delai entre paquets Usage
-T0 Paranoid ~5 minutes Evasion d'IDS extreme β€” tres lent
-T1 Sneaky ~15 secondes Evasion d'IDS β€” lent
-T2 Polite ~0.4 seconde Reduit la charge reseau
-T3 Normal Par defaut Equilibre entre vitesse et fiabilite
-T4 Aggressive ~10 ms Reseau rapide et fiable
-T5 Insane ~5 ms Reseau local rapide β€” peut manquer des ports

Autres techniques d'evasion

Evasion avancee
# Manipulation du port source (certains firewalls autorisent DNS/53)
nmap --source-port 53 192.168.1.20
β†’ Le scan semble venir du port 53 (DNS) β€” souvent whitelist dans les firewalls
# Idle Scan (scan zombie) β€” totalement anonyme
nmap -sI zombie.host.com 192.168.1.20
β†’ Utilise un hote "zombie" comme relais. La cible ne voit jamais ton IP
# Ajouter des donnees aleatoires pour tromper les IDS
nmap --data-length 50 192.168.1.20
β†’ Ajoute 50 octets aleatoires aux paquets (change la signature)
# Spoofing de MAC address
nmap --spoof-mac Dell 192.168.1.20
β†’ Usurpe une MAC Dell. Options : 0 (aleatoire), vendor name, adresse specifique
# Combinaison furtive complete
nmap -sS -T1 -f -D RND:5 --source-port 53 --data-length 40 -p 80,443 192.168.1.20
β†’ SYN scan + timing sneaky + fragmentation + 5 leurres + port source DNS + padding
Idle Scan (-sI) : le scan invisible
L'idle scan est la technique la plus furtive de Nmap. Il exploite les numeros de sequence IP (IPID) d'un hote "zombie" inactif. La cible ne voit que l'IP du zombie, jamais la tienne. Conditions : le zombie doit avoir un IPID incrementiel et etre relativement inactif.

πŸ—ΊοΈ T3.6 β€” Footprinting avance

Au-dela de Nmap, un pentester doit maitriser d'autres outils de reconnaissance pour cartographier completement sa cible : DNS, sous-domaines, technologies web, certificats.

Enumeration DNS

DNS Enumeration
# dig β€” requetes DNS detaillees
dig target.com ANY
; <<>> DiG 9.18.18 <<>> target.com ANY ;; ANSWER SECTION: target.com. 300 IN A 93.184.216.34 target.com. 300 IN AAAA 2606:2800:220:1:248:1893:25c8:1946 target.com. 300 IN MX 10 mail.target.com. target.com. 300 IN NS ns1.target.com. target.com. 300 IN NS ns2.target.com. target.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" target.com. 300 IN SOA ns1.target.com. admin.target.com. 2024010101 3600 900 604800 86400
# Transfert de zone (si mal configure β€” jackpot !)
dig axfr target.com @ns1.target.com
; Transfer failed. β†’ Le transfert de zone est correctement restreint (c'est le cas normal). β†’ Si ca marche, tu obtiens TOUS les enregistrements DNS du domaine.
# nslookup β€” reverse DNS
nslookup 93.184.216.34
Server: 192.168.1.1 Address: 192.168.1.1#53 34.216.184.93.in-addr.arpa name = target.com.
# fierce β€” brute force DNS
fierce --domain target.com
NS: ns1.target.com. ns2.target.com. SOA: ns1.target.com. (93.184.216.1) Zone Transfer: Failed Subdomains found: www.target.com β†’ 93.184.216.34 mail.target.com β†’ 93.184.216.35 vpn.target.com β†’ 93.184.216.36 dev.target.com β†’ 93.184.216.40 staging.target.com β†’ 93.184.216.41 api.target.com β†’ 93.184.216.42

Decouverte de sous-domaines

Subdomain Discovery
# Subfinder β€” decouverte passive de sous-domaines
subfinder -d target.com -silent
www.target.com mail.target.com vpn.target.com dev.target.com staging.target.com api.target.com cdn.target.com blog.target.com portal.target.com jira.target.com gitlab.target.com
# Amass β€” enumeration avancee
amass enum -d target.com -passive
β†’ Combine 50+ sources pour une enumeration exhaustive
# Certificate Transparency logs via crt.sh
curl -s "https://crt.sh/?q=%.target.com&output=json" | jq '.[].name_value' | sort -u
"*.target.com" "api.target.com" "blog.target.com" "cdn.target.com" "dev.target.com" "internal.target.com" "mail.target.com" "staging.target.com" "vpn.target.com" "www.target.com"

Fingerprinting des technologies web

Web Technology Fingerprinting
# WhatWeb β€” identification des technologies
whatweb -v target.com
WhatWeb report for http://target.com Status : 200 OK Title : Target Corp β€” Welcome IP : 93.184.216.34 Country : UNITED STATES Summary: Apache[2.4.52], Bootstrap[5.3.2], HTML5, HTTPServer[Ubuntu Linux][Apache/2.4.52 (Ubuntu)], JQuery[3.7.1], PHP[8.1.27], Script, WordPress[6.4.2], X-Powered-By[PHP/8.1.27] Detected Plugins: Apache : 2.4.52 (from HTTP Server header) WordPress : 6.4.2 (from meta generator, comments) PHP : 8.1.27 (from X-Powered-By header) jQuery : 3.7.1 (from script src) Bootstrap : 5.3.2 (from link tag)
# Wappalyzer CLI (si installe)
wappalyzer https://target.com
{ "urls": {"https://target.com": { "status": 200 }}, "technologies": [ {"name": "Apache", "version": "2.4.52", "categories": ["Web servers"]}, {"name": "WordPress", "version": "6.4.2", "categories": ["CMS"]}, {"name": "PHP", "version": "8.1.27", "categories": ["Programming languages"]}, {"name": "MySQL", "categories": ["Databases"]}, {"name": "Ubuntu", "categories": ["Operating systems"]} ] }

Certificate Transparency Logs

Les Certificate Transparency (CT) logs sont des registres publics de tous les certificats SSL/TLS emis. Ils revelent souvent des sous-domaines internes que l'organisation n'a pas voulu exposer.

Pourquoi c'est utile ?
Quand une entreprise demande un certificat SSL pour internal-admin.target.com, ce sous-domaine apparait dans les CT logs β€” meme s'il n'est pas accessible publiquement. C'est une mine d'or pour la reconnaissance passive.

πŸ’» T3.7 β€” Lab : Terminal Nmap

Mets en pratique tes connaissances Nmap dans ce terminal interactif. Scanne le reseau cible 10.10.10.0/24 et decouvre les services, vulnerabilites et informations cachees.

Nmap Recon Lab β€” Reseau 10.10.10.0/24
# Lab de reconnaissance Nmap
# Reseau cible : 10.10.10.0/24
# Objectif : decouvrir les hotes, services et vulnerabilites
# Tape 'help' pour voir les commandes disponibles
root@kali:~#

Exercice : associe le bon type de scan au bon scenario

nmap -sS -T1 -f -D RND:5
nmap -A -p- -sV -O
nmap -sn 192.168.1.0/24
nmap --script=vuln -sV
nmap -sI zombie.host.com
nmap -F 192.168.1.20
nmap -sS -sU -sV -O --top-ports 1000
nmap --script=smb-vuln-ms17-010 -p 445

πŸ”‡ Furtivite requise

Deposer ici

πŸ“‹ Audit complet

Deposer ici

⚑ Verification rapide

Deposer ici

πŸ› Recherche de vulns

Deposer ici

πŸ“ T3.8 β€” Quiz de revision

Points cles du Module T3

  • La reconnaissance est la premiere phase d'un pentest : passive (OSINT, sans contact) vs active (scan, avec contact direct)
  • Nmap est le scanner de reference : il decouvre les hotes, scanne les ports, detecte les services et identifie les OS
  • Le SYN Scan (-sS) est le scan par defaut : rapide, precis, et relativement furtif (half-open)
  • La detection de version (-sV) et d'OS (-O) sont essentielles pour identifier les logiciels vulnerables
  • Le NSE (Nmap Scripting Engine) transforme Nmap en framework de pentest avec 600+ scripts
  • Les techniques d'evasion (-f, -D, -T0/T1, --source-port, -sI) contournent les firewalls et IDS
  • Le footprinting avance combine DNS enumeration, decouverte de sous-domaines et fingerprinting web
  • Les Certificate Transparency logs revelent des sous-domaines caches (crt.sh)
  • Toujours avoir une autorisation ecrite avant de scanner un reseau qui ne t'appartient pas
  • La commande nmap -A combine version, OS, scripts par defaut et traceroute β€” puissant mais bruyant