Aller au contenu

0 - Reconnaissance

La phase de reconnaissance vise à cartographier la surface d'attaque de la cible avant toute interaction intrusive. On commence par de la collecte passive (aucun paquet envoyé à la cible), on prépare l'environnement de test (horloge, résolution de noms), puis on réalise un scan de ports actif pour identifier les services exposés. Les résultats orientent toutes les phases suivantes.

Jetons

Les commandes ci-dessous utilisent des variables substituées automatiquement par l'application : {IP} (adresse IP de la cible), {DOMAIN} (nom de domaine), {DC} (contrôleur de domaine), {URL} (URL cible), {USER} (nom d'utilisateur) et {PASS} (mot de passe). Remplacez-les par vos propres valeurs si vous copiez les commandes manuellement.

OSINT - Passive reconnaissance

Reconnaissance passive : aucun paquet n'est envoyé à la cible. À faire en premier.

Subdomains via crt.sh (robust: crt.sh often returns 502s)

# crt.sh is unstable -> retry + JSON check before jq
for i in 1 2 3 4 5; do
  out=$(curl -s --max-time 20 'https://crt.sh/?q=%25.{DOMAIN}&output=json')
  echo "$out" | jq -e . >/dev/null 2>&1 && { echo "$out" | jq -r '.[].name_value' | sed 's/\*\.//g' | sort -u; break; }
  sleep 3
done

Voir aussi :

CT fallback (certspotter, no API key)

curl -s 'https://api.certspotter.com/v1/issuances?domain={DOMAIN}&include_subdomains=true&expand=dns_names' | jq -r 'if type=="array" then .[].dns_names[]? else empty end' | sed 's/\*\.//g' | sort -u

Voir aussi :

Source aggregation (subfinder)

subfinder -d {DOMAIN} -silent
# others: shodan.io | viewdns.info | dnsdumpster.com

Voir aussi :

Whois / tech stack

whois {DOMAIN}
whatweb https://{DOMAIN}
# wappalyzer (extension) for the tech stack

Voir aussi :

setup - Environment setup

Préparation de l'environnement : synchronisez l'horloge (essentiel pour Kerberos) et résolvez le FQDN.

Sync clock with the target (Kerberos)

sudo ntpdate {IP}
# alt: sudo rdate -n {IP}

Voir aussi :

Add to /etc/hosts

echo "{IP} {DOMAIN} {DC}" | sudo tee -a /etc/hosts

Voir aussi :

scan - Active port scan

Scan nmap : scan complet d'abord, puis scan ciblé/scripté sur les ports ouverts. L'option -oA produit le fichier .nmap (+ .gnmap/.xml) à charger via « Load .nmap » pour filtrer cette page selon les ports ouverts.

Exportable full scan (.nmap to load into this page)

mkdir -p scans && sudo nmap -p- -sV -sC -T4 -oA scans/{IP} {IP}
# generates scans/{IP}.nmap  ->  "Load .nmap" button

Voir aussi :

Stealth SYN scan without ping (ICMP filtered)

sudo nmap {IP} -p- -sS -Pn -n --disable-arp-ping --packet-trace

Voir aussi :

UDP top 50

mkdir -p scans && sudo nmap -sU --top-ports 50 -oA scans/udp_{IP} {IP}

Voir aussi :

Vuln scan (NSE)

mkdir -p scans
# set PORTS to the open ports found above
PORTS=22,80,443
sudo nmap -p$PORTS --script vuln -oA scans/vuln_{IP} {IP}

Voir aussi :

Exploit/CVE search (on the versions found)

searchsploit <product> <version>
searchsploit -m <id>   # copies the exploit locally

Voir aussi :