211service.com
De gamla insekterna är de bästa insekterna
Under helgen postade David Maynor en anteckning i sin Blogg som hävdade att den så kallade Telnet-servern i operativsystemet Sun Solaris 10/11 inte kräver någon skicklighet, någon exploateringskunskap och kan skriptas för massattacker.
Telnet är ett program från 1970-talet som låter människor logga in på en dator på distans. Det är i allmänhet inaktiverat eftersom användarnamn och lösenord skickas utan att använda kryptering (vilket var olagligt att exportera från USA då). Men även om programmet i stort sett har övergetts, levererar Sun fortfarande sina Solaris 10-operativsystem med både Telnet-servern och klientprogrammen.
I alla händelser tar Telnet-servern användarnamnet som tillhandahålls av den person som försöker logga in och tillhandahåller denna information till det som kallas inloggningsprogrammet. Det är inloggningsprogrammets uppgift att be om användarens användarnamn och lösenord. Normalt gör den detta, och om lösenordet är korrekt får användaren logga in.
Vad Maynor upptäckte är att en angripare kan försöka logga in med ett användarnamn som -fbin. -fbin skickas vidare till inloggningsprogrammet, som misstolkar -f som ett kommando från operativsystemet för att logga in användaren på det angivna kontot utan att be om ett lösenord. Så exploateringen ser ut så här:
% telnet -l -fbin 192.168.1.110
Försöker 192.168.1.110...
Ansluten till 192.168.1.110.
Escape-tecken är '^]'.
Senaste inloggning: Sön 11 februari 02:02:23 från 192.168.1.102
sun Microsystems Inc. SunOS 5.10 Generic januari 2005
$ id
uid = 2 (bin) gid = 2 (bin)
(Du kan läsa alla blodiga detaljer här )
Vad som verkligen är fantastiskt är att denna sårbarhet först var offentligt rapporterad av Computer Emergency Response Team redan 1996. Tydligen återinfördes buggen av någon programmerare som inte känner till historien. Jag har fått veta att det sedan har åtgärdats i Solaris 11.
Så vad är det för fel här? Många saker.
- När ingenjörerna på Sun fixade detta i Solaris 11 borde de också ha fixat det i Solaris 10.
- Vid det här laget borde Sun inte ens skicka en Telnet-server.
- Och om de ska skicka en server borde de verkligen validera den. Även om jag inte har något sätt att veta vad som hände på Sun, är min gissning att de inte brydde sig om att testa servern eftersom den är inaktiverad som standard.
När jag pratade med en säkerhetskonsult på RSA Security Trade Show förra veckan fick jag veta att säkerhetsbuggar som fixats i produktionsservrar på banksystem ofta återinförs när nya utgåvor skickas. Detta är naturligtvis goda nyheter för säkerhetskonsulter. Men det förklarar också varför organiserad brottslighet har så lätt att tjäna pengar snabbt på Internet.