Honeytoken – avagy kövesd a hekkert!

Sokszor előfordul, hogy egy adott esemény vagy akár személy felderítésekor elakad az egyszeri OSINT-os, mer egyszerűen már nem tud továbbmenni, nincs több érdemi, az aktuális repertoárunkkal és módszereinkkel fellelhető információ. Ilyen esetekben sem szabad feladni vagy elkeseredni, ha nincs több információ, akkor el kell érnünk, hogy legyen: csinálni kell.

Nyilván szituációfüggő, hogyan lehet arra kényszeríteni vagy rávenni a másik oldalt, hogy megtegyen olyan lépéseket, amelyekből mi további információhoz jutunk, de sok esetben – ha sikerül,- kimozdíthat bennünket a gödörből.

Fontos, hogy az ilyen eljárások már semmiképpen nem számítanak „passzív” módszernek, felvethetnek különböző jogi problémákat, így csak akkor kezdjünk el „aktív” módszerrel dolgozni, ha már tényleg nincsen lehetőségünk másra, és ha tisztában vagyunk azzal, hogy a tevékenységünk milyen jogi kockázatokat hordoz(hat) magában.

Úgy gondolom, hogy ez nem „töltött fegyver a gyerek kezében”, az ilyen technikák kiválóan alkalmasak az etikus működés keretein belüli alkalmazásra, és remélem, hogy Ti is hasznosnak találjátok majd.

Ma a honeytokenről lesz szó, és bemutatok egy olyan ingyenes megoldást, amely kiválóan beleillik az OSINT eszköztárába és amelyet jól lehet alkalmazni a defenzív és a felderítő tevékenységek során.

Mi az a honeytoken?

A honeypotok vagy mézescsuprok már ismertebbek, ezek olyan kamuflázs cuccok, amelyek elhitetik magukról, hogy valamilyen aktív szolgáltatást nyújtó eszközök, de mégsem azok. Inkább álcázott csapdák, amelyeket arra használnak, hogy felkínálva a sérülékeny alkalmazásokat kereső támadóknak, információt gyűjtsenek a támadóról, amint az megpróbálja felderíteni vagy kihasználni a honeypot által behazudott sérülékeny alkalmazást.

honeypot.jpeg

A honeytoken is ebbe a sémába illik, azonban nem egy álcázott rendszerről beszélünk, hanem csali információról. Például honeytoken egy olyan felhasználónév és jelszó, amivel ugyan nem lehet bejelentkezni a rendszerünkbe, azonban amint valaki megkísérel az adatokkal bejelentkezni, azonnal egy magas prioritású riasztás generálódik.

honeytoken-01.jpg

Sok ilyen, defenzív célú információmorzsa használható, szintén jó példa a modern email védelmi megoldásokban konfigurálható „csapda” postafiók (spam trap honeytoken) – ha erre a postafiókra érkezik email, abban a pillanatban tiltólistára kerül a feladó és a küldő szerver. Miért? Mert ezt a postafiókot semmilyen legit célra nem használjuk, ha erre a címre küld valaki levelet, az csak és kizárólag olyan céllal szerezhette meg, amely miatt joggal feltételezhető, hogy a levél tartalma káros, a küldő fél pedig kártékony.

A honeytokenek (mást terminológiában breadcrumbs – kenyérmorzsa néven is nevezik) felhasználása nagyon széles körben mozoghat, azonban nem elegendő csak az információt vagy csali adatot létrehozni, gondoskodni kell annak megfelelő elhintéséről is (innen a kenyérmorzsa elnevezés).

Ha az email szűrős spam trap honeytoken eseténél maradunk, fontos, hogy a címet csak olyan helyen és olyan módon publikáljuk, amely nem vonja maga után, hogy erre a címre legit levelek is érkezzenek. Helyezzük el az email címet a weboldalunk forráskódjában HTML megjegyzésként – amelyet a látogatóink nem fognak előbányászni, de a SPAM robotok a weboldalunkat megrágva örömmel fognak beemelni az adatbázisukba.

Amikor a SPAM küldő célba vesz bennünket és többek között ebbe a postafiókba is elküldi a penis enlargement vagy egyéb SPAM levelet, az email védelmi rendszer fogadja és feldolgozza ezt a levelet, és azonnal tiltólistára teszi a feladót és a küldő szervert – így a tiltott forrásról érkező további levelek már nem fogják borzolni a felhasználóink idegeit.

