Neu Das Whitepaper zur kontinuierlichen Sicherheitsvalidierung 2026 ist verfügbar. Whitepaper lesen →

Recon & Discovery.

Der Recon-Katalog von A bis Z: passive vs. aktive Modi, Subdomain-Erkennung über CT-Logs und DNS, Web-Stack-Fingerprinting und Port-zu-Service-Mapping.

Recon-Modi

  • Passiv. Keine Pakete zum Ziel. Quellen: crt.sh, Shodan, Censys, FOFA, BGP-Toolkit, GitHub-Code-Search, Wayback Machine. Pflichtmodus für Stealth-Engagements und Competitive-Intel.
  • Semi-passiv. Traffic, der wie normales User-Verhalten aussieht: ein einzelner HTTP-GET, ein einzelner DNS-Lookup. Unter den meisten Engagement-Scopes ohne explizite Scan-Autorisierung toleriert.
  • Aktiv. Port-Scans, Directory-Fuzzing, wordlist-getriebene Enumeration. Erfordert schriftliche Scope-Autorisierung und idealerweise ein Wartungsfenster.

Subdomain-Discovery — volle Pipeline

  1. CT-Logs. crt.sh?q=%25.target.com, subfinder mit allen Quellen aktiv. Fängt alles, wofür je ein öffentliches Cert ausgestellt wurde.
  2. DNS-Bruteforce. shuffledns oder puredns mit der SecLists-n0kovo_subdomains-Wordlist gegen eine eigene Resolver-Liste, um Rate-Limits zu umgehen. Wildcards explizit behandeln.
  3. ASN-Walk. AS-Nummer via whois oder asnlookup; gesamten ASN-Bereich sweepen; Reverse-DNS, um Nachbarn außerhalb der öffentlichen Zone zu finden.
  4. JS-Scraping. katana + subjs, um URLs aus JavaScript-Bundles zu extrahieren. Frontends hardcodieren häufig nur-interne API-Hostnames.
  5. Archive-Mining. waybackurls, gau. Historische Hosts, die nicht mehr auflösen, verraten trotzdem Naming-Konventionen.

Web-Fingerprinting-Signale

  • Headers. Server, X-Powered-By, Set-Cookie-Namen (PHPSESSID, JSESSIONID, ASP.NET_SessionId), CSP-Direktiven.
  • Favicon-Hash. MD5 von /favicon.ico → Shodan http.favicon.hash:. Identifiziert Produkte über ihr Default-Icon, auch wenn Banner gestrippt sind.
  • Error-Pages. 404, 500 und Parser-Error-Pages haben produktspezifisches Wording, das Header-Scrubbing übersteht.
  • Verhaltensprobe. Request /.env, /server-status, /actuator/health, /api/v1. Response-Codes und Bodies fingerprinten den Stack.

Port → erster Dienst-Blick

  • 21 FTP. Anonymous-Read zuerst, Banner zweitens. Beschreibbare Verzeichnisse prüfen.
  • 22 SSH. Banner verrät OS-Familie; ssh-audit für KEX-/MAC-Haltung; Userlist-Enum via Timing auf altem OpenSSH.
  • 445 SMB. crackmapexec smb für Null-Session, Signing, OS-Version, Share-Enum.
  • 389/636 LDAP. Anonymous-Bind zuerst; Root-DSE für Naming Context; userPrincipalName-Enumeration.
  • 1433 MSSQL. mssqlclient.py -windows-auth mit gesprayten Creds; xp_cmdshell wenn sysadmin.
  • 3389 RDP. nmap --script rdp-enum-encryption für NLA-Haltung; niemals brute-forcen ohne bestätigte Lockout-Policy.
  • 5985/5986 WinRM. evil-winrm mit gesprayten Creds. Wenn Admin, hast du eine Shell ohne AV-berührenden Binary.
  • 6379 Redis. Default unauthentifiziert. config set dir /var/spool/cron/ + crontab-Write für RCE.
  • 27017 MongoDB. Unauthentifiziert in Default-Docker-Images. mongosh + show dbs.
FaustregelDer billigste Find des Engagements steckt meist in der Recon-Phase. Die Zeit investieren. Eine Subdomain, von der niemand im Security-Team weiß, ist mehr wert als drei exotische Exploits gegen eine gehärtete Haupt-App.

Von der Referenz zum Befund

Validieren Sie das in Ihrer eigenen Umgebung.