ivre: saját üzemeltetésű hálózati felderítési keretrendszer
Az ivre Shodan-szerű lekérdezést biztosít a saját tulajdonodban lévő szkennelési adatok felett. Így illeszkedik az analitikus munkafolyamatba, és tíz percen belül üzembe helyezhető.
OSINT-eszközök mélyreható bemutatása
Kinek: Biztonsági szakemberek
ivre: saját üzemeltetésű hálózati felderítési keretrendszer
Ha a fenyegetési modelled adatmegosztási megállapodásokat, API-lekérdezési korlátokat vagy olyan ügyfél-NDA-t tartalmaz, amely lehetetlenné teszi a szkennelési adatok harmadik féltől származó platformra való küldését, a kereskedelmi internet-szkennelési szolgáltatások megszűnnek opcióknak lenni. Az ivre ezt a rést tölti be: az Nmap, Masscan és Zeek kimenetét egyetlen lekérdezhető adatbázissá gyúrja, amelyet te tulajdonolsz, általad kontrollált infrastruktúrán, lekérdezésenkénti számlázás nélkül.
A projekt a https://github.com/ivre/ivre oldalon él, több mint 4 000 csillaggal, a hivatalos dokumentáció a https://doc.ivre.rocks oldalon valóban jó — amit nem mondhatunk el a legtöbb eszközről ezen a területen.
Mit csinál az ivre valójában?
Az ivre (Instrument de veille sur les réseaux extérieurs) nem szkennelő. Adatréteg. Te hozod a szkennelőket; az ivre normalizálja, tárolja és indexeli a kimenetüket, hogy lekérdezhess az adatok felett, ahelyett hogy XML-t grep-elnél.
A négy képesség, amely a gyakorlatban számít:
- Aktív szkennelés betöltése: Az ivre az Nmap és Masscan XML-t MongoDB-be elemzi. Egy parancs, strukturált eredmények, port, banner, OS ujjlenyomat, tanúsítvány vagy bármilyen kombináció alapján lekérdezhető.
- Passzív forgalomelemzés: Zeek és p0f segítségével az ivre indexelheti az általad futtatott szenzor által megfigyelt DNS-feloldásokat, HTTP-fejléceket és TLS tanúsítványláncokat — privát passzív DNS adathalmazt építve az aktív szkennelési adatok mellé.
- EASM alap: Kombinálj folyamatos aktív szkennelést a saját IP-tartományaidon passzív megfigyelésekkel, és megvan a saját üzemeltetésű külső attack surface management platform vázlata.
- ProjectDiscovery eszközintegrációja: Az ivre képes Nuclei és httpx kimenetet betölteni, lehetővé téve a sebezhetőségi megállapítások szkennelési metaadatokkal való korrelálását egyetlen lekérdezési felületen.
Az alapértelmezett backend a MongoDB. A PostgreSQL egyes al-adatbázisoknál támogatott. A webes felület alkalmas ad-hoc vizsgálatokhoz; a CLI az, ahol az igazi rugalmasság van.
Hogyan illeszkedik az ivre a munkafolyamatba?
Az adatáramlás egyszerű:
Scannerek (Nmap / Masscan / Zeek / p0f)
↓
ivre betöltési szkriptek
↓
MongoDB / PostgreSQL
↓
ivre CLI / webes felület / API
↓
SIEM / irányítópultok / jelentések
Az ivre nélkül a legtöbb csapat XML-t tol táblázatokba, vagy fizet egy saját szkennelési infrastruktúrát futtató platformért. Az ivre a közepes utat foglalja el: te irányítod a szkennelőket, az adatokat, az adatmegőrzési irányvonalat és a lekérdezési felületet.
A felhasználási esetek, ahol ez az irányítás ténylegesen számít:
- Belső hálózati kartográfia — az RFC-1918 vagy DMZ tartományok folyamatos szkennelése egy hosszanti nyilvántartással arról, mi van kitéve és mikor változott.
- Passzív DNS incidensreagáláshoz — a Zeek egy mirror-porton az ivre-t táplálja, helyi alternatívát adva a kereskedelmi passzív DNS-szolgáltatásokhoz a ténylegesen fontos hálózatokon.
- Red team adatkezelés — az Nmap eredményeinek betöltése egy engagement több fázisából, és lekérdezés az egész adathalmaz felett, ahelyett hogy fázisonkénti XML fájlokat kellene egyeztetni.
- Threat intel gazdagítás — megfigyelt IP-k, bannerek és tanúsítványok privát adathalmaza, amely kiegészíti a nyilvános feedeket az ügyféladatok kiszűrése nélkül.
ivre vs. az alternatívák
Shodan / Censys / ZoomEye
Ezek a szolgáltatások saját globális szkennelési infrastruktúrát tartanak fenn, és fizetős API szinteken teszik elérhetővé az eredményeket. Ezek a megfelelő eszközök a te által nem kontrollált tetszőleges IP-térről szóló külső intelligenciához. A kompromisszumok:
| Dimenzió | Shodan / Censys / ZoomEye | ivre |
|---|---|---|
| Adattulajdon | A szállító tartja az adatokat | Te tartod az összes adatot |
| Lefedettség | Internet-szintű, folyamatos | Csak amit te szkennelsz vagy szenzorálsz |
| Késleltetés | Népszerű portoknál közel valós idejű | A szkennelési ütemezéstől függ |
| Skálán vett költség | API kreditek / előfizetés | Csak infrastrukturális költségek |
| Megfelelőség | Szállítónként változó ToS szerint | Teljes mértékben a te irányelved szerint |
| Testreszabás | Korlátozott lekérdező nyelv | Teljes DB-hozzáférés + bővíthető CLI |
Az ökölszabály: kereskedelmi szolgáltatások a szélességért és az ismeretlen infrastruktúra felfedezéséért; ivre a mélységért, hosszanti nyomon követésért és minden olyan forgatókönyvhöz, ahol az adatszuverenitás elengedhetetlen.
GreyNoise
A GreyNoise az internet háttérzajat osztályozza — azonosítja a tömeges szkenner IP-ket és elkülöníti azokat a célzott forgalomtól a naplóidban. Az ivre passzív képességei kiegészíthetik ezt, de az ivre nem tesz kísérletet a globális szkenner aktivitás osztályozására millió szenzor felett. Ha a GreyNoise kontextus gazdagítása a követelmény, az ivre nem helyettesíti. Ha saját szenzort szeretnél futtatni és passzív megfigyeléseket indexelni egy adott hálózati szegmensre, az ivre a jobb megoldás.
OpenVAS / Nuclei
Sebezhetőségi szkennerek, nem felderítési keretrendszerek. Az ivre képes Nuclei kimenetet felvenni egy szélesebb kép részeként, de nem duplikálja az érzékelési logikát. Tekintsd őket kiegészítőkként.
Spiderfoot / Maltego
Ezek a nyilvános források közötti OSINT-pivotingban jeleskednek. Az ivre a te által gyűjtött hálózati szintű adatok felé orientált. Sok analitikus mindkettőt futtatja nyilvános OSINT-ot privát szkennelési adatokkal ötvöző vizsgálatokhoz.
Gyors start: tíz percen belül üzembe
Az alábbiak a https://doc.ivre.rocks/en/latest/install/ oldalon elérhető hivatalos ivre telepítési dokumentáción alapulnak. Követelmények: Docker és Docker Compose Linux vagy macOS rendszeren.
1. lépés — A Docker Compose környezet lehúzása
git clone https://github.com/ivre/ivre.git
cd ivre/docker
docker compose up -d
A docker/ könyvtár MongoDB-hez, az ivre webes frontendhez és az eszközök konténeréhez Compose definíciókat tartalmaz. Az első húzás tipikus kapcsolaton két-három percet vesz igénybe.
2. lépés — Az adatbázisok inicializálása
docker compose exec ivre ivre ipinfo --init
docker compose exec ivre ivre scancli --init
docker compose exec ivre ivre view --init
Az ipinfo IP metaadatokat tárol. A scancli (az nmap al-adatbázis) aktív szkennelési eredményeket tárol. A view az összesített réteg, amelyet a webes felület lekérdez. Mindegyik külön gyűjtemény; inicializáld őket külön-külön.
3. lépés — Szkennelés és betöltés
Szkennelj egy hosztot, amelynek tesztelésére engedélyed van:
nmap -sV -oX /tmp/test_scan.xml 127.0.0.1
Tápláld az XML-t az ivre-be:
docker compose exec ivre ivre scan2db -r /tmp/test_scan.xml
A -r jelző befejezett Nmap eredményként jelöli a fájlt, és beilleszti a szkennelési adatbázisba.
4. lépés — Lekérdezés a CLI-ről
docker compose exec ivre ivre scancli --count
docker compose exec ivre ivre scancli --json
Az első a hosztak számát adja vissza. A második az összes rekordot JSON-ként tölti le — pipe-old jq-ba bármi nem triviálishoz.
5. lépés — A webes felület megnyitása
Navigálj a http://localhost:80-ra. A felület szűrhető nézetet ad az összes betöltött szkennelési adatról: port/szolgáltatás bontások, OS ujjlenyomatok, tanúsítvány részletek. Gyors áttekintéshez megfelelő; bármi szisztematikushoz a CLI gyorsabb.
Standard laptopon meleg Docker-gyorsítótárral az 1–5. lépések körülbelül hét percet vesznek igénybe.
Passzív DNS öt perccel tovább
Itt különíti el magát az ivre a puszta aktív-szkenner eszközöktől. A Docker-környezetben:
docker compose exec ivre ivre passiverecon2db --init
Táplálj egy Zeek-naplót vagy PCAP-ot Zeek-naplókká konvertálva a passiverecon2db-be, és elkezded felépíteni a megfigyelt DNS-feloldások, HTTP-fejlécek és TLS tanúsítványláncok korábbi nyilvántartását a saját szenzorról — az aktív szkennelési adatok mellett lekérdezhető formában. Az ivre által feldolgozható Zeek napló formátumai a https://docs.zeek.org oldalon vannak dokumentálva.
Az aktív és passzív adatok egyetlen lekérdezési felületen való kombinálása valóban hasznos incidensreagáláshoz: megkérdezheted, hogy egy adott IP megjelent-e passzív DNS-megfigyelésekben azelőtt vagy azután, hogy szkennelésben jelent meg, anélkül hogy eszközök között kellene váltani.
Üzemeltetési szempontok
Tárhely: A MongoDB gyorsan növekszik, ha teljes Nmap XML-t indexel nagy szkennelési tartományokon. Éles környezetben használd a --no-screenshots jelzőt a bináris adatbetöltés blokkolásához. Figyeld a gyűjtemény méreteit.
Hitelesítés: Az alapértelmezett Docker Compose beállítás hitelesítés nélkül teszi elérhetővé a webes felületet. Mielőtt bármi mást kötöl, mint a loopback, olvasd el a hivatalos dokumentáció hitelesítési és fordított proxy részét.
Teljesítmény léptékben: B osztályú tartományoknál vagy nagyobbaknál az ivre dokumentáció tárgyalja a Masscan integrációt sebesség-korlátozási paraméterekkel, és dedikált MongoDB tárolót ajánl. Éles telepítéseknél ne hagyd ki ezt.
Jogszerűség: Az ivre semmit sem szkennez önmagától. Az Nmap, Masscan és Zeek igen. Engedély nélküli, nem saját infrastruktúra szkennelése a legtöbb joghatóságban jogellenes. A keretrendszer semleges; a célpont-kiválasztási döntéseid nem azok.
Értékelés
Az ivre nem fogja helyettesíteni a Shodant vagy Censyst a tetszőleges IP-tér külső lefedettségéhez — ezek a szolgáltatások folyamatosan szkennelnek az egész interneten, és te nem fogod ezt reprodukálni. Amit az ivre jól csinál, az a mélység, az irányítás és a hosszanti nyomon követés a ténylegesen fontos infrastruktúrán. A multi-al-adatbázis architektúrának tanulási görbéje van, és az Nmap, Zeek és MongoDB ismerete szükséges a teljes értékhez. A Docker-alapú beállítás kezeli a kezdeti akadályt; a ProjectDiscovery output formats dokumentáció és az Nmap XML output reference érdemes elolvasni éles pipeline összekötése előtt.
Kezd a Docker gyors starttal a saját labortartományodon. A passzív DNS init és egyetlen PCAP visszajátszás egy órán belül megmondja, hogy a keretrendszer illik-e a munkafolyamatodhoz.