Uvital bych informace o tom, jak se branit odhaleni, rekneme Linuxoveho NATu, internetovym providerem. Sice tusim jak, ale rada odbornika by prisla vhod.
Ciste ze zvedavosti - muj provider se o klienty ALE VUBEC nezajima. Jsem v CZFree.
Dalsi moznost, jak jde poznat NAT je, ze NATovana spojeni
maji cisla portu pouze v urcitem rozsahu, ktery pak neni
pouzivan pro bezna lokalni spojeni. Napr. normalni porty
se alokuji od 1024 vyse a NAT alokuje porty nekde kolem
60000.
Ten rozsah portu pro NAT jde nastavit, ale pouzivat stejny
rozsah pro NATovana a neNATovana spojeni nelze, takze tam
vzdycky bude moznost, jak na to prijit, ze se pouzivaji dva
rozsahy --- leda, ze by se z toho stroje s NATem nedelaly
ven bezna spojeni.
Dalsi moznosti, jak na to prijit:
Http user agent
jiz zmineny time to live
provider umyslne posle ping s adresou privatnich siti
10.x.x.x nebo 192.168.x.x --- pokud mu tvuj pocitac na
nektery neodpovi, tak je tam NAT.
Ohledne toho portu 60000 - to uz dnes neplati. Kernely rady 2.6 se snazi puvodni src port zachovat, az tehdy kdyz na tom portu uz je otevrene spojeni, tak ho premapuji nekam jinam. To jen tak na okraj.
No a když neodpoví na ping (tedy ICMP echo-request), tak třeba odpoví na arp who-has :-) Tohle funguje celkem spolehlivě, protože linux defaultně na takovéto arp requesty odpoví i na jiném rozhranní (tzv. loose multihoming). Dá se to sice vypnout nebo filtrovat v arptables, ale procento lidí, kteří to dělají, je mizivé.
Jednou z moznosti jak detekovat pocet klientu za NATem je zkoumat ID pole v hlavicce IP. Jsou operacni systemy, ktere to cislo generuji velice jednoduse, tj. velice nenahodne, jednoduse se navysuji apod.
Pokud je tedy napr. za NATem vic podobnych systemu, ktere takhle blbe funguji, lze na druhe strane NATu poslouchat a tim celkem snadno zjistit, kolik tam tech systemu je.
Ilustracne - kdyz je mozne videt, ze hodnoty v par paketech jsou 10,235,88,11,236,99,89,237,100,101,12 atp. tak je snadne z toho usoudit, ze tam jsou odhadem minimalne 4 hosti.
Pokud ta cisla jsou 34,1,15,48,13,101,5 tak to zas tak moc linearne nevypada.
Co se tyka tech BSD systemu a jejich moznosti mast - jo, pokud o to nekomu jde, tak direktiva "scrub" v konfiguraci OpenBSD/FreeBSD pf zmixuje a nahradi mimo jine i IP ID hodnoty. Jsou tam jeste jine moznosti, jako prave modifikace TTL, to ze na urcity ty pakety zrovna neodpovim tak jak si to nmap nebo jiny tool mysli apod.
Nedavne LIVE CD s OpenBSD ma pf nakonfigurovany tak, aby se to tvarilo jako MS Windows :o).
Jinak IMHO zadny fingerprint tool nenahradi pohled na tcpdump :o)