28Aug
Tudta, hogy a hálózatba kapcsolt eszköz melyik operációs rendszere fut, csak a hálózati kommunikáció módját vizsgálva? Vessünk egy pillantást arra, hogyan lehet felfedezni, hogy milyen operációs rendszerünk működik.
Miért csinálná ezt?
A gép vagy eszköz operációs rendszerének meghatározása számos okból hasznos lehet. Először nézzük meg a mindennapi szempontokat, képzeljük el, hogy új internetszolgáltatóra szeretne váltani, aki havonta 50 dollárt kínál fel nem kapható interneten, így próbára teheti szolgáltatását. Az operációs rendszer ujjlenyomatainak használatával hamarosan felfedezheti, hogy szemét routerek és PPPoE szolgáltatást kínálnak egy csomó Windows Server 2003 gépen. Már nem úgy hangzik, mint egy ilyen jó üzlet, mi?
Ennek egy másik, bár nem annyira etikus, felhasználása az a tény, hogy a biztonsági lyukak OS specifikusak. Például portolvasást végez, és az 53-as port megnyílik, és a gép a Bind elavult és sérülékeny verzióját futtatja, egy SINGLE esélye van a biztonsági lyuk kihasználására, mivel egy sikertelen kísérlet összeomlana a démont.
Hogyan működik az operációs rendszer ujjlenyomatozása?
Az aktuális forgalom passzív elemzésénél, vagy akár a régi csomagok rögzítésekor az egyik legegyszerűbb, leghatékonyabb módja az OS Fingerprinting egyszerűen a TCP ablakméretének és a Time To Live( TTL) megtekintésének az IP fejlécébenaz első csomag egy TCP munkamenetben.
A népszerűbb operációs rendszerek értékei:
Operációs rendszer | Időtartam | TCP ablakméret |
Linux( kernel 2.4 és 2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista és 7( kiszolgáló 2008) | 128 | 8192 |
iOS12.4( Cisco útválasztók) | 255 | 4128 |
Az operációs rendszerek eltérő értékeinek köszönhető, hogy a TCP / IP RFC-k nem tartalmaznak alapértelmezett értékeket. Más fontos megjegyezni, hogy a TTL-érték nem mindig egyezik meg a táblázatban, még akkor sem, ha az eszköz a felsorolt operációs rendszerek egyikét futtatja, akkor látja, amikor IP-csomagot küld a hálózaton keresztül a küldő eszköz operációs rendszerebeállítja a TTL-t az adott operációs rendszer alapértelmezett TTL-értékére, de ahogy a csomag átirányítja az útválasztókat, a TTL-értéket 1-re csökkentik. Ezért ha 117 TTL-t lát, akkor ez várhatóan 128 TTL11 forgalomirányítót keresztezte, mielőtt elfogták.
A tshark.exe használata a legegyszerűbb módja annak, hogy az értékeket láthassuk, így miután megkaptuk a csomagok rögzítését, győződjön meg arról, hogy telepítve van a Wireshark, majd navigáljon:
C: \ Program Files \
Most tartsa lenyomva a shift gombot, és kattintson a jobb egérgombbala wireshark mappában és a helyi menüből válaszd ki a nyitott parancsablakot
Most írja be:
tshark -r "C: \ Felhasználók \ Taylor Gibb \ Desktop \ blah.pcap" "tcp.flags.syn eq 1" -T mezők -e ip.src -e ip.ttl -e tcp.window_size
Győződjön meg arról, hogy a "C: \ Felhasználók \ Taylor Gibb \ Desktop \ blah.pcap" helyére cserélje a csomagkészlet elfogadásának abszolút elérési útját. Miután megnyomta az Enter-t, akkor minden szinkroncsomagot megmutat a beolvasásról. Egy könnyebben olvasható formátumú
formátumot. Most ez egy véletlenszerű csomag-fogás, amelyet nekem készítettem a How-To Geek webhelyre, és a többi csevegő Windows között isKét dolog biztos lehet benne:
- A helyi hálózatom 192.168.0.0/24
- Windows 7 boxon vagyok
Ha megnézed a táblázat első sorát, látni fogod, hogy nem hazudok, az IP címem192.168.0.84 az én TTL 128, és a TCP ablakméret 8192, ami megfelel a Windows 7 értékeinek.
A következő dolog, amit látok egy 74.125.233.24 cím, TTL 44-es és TCP ablakméret 5720,ha megnézem az asztalomat, nincs olyan operációs rendszere, amelynek 44-es TTL-je van, de azt mondja, hogy a Linux, amelyen a Google szerverei futtatnak TCP Window Size 5720 méretűek. Az IP-cím gyors internetes keresés után látni fogja, hogyvalójában egy Google Szerver.
Mi másként használja a tshark.exe-t, mondja meg nekünk a megjegyzéseket.