Footprinting, Reconnaissance και Ανακάλυψη Attack Surface — DedSec Project
Footprinting, Reconnaissance και Ανακάλυψη Attack Surface Reconnaissance είναι η διαδικασία δημιουργίας μιας ακριβούς εικόνας ενός εξουσιοδοτημένου target πριν από βαθύτερο testing. Το καλό…
Reconnaissance είναι η διαδικασία δημιουργίας μιας ακριβούς εικόνας ενός εξουσιοδοτημένου target πριν από βαθύτερο testing. Το καλό reconnaissance είναι evidence-driven: ξεχωρίζει πληροφορίες που είναι δημόσια παρατηρήσιμες από πληροφορίες που αποκτώνται με άμεση αλληλεπίδραση και κρατά source/confidence για κάθε συμπέρασμα.
Όριο εξουσιοδοτημένης χρήσης: Ακόμη και passive OSINT μπορεί να έχει privacy ή policy περιορισμούς. Active discovery πρέπει να παραμένει μέσα στο γραπτό scope. Για labs χρησιμοποίησε
example.com, localhost ή δικό σου lab domain.
Μαθησιακοί στόχοι
- ξεχώρισε passive, active, authenticated και internal discovery,
- δημιούργησε asset inventory από πολλαπλές πηγές,
- κατανόησε DNS, certificates, registration και web metadata,
- εντόπισε cloud/SaaS/repository exposure με ασφαλή τρόπο,
- κράτησε provenance και confidence,
- μετέτρεψε recon findings σε prioritized attack-surface map.
Reconnaissance ως πρόβλημα inventory
Στόχος δεν είναι να συγκεντρώσεις όσες περισσότερες ονομασίες γίνεται. Στόχος είναι να ξέρεις ποια assets ανήκουν στον οργανισμό, ποια είναι Internet-facing, ποια identities τα διαχειρίζονται, ποιες technologies/dependencies χρησιμοποιούνται, ποια assets φαίνονται abandoned και ποια observations είναι confirmed ή μόνο hypotheses.
Passive discovery
Παραδείγματα passive sources:
- public DNS και Certificate Transparency,
- registration και autonomous-system information,
- public repositories και package registries,
- websites, documentation, job postings και status pages,
- vendor advisories,
- public cloud/SaaS references που δημοσιεύτηκαν από τον owner.
Passive δεν σημαίνει unrestricted. Μην συλλέγεις προσωπικά δεδομένα που δεν χρειάζονται και μην προσπαθείς να αποκτήσεις private account content.
DNS για reconnaissance
Χρήσιμα records:
- A / AAAA: IPv4/IPv6 addresses,
- CNAME: alias hostname,
- MX: mail exchangers,
- NS: authoritative name servers,
- TXT: SPF/DKIM/domain verification και άλλα metadata,
- CAA: policy για certificate authorities.
Ασφαλή examples:
nslookup example.com
dig example.com A
dig example.com AAAA
dig example.com MX
Ένα DNS answer είναι evidence για DNS state, όχι απόδειξη ownership ή vulnerability. Κατέγραψε resolver, timestamp, TTL και πιθανό caching/split-horizon context.
Certificate και TLS metadata
Certificates μπορούν να αποκαλύψουν hostnames, issuer και validity periods. Certificate Transparency βοηθά στο discovery δημόσια εκδομένων ονομάτων, αλλά μια παλιά εγγραφή δεν αποδεικνύει ότι το hostname είναι ακόμη reachable ή ανήκει στην ίδια ομάδα.
Web metadata
Σε authorized property, ασφαλή read-only observations είναι response status, redirect chain, TLS certificate, security headers, public robots.txt, security.txt, sitemaps, documented APIs και intentionally exposed metadata.
Μην μετατρέπεις reconnaissance σε uncontrolled content brute forcing. Αν directory enumeration είναι στο scope, κάν' το σε deliberately vulnerable ή locally hosted app με συμφωνημένο rate.
Repositories και packages
Public repositories μπορεί να αποκαλύψουν architecture, dependencies, historical filenames, CI configuration και accidentally committed secrets. Αν βρεις suspected secret, μην το δοκιμάσεις. Ενημέρωσε τον owner μέσω του συμφωνημένου channel ώστε να γίνει rotation/revocation.
Για dependency research ξεχώρισε declared package από deployed package, direct από transitive dependency, package-name similarity από verified identity και CVE match από πραγματικά reachable vulnerable code.
Cloud και SaaS surface
Cloud load balancers, object storage endpoints, IdP domains, SaaS tenants, support portals και development platforms μπορεί να φαίνονται δημόσια. Μην θεωρείς ownership μόνο από naming pattern. Επιβεβαίωσε με approved inventory, DNS/certificate relationships ή owner context.
Provenance και confidence
Για κάθε asset κράτησε asset name, source, first-seen time, confidence, environment, owner, exposure και next minimal validation. Αυτό αποτρέπει το συχνό λάθος να θεωρείται stale search-engine data ως current truth.
Active reconnaissance σε lab
Active recon αλληλεπιδρά άμεσα με service. Μπορεί να είναι DNS lookup, normal HTTP request, μικρό approved port check ή benign banner retrieval.
Local lab:
mkdir -p ~/hgp-lab/recon && cd ~/hgp-lab/recon
printf 'lab page\n' > index.html
python -m http.server 8000 --bind 127.0.0.1
Σε δεύτερο Termux session:
curl -I http://127.0.0.1:8000/
Σταμάτησε τον server όταν τελειώσεις.
Attack-surface map
Ομαδοποίησε assets ανά trust boundary: Internet edge, identity, email, source control, CI/CD, cloud control plane, APIs, remote access, mobile backends, third-party integrations και monitoring/recovery.
Δώσε προτεραιότητα όπου συνδυάζονται υψηλό authority, sensitive data, broad exposure, αδύναμο ownership ή περιορισμένο observability.
Συχνά λάθη
- Χρήση παλιών command examples πάνω σε public domains.
- Θεώρηση κάθε hostname ως in-scope asset.
- Θεώρηση fingerprint ως confirmed vulnerable version.
- Συλλογή άσχετων προσωπικών δεδομένων.
- Παράβλεψη IPv6 ή third-party identity surfaces.
- Findings χωρίς timestamp.
Καθοδηγούμενο εργαστήριο
Φτιάξε attack-surface worksheet για fictional organization με website, API, IdP, code repository και cloud account. Για κάθε asset γράψε trust boundary, owner, evidence source, sensitive data και ένα minimal validation step.
Έλεγχος γνώσεων
- Γιατί το provenance είναι σημαντικό στο OSINT;
- Ποια η διαφορά passive και active recon;
- Γιατί certificate data μπορεί να είναι stale;
- Τι κάνει ένα repository finding σημαντικό;
- Πώς αποφεύγεις false ownership conclusions;
Καθοδηγούμενη μελέτη
Χρησιμοποίησε τη Μεθοδολογία Μελέτης. Ολοκλήρωσε πρώτα το attack-surface worksheet.
Συνέχεια
Προτεινόμενα μαθήματα: 03, 34, 35, 43.