Door Anoniem: Dos, W3.x & W9x kennen geen services en staan standaard dicht (zover ik heb begrepen) en dus op afstand niet te benaderen tenzij je shares gaat openzetten of er een webserver o.i.d. op draait. Is hier al eens een discussie over geweest maar kan het topic niet meer vinden. Moeten ze dan nog wel achter een NAT-router?
Zodra de een of andere netwerklaag aanwezig is zijn er twee soorten aanvallen denkbaar:
- als er iets staat te
luisteren kun je daar als aanvaller pakketjes op afvuren en zo wellicht een buffer overflow veroorzaken;
- als er niets staat te luisteren maar er worden wel pakketjes uitgewisseld met een ander device met netwerkonnectiviteit dan kan een aanvaller (mits deze toegang heeft tot dat netwerk natuurlijk) antwoorden spoofen (namens dat andere device) en zo wellicht toegang krijgen. Maar dit is vaak een stuk lastiger dan de eerstgenoemde aanval.
DOS heeft geen multitasking kernel (eigenlijk heeft het helemaal geen kernel maar is het een verzameling routines met een command shell). Je kon er met enige moeite wel mee netwerken door Novell Netware, PC NFS of packet drivers met een mini TCP/IP stack te installeren. Taken die in de "achtergrond" moesten worden uitgevoerd registreerden zichzelf als "timertick" interrupt routine waardoor ze 18,2 x per seconde werden aangeroepen.
Met de komst van Windows 3.x veranderde dat, daar zat (als deze in 386 Enhanced Mode draaide) een echte 32 bits kernel in. Jammer was alleen dat de GUI van die Windows versie nog helemaal uit 16 bits code bestond. Voor netwerkstacks waren er echter enorme verbeteringen. Windows 3.11 for Workgroups had standaard al uitgebreide netwerkmogelijkheden aan boord. Je kon er bij Microsoft gratis een TCP/IP stack voor downloaden waar bijv. de eerste webbrowsers (Mosaic en later Netscape) gebruik van maakten. Als ik me niet vergis luisterde WfW311 standaard op een aantal poorten. Immers je kon heel makkelijk directories en/of een printers "delen".
In W9x is dit concept verder uitgebreid. TCP/IP was standaard aanwezig en 32bit kernel was veel krachtiger, maar de GUI was nog steeds grotendeels 16 bit. Bovendien bestond er geen afscherming tussen W9x applicaties en werd er, tussen die applicaties, gebruik gemaakt van "vrijwillige" multitasking. Eén applicatie kon je hele PC laten crashen.
Voor W9x zijn -bij mijn weten- geen network-based exploits bekend (wel kun je natuurlijk met een brute force aanval eenvoudig toegang krijgen tot eventuele network shares). Maar het was heel eenvoudig om bijv. W98SE zo te configureren dat deze op geen enkele TCP of UDP poort luisterde, zonder dat did tot allerlei problemen op het systeem zelf leidde.
Een groot probleem bij NT was dat er geen automatic updates voor waren. Je moest als beheerder dus zelf handmatig alle systemen patchen (tenzij je daar geen third party tools voor gebruikte). Het gevolg was dat veel NT PC's en servers niet up-to-date waren qua patches met als gevolg dat wormen als Nimda en Blaster nagenoeg vrij spel hadden.
Kortom, vaak weten beheerders niet goed wat de risico's van oude systemen zijn. Als je zeker weet dat ze uitsluitend als client werken, kun je de risico's voor netwerkaanvallen flink verkleinen door er een NAT router tussen te gooien. Heeft het systeem toch een serverfunctie, dan zet je in dat routertje alleen die poort open naar de betreffende PC. Een 100Mbps NAT routertje had je vroeger voor 2 tientjes, helaas zijn die tegenwoordig steeds lastiger te vinden en ben je wat meer geld kwijt voor een Gbit versie (deze bijvoorbeeld:
http://www.informatique.nl/461194/draytek-vigor-2130-gigabit-router.html).
Nb. ik pleit niet voor deze oplossing, veel beter is het om systemen te vernieuwen. Maar in sommige situaties is dat (bijna) onmogelijk en/of onbetaalbaar. Dan kunnen workarounds als NAT-routerjes de risico's aanzienlijk verlagen.