Foothold OSINT
OWASP Amass a Támadási Felület Feltérképezéséhez

OWASP Amass a Támadási Felület Feltérképezéséhez

Hogyan működik az OWASP Amass, hol illeszkedik a recon pipeline-odba, hogyan mérhető össze a Subfinderrel és SpiderFoot-tal, és egy reprodukálható, 10 perces gyakorlati recept.

OSINT-eszközök mélyreható bemutatása

Kinek: Biztonsági szakemberek

OWASP Amass a támadási felület feltérképezéséhez

A legtöbb külső penetrációs teszt azért nem bukkan rá az igazán érdekes dolgokra, mert a vizsgálat megkezdése előtt hiányos volt az eszközleltár – nem azért, mert a tesztelőnek nincs megfelelő tudása. Az Amass épp ezt a rést hivatott betömni. Az OWASP égisze alatt fejlesztett, több mint 14 800 GitHub-csillaggal büszkélkedő eszköz egy egyszerű subdomain-enumeráló szkriptből teljes értékű külső eszközfelderítő platformmá nőtte ki magát, amelynek középpontjában egy tartós gráfadatbázis áll.

Ez a bejegyzés bemutatja, hogyan működik az Amass a motorháztető alatt, hol a helye egy recon-folyamatban, miben különbözik a valószínűleg már általad is használt eszközöktől, és leír egy reprodukálható munkafolyamatot, amelyet tíz percen belül végrehajthatasz.


Mit csinál valójában az Amass

Az Amass támadási felület feltérképezést és eszközfelderítést végez azáltal, hogy több adatgyűjtési technikát egyetlen konfigurálható pipeline-ba integrál. Az owasp-amass/amass GitHub repository szerint az eszköz három elsődleges módot kínál:

A legfontosabb tervezési megkülönböztetés: az Amass gráforientált adatmodellt épít, amelyben a felfedezett eszközök – domainek, IP-k, CIDR-ek, ASN-ek – csomópontok, amelyeket kapcsolati élek kötnek össze. Ez azt jelenti, hogy több munkamenet megállapításai egy lekérdezhető tudásgráfba halmozódnak fel, nem pedig kézzel összefésülendő lapos szövegfájlokba. Folyamatos monitoring programoknál ez az a funkció, ami miatt az Amass megéri a beállítással járó plusz munkát.

A passzív gyűjtési réteg certificate transparency logokból (Censys, crt.sh), DNS aggregátorokból (SecurityTrails, Robtex), threat intel feed-ekből (AlienVault OTX), webarchívumokból és keresőmotor API-kból dolgozik – mindezt anélkül, hogy érintené a célpont infrastruktúráját. Az aktív mód DNS brute-forcingot, zónaátviteli kísérleteket és ASN útvonal-lekérdezéseket ad hozzá. Ezek már olyan forgalmat generálnak, amelyet a célpont naplózhat, tehát az engedélyezési követelmények nem opcionálisak.

Az Amass helye az eszközláncban

A recon egy tölcsér. Az Amass a széles bemenetnél helyezkedik el: olyan eszközöket tár fel, amelyekről nem tudtad, hogy léteznek – nem portokat és sebezhetőségeket. Egy tipikus munkafolyamat:

  1. Hatókör-meghatározásamass intel ASN-ek és seed domainek feltárásához cégnév vagy ismert IP-tartomány alapján.
  2. Eszközfelsorolásamass enum a teljes subdomain-gráf felépítéséhez, passzív és – felhatalmazás esetén – aktív technikákkal.
  3. Élő hosztok megerősítése → Az Amass kimenetét httpx vagy massdns segítségével szűrd a válaszoló hosztokra.
  4. Port- és szolgáltatásvizsgálat → Az élő hosztokat add át Nmap-nek vagy Naabu-nak a szolgáltatások azonosítására.
  5. Sebezhetőség-elemzés → Tápláld a szkennelők bemeneti adatait – Nuclei, manuális keretrendszerek – a megerősített élő leltárból.

Az Amass nem kísérli meg felváltani a harmadik–ötödik lépést, és nem is kellene. Ez a discovery-motor, amely teljessé teszi az összes többi lépést. Ha kihagyod az alapos eszközfelderítést, minden downstream tevékenység hiányos képre épül – ez az „ismeretlen ismeretlenek” problémája, amelyből hatókör-hiányok keletkeznek a külső tesztekben, és vakfoltok az EASM-programokban.