Ott vannak aztán a LinkedIn-en a munkavállalóink, akik azért talán már vannak annyira biztonságtudatosak, hogy nem írják bele a profiljukba a vállalati email címüket (de, sajnos). Azonban ha valaki targetálni akar a cégünkre egy phishing kampányt, nincs más dolga, mint  legyűjteni a vállalatunkat munkahelyként szerepeltető felhasználókat, és a nevükből leképezni (a vállalatunk email cím képzési módját ismerve) azt az email listát, amelyre majd elküldi a phishing kampányt.  

Ha azonban mi létrehozunk egy kamu LinkedIn profilt (profil honeytoken), és az email szűrőnkben felvesszük a trap honeytoken postafiókoknak a képzeletbeli munkavállalónk email címét, a phishing kampányt akkor is észlelni tudjuk, ha esetleg a felhasználók maguk nem jelentenék a leveleket – sőt, mivel a trap-be beeső levél feladója és küldő szervere is tiltásra kerül, a kampányt automatán blokkolni is tudjuk.

Utolsó példa a kenyérmorzsák alkalmazására a juicy file honeytoken. Ebben az esetben létrehozunk olyan fájlokat a fájlszerveren (vagy akár a szerverek Desktop mappájában), amelyek meglehetősen csalogató névvel és sokat ígérő tartalommal rendelkeznek, majd azt fogjuk triggerelni, hogy ki szeretne megismerkedni a fájl tartalmával.

A klasszikus példákban mindig a passwords.docx szerepel, nyilván mert valóban eléggé csalogató a tartalma. A dokumentum azonban nem jelszavakat (esetleg kamu jelszavakat) tartalmaz, hanem olyan tracking makrókat, amelyekkel nyomon tudjuk követni, hogy ki és milyen címről nyitotta meg a dokumentumot. Ugyanilyen jó játék a „fonokok-fizetese.docx” – tegyük ki a fájlszerver valamilyen publikus folderébe és hamarosan megtudjuk, kik érdeklődnek a vezetők fizetéseiről (mindenki).

A felhozott példákban közös, hogy nem csak a fáj, jogosultság és hozzáférés, email cím vagy egyéb csali adat és információ fontos, hanem az is, hogy hol és hogyan hintjük el őket. A kenyérmorzsák elhintése pedig attól függ, milyen célra akarjuk a megszerzett adatot felhasználni.

A honeytokenek tehát nem mások, mint olyan csali információk, amelyeket mi állítunk elő, mi terjesztjük és publikáljuk őket azért, hogy észlelhessünk (azonosítsunk, nyomon kövessünk, felfedjünk, stb.) olyan tevékenységeket, amelyek pontosan ilyen információkra vadásznak rendszereinkben vagy egyéb digitális tereinkben.

Ha mi mutatjuk meg őket a támadónak, jó eséllyel észlelni is tudjuk amikor megtalálja és felhasználja a megszerzett információkat – és természetesen ő csak haszontalan információhoz jut, mi viszont hasznos információval fogunk rendelkezni a támadóról (pl. IP cím, belső hostnév, DNS szerver, módszerek és taktikák, stb.).

Canarytoken - ingyenes, egyszerű token generátor

Aki szeretne megismerkedni a honeytokenekkel, annak a legegyszerűbb, ha már kész és ingyenes megoldást próbál ki. Erre a célra kiválóan alkalmas a Canarytoken.

A Canarytoken a leggyakoribb tokenek legenerálására és nyomon követésére alkalmas megoldás, olyan tokeneket tudunk létrehozni, amelynek felhasználásakor nem csak riasztást kapunk, de a riasztásban olyan adatok is megjelennek, amelyek a token felhasználóját segítik láthatóvá tenni esetleg akár beazonosítani. Ilyen tokenek lehetnek:

