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:
- amass intel – Szervezeti intelligenciát gyűjt: ASN-számokat, WHOIS-adatokat és egy célvállalat nevéhez vagy IP-tartományához köthető seed domaineket.
- amass enum – Subdomaineket és hálózati eszközöket sorol fel passzív forrásokból, aktív DNS-vizsgálatból és gráfalapú elemzésből.
- amass db – A munkamenetek között az eredményeket tároló helyi gráfadatbázist kezeli és kérdezi le.
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:
- Hatókör-meghatározás →
amass intelASN-ek és seed domainek feltárásához cégnév vagy ismert IP-tartomány alapján. - Eszközfelsorolás →
amass enuma teljes subdomain-gráf felépítéséhez, passzív és – felhatalmazás esetén – aktív technikákkal. - Élő hosztok megerősítése → Az Amass kimenetét httpx vagy massdns segítségével szűrd a válaszoló hosztokra.
- Port- és szolgáltatásvizsgálat → Az élő hosztokat add át Nmap-nek vagy Naabu-nak a szolgáltatások azonosítására.
- 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:
| Feladat | Válaszd ezt |
|---|---|
| Gráfalapú, többmunkamenetes külső eszközfelderítés | Amass |
| Gyors passzív subdomain-felsorolás pipeline-okban | Subfinder |
| OSINT hálózati eszközökön túl (személyek, vállalatok) | SpiderFoot |
| Gyors e-mail + subdomain keresés, korai felderítés | TheHarvester |
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á.