Foothold OSINT
BBOT: Rekurzív felderítés a külső támadási felület feltérképezéséhez

BBOT: Rekurzív felderítés a külső támadási felület feltérképezéséhez

Hogyan működik a blacklanternsecurity/bbot event-graph modellje, miben múlja felül az Amass és Subfinder pipeline-okat, és egy passive scan recept, amit tíz perc alatt le tudsz futtatni.

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

Kinek: Biztonsági szakemberek

A probléma, amelyet a BBOT megold

Egyetlen domain gyorsan szétgombolyodik: subdomainok, ASN-ek, tanúsítványrekordok, kiszivárgott hitelesítő adatok, felhőbucketek. Tucat egycélú eszközt összeilleszteni, hogy minden szálat kövessünk, lassú, hibalehetőségekkel teli és nehezen reprodukálható. A blacklanternsecurity/bbot (BBOT) egy nyílt forráskódú felderítési keretrendszer, amely egy eltérő alapelvre épül — az új megállapításokat visszatáplálja a futó vizsgálatba, rekurzívan, amíg az eszközgráf stabilizálódik.

Az írás pillanatában közel 10 000 GitHub-csillag. A projekt saját magát „a hackerek rekurzív internetszkennereként” jellemzi. Ez a megfogalmazás találó.


A BBOT belső működése

Az eseménygráf-modell

Minden feltárt adat — hostname, IP-cím, nyitott port, URL — egy típusos eseménnyé válik. A modulok eseményeket egyaránt termelnek és dolgoznak fel. Amikor bármely modul DNS_NAME eseményt bocsát ki, minden DNS_NAME bemenetet fogadó modul automatikusan megkapja azt. Adj meg egy célpont domaint, és a gráf kifelé terjeszkedik: egy új subdomain tanúsítványlekérést, HTTP probing-ot és további DNS-feloldást vált ki, amelyek mindegyike újabb subdomaineket hozhat felszínre. A ciklus addig fut, amíg egyetlen modulnak sincs feldolgozatlan új bemenete.

Ez architektúrálisan különbözik a pipeline-alapú eszközöktől. A Subfinder → httpx → Nuclei balról jobbra fut, majd megáll. A BBOT addig fut, amíg a gráf ki nem merül.

Modulkategóriák

A hivatalos dokumentáció a modulokat az alábbi csoportokba sorolja:

A passzív és aktív modulok egyértelműen meg vannak jelölve a dokumentációban. Ez a megkülönböztetés a hatókör szempontjából kulcsfontosságú.

Presetek

A modulok kézi felsorolása helyett a BBOT presetek formájában érkezik — gondosan összeállított csomagokként a leggyakoribb munkafolyamatokhoz. A subdomain-enum a teljes passive DNS-csomagot és az aktív feloldást is behúzza. A web-basic HTTP probing-ot és technológiai ujjlenyomat-felismerést rétegez rá. A presetek egymásra rétegezhetők, és saját preset is írható YAML-ban — így szervezetspecifikus API-kulcsokat, hatókörlistákat és modulválasztásokat foglalhatsz reprodukálható szkennelési profilba.


Hol illik be a BBOT

A felderítésnek három szakasza van: vetés (amit te birtokolsz), felfedezés (teljes támadási felület), elemzés (az adatok értelmezése). A legtöbb eszköz egyetlen szakaszra specializálódik. A BBOT mindhárom szakaszt lefedi, de a felfedezésben a legerősebb.

SzakaszA BBOT szerepeKiegészítő eszközök
VetésDomaineket, IP-ket, CIDR-eket, ASN-eket fogad elEszközleltár-rendszerek, belső CMDB
FelfedezésRekurzív bővítés DNS-en, weben, felhőn, OSINT-on keresztülShodan/Censys nyers keresés, Amass
ElemzésJSON/Neo4j kimenet, beépített webes felületBloodHound, Maltego, egyedi SIEM-lekérdezések

A Neo4j kimenet az a pont, ahol a BBOT az elemzés szakaszában igazán megmutatja az értékét. Amint egy vizsgálat adatai gráfadatbázisba kerülnek, a Cypher-lekérdezések egyszerűvé válnak: mely subdomainek osztanak meg TLS-tanúsítványt a fő domainnel? vagy mely IP-k oldódnak fel ötnél több különböző hosztnévre? Ezekre a kérdésekre lapos fájlokból fájdalmas választ adni.

BBOT vs. alternatívák

BBOT vs. Amass

Az Amass mélyebb DNS-fókuszú logikával rendelkezik, és zökkenőmentesen illeszkedik automatizált pipeline-okba. Ha a cél egy tiszta subdomain-összeírás, és már van egy működő Amass munkafolyamatod, nincs nyomós ok az átállásra. A BBOT előnye a szélességben rejlik: egyetlen menetben jutni el a „milyen subdomainek léteznek” kérdéstől a „mi fut rajtuk, és hol van még felhős kitettségük a szervezetnek” kérdésig. Erre a felhasználási esetre a BBOT hatékonyabb.

BBOT vs. Subfinder + httpx + Nuclei

