Kāpēc tu to dari?
Daudzu iemeslu dēļ var būt noderīgi noteikt, kāda OS ierīce vai ierīce darbojas. Vispirms ļauj apskatīt ikdienas skatījumu, iedomājieties, ka vēlaties pāriet uz jaunu ISP, kurš piedāvā mēnesī neierobežotu internetu par 50 ASV dolāriem, lai jūs varētu izmēģināt savu pakalpojumu. Izmantojot operētājsistēmas pirkstu nospiedumu, jūs drīz atklāsiet, ka viņiem ir atkritumu maršrutētāji, un piedāvājam PPPoE pakalpojumus, ko piedāvā daudzas Windows Server 2003 iekārtas. Vai tas vairs nav tik labs darījums, vai ne?
Vēl viena lieta šim nolūkam, lai arī ne tik ētiska, ir fakts, ka drošības caurumi ir OS īpaša. Piemēram, veicat ostas skenēšanu un atveriet 53. portālu, un mašīna darbojas novecojuša un neaizsargātā Bind versijā, jums ir vienreizēja iespēja izmantot drošības caurumu, jo neizdevās mēģinājums deemonu sagrautos.
Kā OS Fingerprinting darbojas?
Veicot esošās datplūsmas pasīvo analīzi vai pat skatoties uz veco pakešu uztveršanu, viens no vienkāršākajiem un efektīvākajiem operētājsistēmas pirkstu nospiedumu veidiem ir vienkārši aplūkot TCP loga izmēru un Time To Live (TTL) pirmajā IP galvenē pakete TCP sesijā.
Šeit ir populārāko operētājsistēmu vērtības:
Operētājsistēma | Laiks dzīvot | TCP loga izmērs |
Linux (Kernel 2.4 un 2.6) | 64 | 5840 |
Google Linux | 64 | 5720 |
FreeBSD | 64 | 65535 |
Windows XP | 128 | 65535 |
Windows Vista un 7 (Server 2008) | 128 | 8192 |
12,4 iOS (Cisco maršrutētāji) | 255 | 4128 |
Galvenais iemesls tam, ka operētājsistēmām ir dažādas vērtības, ir saistīts ar faktu, ka TCP / IP RFC nenosaka noklusējuma vērtības. Cita svarīga lieta, kas jāatceras, ir tas, ka TTL vērtība ne vienmēr sakrīt ar vienu tabulā, pat ja jūsu ierīcē darbojas kāda no uzskaitītajām operētājsistēmām, jūs redzat, kad nosūtāt IP paketi tīklā, nosūtīšanas ierīces operētājsistēma nosaka TTL noklusējuma TTL par šo OS, bet, tā kā pakete šķērso maršrutētājus, TTL tiek pazemināts par 1. Tāpēc, ja redzat TTL 117, iespējams, ka tas būs pakete, kas tika nosūtīta ar TTL 128 un Pirms tiek uztverti, ir šķērsojuši 11 maršrutētājus.
Izmantojot tshark.exe ir vieglākais veids, kā skatīt vērtības, tiklīdz esat iegādājies pakešu uztveršanu, pārliecinieties, ka instalēta Wireshark, pēc tam dodieties uz:
C:Program Files
Tagad turiet pārslēga pogu un ar peles labo pogu noklikšķiniet uz mapes wireshark un izvēlieties atvērto komandu logu šeit no konteksta izvēlnes
tshark -r 'C:UsersTaylor GibbDesktoplah.pcap' 'tcp.flags.syn eq 1' -T fields -e ip.src -e ip.ttl -e tcp.window_size
Noteikti nomainiet "C: Lietotāji Taylor Gibb Desktop blah.pcap" ar absolūto ceļu uz paketes uztveršanu. Kad jūs nospiedīsiet ievadi, tiks parādīts viss SYN paketēm no jūsu uztveršanas vieglāk lasāms galda formāts
- Mans vietējais tīkls ir 192.168.0.0/24
- Es esmu Windows 7 lodziņā
Ja skatāties uz tabulas pirmo rindu, jūs redzēsiet, ka neesmu guļ, mana IP adrese ir 192.168.0.84, mans TTL ir 128 un mans TCP loga izmērs ir 8192, kas atbilst līdzvērtīgām vērtībām Windows 7.
Nākamā lieta, ko es redzu, ir 74.125.233.24 adrese ar 44 TTL un TCP loga izmērs 5720, ja skatos uz manu galdu, nav operētājsistēmas ar TTL 44, taču tas apgalvo, ka Linux, ka Google serveri palaidiet TCP loga izmēru 5720. Pēc tam, kad veicāt ātru interneta meklēšanu ar IP adresi, jūs redzēsiet, ka tas patiesībā ir Google serveris.