A blue-team és threat-intel munkában az Amass eltérő szerepet tölt be: ütemezett monitorozást. Mivel az eredmények a gráfadatbázisban megmaradnak, az ismétlődő felsorolások lehetővé teszik a kimenet időbeli összehasonlítását, és segítenek kiszúrni az új subdomaineket, a lógó DNS-rekordokat vagy az újonnan üzembe helyezett infrastruktúrát – még mielőtt egy threat actor megtenné.


Amass vs. alternatívák

Egyetlen eszköz sem nyeri meg az összes forgatókönyvet. Nézzük meg, hol húzódnak valójában a kompromisszumok.

Subfinder (ProjectDiscovery)

A Subfinder könnyebb, gyorsabb, és JSON kimeneten át simán illeszkedik automatizált pipeline-okba. Egy olyan CI/CD-ellenőrzésnél, amely minden egyes telepítésnél megjelöli az új subdomaineket, a Subfinder a megfelelő választás – az Amass ott már túlzás. Az Amass ott előz, ahol a gráfmodell mélysége, a intel mód szervezeti hatókör-felderítéshez, illetve az aktív felsorolási képesség számít. A Subfinder nem épít tartós munkamenet-gráfokat, és nem végez ASN-szintű hírszerzési gyűjtést. A Subfinder dokumentációja szerint a hatóköre kifejezetten a passzív subdomain-felfedezésre korlátozódik.

TheHarvester

A TheHarvester átfed az e-mail- és subdomain-gyűjtésben nyilvános forrásokból. Hasznos gyors, célzott keresésekhez a korai felderítés során, illetve kifejezetten e-mail harvesting-hez, de nincs gráfadatbázisa, és szűkebb a hatóköre, mint az Amass-nak.

Shodan / Censys

Ezek legalább annyira adatforrások, mint eszközök. Az Amass valójában mindkettőt lekérdezi – érvényes API-kulcsok konfigurálása esetén –, és kimenetükkel gazdagítja a saját gráfját. Azok az elemzők, akiknek valós idejű banner-adatokra vagy eszközszintű ujjlenyomatolásra van szükségük, közvetlenül is elérik ezeket a platformokat, de az Amass automatikusan absztrahálja és korrelációba hozza kimeneteiket több tucat más forrással.

SpiderFoot

A SpiderFoot szélesebb OSINT-felszínt fed le – személyeket, vállalatokat, fenyegetés-korrelációt –, ami általános célú automatizálási platformmá teszi. Tiszta hálózati eszközfelderítés esetén az Amass alaposabb DNS- és hálózati topológiai eredményeket ad. Ha a hatókör személyzetre vagy vállalati struktúrára is kiterjed, a SpiderFoot a jobb választás.

Döntési táblázat:

FeladatVálaszd ezt
Gráfalapú, többmunkamenetes külső eszközfelderítésAmass
Gyors passzív subdomain-felsorolás pipeline-okbanSubfinder
OSINT hálózati eszközökön túl (személyek, vállalatok)SpiderFoot
Gyors e-mail + subdomain keresés, korai felderítésTheHarvester

10 perces gyakorlati útmutató

Az alábbiak Go 1.21+ verziót feltételeznek Linux vagy macOS rendszeren, a hivatalos Amass-repozitóriumból származó telepítési módszer alapján. Aktív felderítést kizárólag olyan célpontokon futtass, amelyeken erre explicit felhatalmazásod van.

1. lépés: Az Amass telepítése

go install -v github.com/owasp-amass/amass/v4/...@master

Ellenőrzés:

amass -version

Vagy húzd le a Docker-image-t:

docker pull caffix/amass

2. lépés: Passzív subdomain-felderítés

amass enum -passive -d example.com -o passive_results.txt

Ez a parancs a beállított passzív forrásokat kérdezi le anélkül, hogy forgalmat küldene a célpontra. Az eredmények a passive_results.txt fájlba íródnak, és egyidejűleg bekerülnek a helyi gráfadatbázisba.

3. lépés: API-kulcsok beállítása

Az Amass YAML-konfigurációból olvas. Hozd létre a ~/.config/amass/config.yaml fájlt:

resolvers:
  - 8.8.8.8
  - 1.1.1.1

