Hlavní navigace

Sbíráme otisky: pasivní p0f

Petr Krčmář 23. 3. 2006

Dnes dokončíme náš seriál tím, že si představíme zástupce software, který provádí pasivní fingerprinting. Seznamte se s kvalitním skenerem p0f.

Co p0f umí?

Pasivní fingerprint jsme si už popisovali. Jeho výhodou je zejména nulová možnost odhalení a rychlost. Dalším pozitivem je bezproblémový průchod přes všemožné firewally a NAT. Pokud projde standardní spojení (řekněme klasický http protokol), projde i p0f.

Nevýhodou je samozřejmě nižší přesnost informací, které získáme. Přece jen má skener mnohem méně informací a musí vycházet z toho, co mu vzdálený počítač sám řekne. Na druhou stranu ale může druhá strana pokusy o scan detekovat a mařit, takže Nmap prostě neuspěje. V tu chvíli je čas právě na p0f.

p0f (domovská stránka) je ovšem víc než jen obyčejný sběrač otisků, ale i v tomto módu toho umí skutečně hodně. Umí skenovat stroje, které:

  • se připojují k vám (SYN mód)
  • kontaktujete vy (SYN+ACK mód)
  • se vám nedaří kontaktovat (RST+ mód)
  • spolu komunikují a vy je sledujete

Jak jsem naznačil, umí toho ovšem ještě mnohem víc a dokáže detekovat další prvky na síti:

  • firewally, NAT
  • přítomnost traffic shapingu
  • vzdálenost počítače na druhé straně
  • další prvky jako DSL, OC3 atd.

Při všech těchto detekcích nevytváří žádný tok navíc, samostatně prostě neodesílá jediný paket. Veškerá detekce tedy probíhá na úrovni odposlouchávání komunikace. I na tu je možno aplikovat mnoho známých detekčních metod.

Jak se to používá?

Velmi jednoduše. Pro základní použití stačí jako root spustit program bez parametrů a pak se libovolným způsobem připojovat ke vzdáleným strojům. Ping nestačí, protože při něm nedochází k handshake a navázání plného TCP spojení. Klidně ale můžete do prohlížeče zadat nějakou pěknou adresu.

Abyste pochopili, jak funguje handshake (čili potřesení rukou), zopakujeme si celý postup:

  1. Volající nejprve pošle volanému paket s nasteveným SYN flagem a informací o vlastní hodnotě ISN.
  2. Volaný zpět odpoví druhým paketem s flagy SYN a ACK a opět s vlastním ISN.
  3. Poslední paket pošle opět volající, nastaví mu ACK a povrdí ISN volaného tím, že jej zvýší o jedna.

Tím proběhlo potřesení rukou, oba stroje provedly celou sekvenci správně a může se vesele komunikovat. Už při tomto procesu jsme dostali paket z druhé strany a můžeme jej prozkoumat.

V případě, že do prohlížeče napíšete www.root.cz, se například od p0f dozvíte toto:

# p0f

p0f - passive os fingerprinting utility, version 2.0.4
(C) M. Zalewski <lcamtuf@dione.cc>, W. Stearns <wstearns@pobox.com>
p0f: listening (SYN) on 'eth0', 223 sigs (12 generic), rule: 'all'.
192.168.1.1:33990 - Linux 2.4/2.6 (up: 961 hrs)
  -> 81.31.5.18:80 (distance 13, link: ethernet/modem)
192.168.1.1:33998 - Linux 2.4/2.6 (up: 2541 hrs)
  -> 81.31.5.12:80 (distance 13, link: ethernet/modem) 

Vidíte, že došlo ke spojení na stroj s Linuxem (překvapivě) na adrese 81.31.5.18, což je stroj, který se stará o posílání obsahu našeho serveru. Druhý počítač patří službě NAVRCHOLU.cz a načítá se z něj neviditelný obrázek, který nám pomáhá vytvářet statistiky. Vidíte, že se tak můžete dozvědět řadu zajímavých informací a sledovat komunikaci.

V případě, že chcete rozšířit výpisy nebo je pozměnit, můžete použít některý z parametrů. Popíšeme si jen ty nejdůležitější:

  • r – překládá IP adresy na doménové názvy
  • M – spustí detekci maškarády
  • A – použije SYN+ACK mód
  • R – použije RST/RST+ACK mód
  • p – přepne kartu do promiscuous módu .-)
  • d – beží na pozadí jako démon
  • l – výpis jen na jednu řádku (užitečné pro další zpracování)

Ještě se zastavím u parametru p. Jak jsem napsal, přepne kartu do promiscuous módu. To znamená, že přes příslušné rozhraní pak k systému projde veškerá komunikace, která proletí kolem. Pokud máte na síti HUB nebo se vám podaří „ukecat” switch tak, aby propouštěl i cizí pakety, můžete sledovat veškerý provoz a zjišťovat informace o všem, co komunikuje.

Další výpisy

Nechal jsem p0f otestovat další stroje na síti, abyste viděli, jak to chodí:

192.168.1.1:1078 - Windows 2000 SP2+, XP SP1 (seldom 98 4.10.2222)
  -> 192.168.1.4:139 (distance 0, link: ethernet/modem)

192.168.1.1:2053 - FreeBSD 4.7-5.2 (or MacOS X 10.2-10.3) (1) (up: 1284 hrs)
  -> 192.168.1.57:80 (distance 0, link: ethernet/modem) 

Závěrem

Jak vidíte, dokáže i pasivní fingerprinting přijít na spoustu informací a pomoci vám zorientovat se ve vlastní nebo cizí síti. Hledání maškarády se může hodit zejména ve chvíli, kdy potřebujete zjistit, zda si ve vaší síti nikdo nehraje nebo nepřipojuje něco, co by něměl. Můžete tak objevit třeba nějaký BarákNet připojený přes vaši firemní WiFinu. Ale o tom až někdy jindy.

Našli jste v článku chybu?
DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Slevové šílenství je tu. Kde nakoupit na Black Friday?

Slevové šílenství je tu. Kde nakoupit na Black Friday?

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Lupa.cz: Není sleva jako sleva. Jak obchodům nenaletět?

Není sleva jako sleva. Jak obchodům nenaletět?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život