Web tokenek, azaz generált URL címek, amelyek megtekintésekor riasztás kapunk, benne az URL-t „meglátogató” publikus (vagy akár privát) IP címével, böngésző, esetleg OS és host adataival (a Canarytoken esetében a public IP cím alap, a többihez már saját telepítésre lesz szükség.

DNS tokenek, generált subdomainek (pl. gai0yi9hw.canarytoken.org), amelyeket ha valaki felold, azonnal jön a riasztás és a DNS feloldó IP címe.

Trap postafiók tokenek, amelyek csapda emailcímek, amelyekre ha levél érkezik, akkor jön a riasztás, benne a küldő fél IP címével.

Image tokenek, olyan képek, amelyeket akár levélbe tudunk illeszteni, és amikor a kép betöltődik a levelező kliensbe (pl. Outlook), jön a riasztás a levelet megnyitó IP címével,

Trackelhető dokumentumok és PDF-ek, amelyeket ha megnyit valaki, akkor jön a riasztás, benne a publikus (vagy privát) IP címmel.

Lehet benne csinálni folder megnyitásra, exe vagy DLL futtatásra, SQL select/insert/update/delete funkciókra, QR kódra vagy akár AWS kulcsra triggerelő tokeneket, elég széles a paletta.

Nézzünk meg egy egyszerű, HTML levélbe vagy web oldalba elhelyezhető token elkészítését:

canary1.pngVálasszuk ki a Custom Image Web Bug tokent, majd értelemszerűen töltsük ki a megfelelő adatokkal a mezőket.

canary2-1.png

Az email cím esetében azt a címet adjuk meg, ahova a riasztást szeretnénk kapni. Javasolt, hogy erre a célra egy hozzánk nem köthető email címet hozzunk létre, lehet ez egy gmail-es vagy protonmailes random cím is – jobb a biztonság.

Saját képet is tudunk feltölteni, ez azért fontos, hogy ha megjelenik a címzett oldalon a kép, akkor ne fogjon gyanút, hogy nem odaillő tartalom jelenik meg neki. A kép esetében üresen is lehet hagyni, ebben az esetben a klasszikus 1x1px transzparens kép fog generálódni (a marketing és hírlevél megoldások is ugyanígy monitorozzák a levelek megnyitását).

Modernebb levelezőkben gondot jelenthet, hogy Betekintő módban a képek nem töltődnek be, vagy figyelmeztetik a címzettet, hogy külsős tartalom van a levélben, és engedélyezni kell a kép betöltődését. Minden a motiváción múlik, ha jó a levelünk tartalma, akkor rá tudjuk venni az illetőt, hogy engedélyezze a kép betöltődését.

Ennyire egyszerű, a Create gombbal már létre is jött az első honeytokenünk.

canary3.png

A token nem más, mint egy olyan generált cím, amelyet HTML kódba (img src) tudunk illeszteni akár egy weboldalon, akár egy levél HTML törzsébe. Például így:

canary5.png

Ha ezt a tartalmat egy HTML fájlban helyezzük el, akkor mint egy sima content meg fog jelenni valami hasonló módon:

canary6-1.pngAz email vagy a HTML oldalnak a megnyitásakor be fog töltődni a kép, és a megadott email címre megérkezik a riasztás:

canary7-email.png

A Canarytoken oldal lehetővé teszi, hogy a webes felületen ellenőrizzük a riasztásokat:

canary4-incident.png

És persze, aki szeretné, azt CSV vagy JSON formátumban is exportálhatja az „elsült” token riasztásait és adatait:

canary8-export.png

Fontos, hogy a canarytoken.org oldalon keresztül nagyon „bensőséges” információkat nem lehet a tokent felhasználóról gyűjteni. Ennek oka, hogy publikus szolgáltatásként nem használhat olyan módszereket, amelyek jogi kockázattal járhatnak – így például igazán részletes böngésző adatokat, host vagy OS információkat, belső IP-ket nem fog tudni megmutatni nekünk.

Aki ilyet szeretne, annak jó hír, hogy a GitHub-on elérhető a teljes forráskód és aki rászánja az időt, az felépítheti a saját rendszerét – amelybe már olyan „extra” funkciókat is bele tehet, mint a Browser Exploitation Framework alias Beef (vagy akár WebRTC-s kóddal is felturbózhatja a tokeneket.

Összefoglalás

A honeytokenek – csak úgy, mint a honeypot eszközök – early warning megoldások, azaz használatukkal akár már a letapogatási vagy recon fázisban is eszlelhetők olyan események, amelyek incidensek bekövetkeztét jelzik, csak az aktív védelmi eszközök még (vagy egyáltalán) nem észlelték őket.

Ahogy a bevezetőben írtam, OSINT műveletek során is kiválóan alkalmasak lehetnek arra, hogy információt szerezzünk, olyan információt, amely a hagyományos OSINT technikákkal nem volt fellelhető.

A honeytoken és a honeypot olyan funkciókkal erősíthetik meg a védelmi rendszerünket és a reagálási képességünket, amelyek véleményem szerint nem hiányozhatnak a defenzív fegyvertárból.