datasources:
  - name: Censys
    creds:
      key: YOUR_CENSYS_API_ID
      secret: YOUR_CENSYS_API_SECRET
  - name: SecurityTrails
    creds:
      key: YOUR_SECURITYTRAILS_KEY

Már egy ingyenes szintű Censys- vagy SecurityTrails-kulcs is érzékelhetően bővíti a lefedettséget. A hivatalos dokumentáció felsorolja az összes támogatott forrásnevet és a hozzájuk szükséges hitelesítési mezőket.

4. lépés: Újrafuttatás a konfigurációval

amass enum -passive -d example.com -config ~/.config/amass/config.yaml -o passive_enriched.txt

5. lépés: Szervezeti szintű felderítés

Ha vállalatnévből indulsz ki egy ismert domain helyett:

amass intel -org "Example Corporation" -o org_seeds.txt

Ez WHOIS-t, ASN-nyilvántartásokat és kapcsolódó forrásokat kérdez le, hogy feltárja a szervezethez kötődő domaineket és IP-tartományokat. Ha a hatókör még nincs meghatározva, ebből kell kiindulni — itt mutatkozik meg igazán, miben múlja felül az Amass azokat az eszközöket, amelyek már ismert seed domaint feltételeznek.

6. lépés: A gráfadatbázis lekérdezése

amass db -names -d example.com

Az összes felfedezett subdomain-nevet visszaadja a perzisztens gráfból, beleértve a korábbi munkamenetek megállapításait is. Előző eredmények eléréséhez nem szükséges újra teljes felderítést futtatni.

7. lépés: A gráf vizualizációja (opcionális)

amass viz -d3 -d example.com -o graph.html

A felfedezett eszközkapcsolatok interaktív, D3.js-alapú nézetét nyitja meg. Hasznos ügyfélmegbeszéléseken, ha a megrendelők vizuális kontextust igényelnek a lapos subdomain-lista helyett.


Éles környezeti megfontolások

API-kvóta kimerülése: Ha sok forrás van konfigurálva, a nagy célpontok ellen végzett passzív enumeration gyorsan felemészteti az ingyenes csomag kvótáit. Folyamatos megfigyelési programoknál ossza szét időben az enumeration ütemezéseit, és forrásonként kövesse nyomon a felhasználást.

Eredményzaj: Az Amass széles hálót vet ki. A kimenet tartalmazni fog wildcard DNS-bejegyzéseket, CDN mögött meghúzódó hosztokat és a célpont közvetlen irányításán kívül eső infrastruktúrát. Mindig erősítse meg az élő hosztokat, mielőtt minden felfedezett subdomaint hatókörön belülinek tekintene – olyan megbízásokon láttam a triázs idejét megduplázódni, ahol a csapatok kihagyták ezt a lépést.

Tárhelyigény növekedése: A gráfadatbázis minden munkamenettel bővül. Hosszan tartó megbízásoknál vagy folyamatos megfigyelésnél állítson be adatmegőrzési szabályzatot, és rendszeres ütemezéssel archiválja vagy törölje a régebbi gráfadatokat.

Aktív mód észlelhetősége: A brute-forcing és a zónaátviteli kísérletek olyan forgalmat generálnak, amelyet a célpontok naplózhatnak. Az OWASP Attack Surface Analysis Cheat Sheet szerint a hatókör határai itt kritikusak – az aktív módokhoz aláírt megbízási nyilatkozat vagy kifejezett írásos felhatalmazás szükséges, nem csupán szóbeli jóváhagyás.


A lényeg

Az Amass a legjobb elérhető nyílt forráskódú eszköz gráf-alapú, több munkameneten átívelő külső támadási felület feltérképezésére. A intel mód szervezeti hatókör-felfedezéshez, tartós gráftárolással párosítva, az, ami megkülönbözteti a gyorsabb, de felszínesebb eszközöktől. Külső megbízásoknál futtasd minden más előtt. Monitorozó programoknál ütemezetten futtasd, és vesd össze a kimeneteket — a futások között megjelenő új subdomainek adják a korai figyelmeztetést.

Kezdd a fenti passzív munkafolyamattal, add hozzá az API-kulcsokat abban a sorrendben, amelyhez már ingyenesen hozzáférsz (Censys először, SecurityTrails másodszor), és építs rá.