Ez a pipeline gyors, moduláris, és jól illeszkedik a bug bounty munkafolyamatokhoz. A BBOT nem helyettesíti a Nuclei sablonkönyvtárát — azokat CVE-ellenőrzésekre és alkalmazás-ujjlenyomat-vételre fejlesztették, és a BBOT ezzel a lefedettséggel nem ér fel. A két megközelítés kiegészíti egymást: BBOT a rekurzív felületfeltáráshoz, Nuclei a kapott URL-lista ellen célzott sebezhetőség-vizsgálathoz.

BBOT vs. kereskedelmi ASM-platformok

A Censys ASM, a CyCognito és hasonló termékek folyamatos monitorozást, üzleti kontextus-jelölést és felügyelt integrációkat kínálnak. Ugyanakkor jelentős, felhasználónkénti költséggel járnak. Ad-hoc megbízásoknál, red team gyakorlatoknál vagy szűkös büdzsével futó programoknál a BBOT ugyanennek a felfedezési képességnek jelentős részét lefedi. A kompromisszum az üzemeltetési beállítási idő és a licencköltség között feszül — a rendszeres külső recon-t végző legtöbb csapat számára ez ésszerű csere.


Passzív Szkennelési Recept

A következő leírás kizárólag passzív modulokat alkalmaz. Az aktív felderítés saját infrastruktúrán kívüli rendszerek ellen – írásos engedély nélkül – a legtöbb jogrendszerben illegális.

Előfeltételek

Telepítés

pipx install bbot
bbot --version

Passzív Subdomain Felsorolás

bbot -t example.com -p subdomain-enum -rf passive -o ~/bbot-output/example --silent

Egy közepes méretű szervezet domainjén ez három-hét perc alatt fut le, az API rate limittektől függően.

Kimenet Áttekintése

ls ~/bbot-output/example/
# output.ndjson   output.txt   subdomains.txt   scan.log

A subdomains.txt tartalmazza a deduplikált hosztnévlistát. A output.ndjson minden eseményt soronkénti JSON formátumban tárol:

cat ~/bbot-output/example/output.ndjson | jq 'select(.type=="DNS_NAME") | .data'

HTTP Vizsgálat Hozzáadása (Kizárólag Engedélyezett Célpontokon)

bbot -t example.com -p subdomain-enum web-basic -o ~/bbot-output/example-web

HTTP vizsgálatot, technológiai ujjlenyomat-felvételt és alapszintű pókozást ad hozzá. A rekurzív motor felveszi az URL-eket, visszavezeti őket a DNS-feloldáson, és feltárja az oldalak tartalmában vagy HTTP-fejlécekben hivatkozott további subdomaineket.

Neo4j Export (Opcionális)

bbot -t example.com -p subdomain-enum -om neo4j

A hivatalos dokumentáció részletesen ismerteti a Neo4j modul konfigurációját, a kapcsolati karakterlánc formátumát és a Cypher lekérdezési mintákat.


Üzemeltetési megjegyzések

A hatókör-kúszás valós jelenség. A BBOT a feltárt eszközöket kifelé követi. Egy szülődomainre indított szkennelés felszínre hozhat harmadik feles infrastruktúrát, felhőszolgáltatókat és SaaS-eszközöket, amelyek technikailag kapcsolódnak a célponthoz, de a megbízás hatókörén kívül esnek. Állíts össze egy engedélylistát:

# ~/.config/bbot/bbot.yml
scope_search_distance: 1
scope_dns_search_distance: 2
whitelist:
  - example.com
  - 203.0.113.0/24

Ha ezt kihagyod egy nagy szervezeti domainnél, könnyen 40 000 eseménnyel végzed, amelyek fél internetet lefednek.

API-kulcsok kezelése. Shodan, Censys, SecurityTrails, GitHub — a legjobb passzív források mind kulcsokat igényelnek. Tárold őket a ~/.config/bbot/secrets.yml fájlban, és kezeld a fájlt ennek megfelelően. A dokumentáció felsorolja, mely modulokhoz szükséges kulcs, és hol szerezheted be őket.

Zajprofil. A kizárólag passzív szkennelések nem generálnak forgalmat a célpont infrastruktúráján. Az aktív modulok naplóbejegyzéseket hagynak a célrendszereken — ez engedélyezett megbízásoknál elvárható, de a konfiguráció modulonkénti sebességkorlátozási beállításokat is kínál, ha szükséges csökkenteni az agresszivitást.


Verdikt

A BBOT valódi hiányt tölt be. Nem minden feladathoz ez az optimális választás — egy kisebb hatókörű gyors subdomain-lista nem igényel teljes BBOT-futást, és template-alapú sebezhetőség-lefedettség terén a Nuclei veretlen —, de külső támadási felület feltérképezésénél, ahol túl kell lépni a DNS-en, a BBOT rekurzív eseménygráfja és széleskörű modulkönyvtára nehezen vert az open-source térben.

A konfigurációs rendszer jól dokumentált, a preset-modell pedig sekélyen tartja a belépési küszöböt. Szánj egy délutánt a YAML-konfigra és a Neo4j kimeneti modulra. Amikor először futtatsz Cypher-lekérdezést egy scan eredményein, és felszínre kerülnek olyan certificate-megosztási kapcsolatok, amelyeket egy lapos subdomain-lista teljes egészében kihagyott volna — az befektetés megtérül.

Közzétevői nyilatkozat: Nincsenek affiliate-linkek. Minden hivatkozott eszköz ingyenes, nyílt forráskódú szoftver.