[ LUGOS ] Varnostna luknja pri uporabi eggdrop IRC botov na strezniku

Andrej Presern andrejp na luz.fe.uni-lj.si
Sre Okt 8 01:28:05 CEST 1997


Iztok Heric wrote:
> 
> Pozdrav!
> 
> Pred kratkim sem odkril zelo neprijetno varnostno luknjo v eggdrop
> (vse razlicice) IRC (ro)botih. Mogoce ze veste zanjo, vseeno pa se mi
> je zdelo pametno opozoriti nanjo. Predvsem to velja za upravitelje
> Linux/UN*X streznikov, na katerih je vec uporabnikov (/etc/passwd ni
> za javno razstavo...)
> 
> ** Priporocam vam, da o tem obvestite uporabnike, naj pazijo ! **
> 
> Poleg maksimalnega ogrozanja uporabnikovega accounta ogroza se varnost
> celotnega sistema. Namrec stvar je taka, da lahko vsakdo ki ima
> owner dostop do bota (zal se ponavadi owner-ji razdelijo komurkoli in
> nepoznanim osebam, ki jim ne gre prevec zaupati...) izvede KATERIKOLI

Lepo je, da zaupate svojim uporabnikom. Zakaj ste jim ze dali accounte?

> ukaz.
> Z lahkoto lahko nekdo npr. izvede ukaz rm -rf ~ in uporabniku pocisti
> homedir, z lahkoto se lahko dokoplje do /etc/passwd ali pa zazene

Prvo je problem uporabnika, da poganja proces s toliko privilegiji
in daje dostop do njega ljudem, ki jih ne pozna (v bistvu jim da
polni dostop do svojega accounta). Se sploh to velja, ce uporabnik
niti ne ve, kako program deluje in kaj lahko preko programa doseze,
saj se navodil niti dotaknil ni. Kot pise v uvodu k eggdropu, to
ni igracka za otroke, ki bi se igrali lokalnega irc bogeca.

Drugo je problem administratorja, da ima nonshadowed /etc/passwd
fajl - itak lahko vsak uporabnik dobi ta fajl.

> kak nezazeljen proces.
> Gre takole: .tcl exec ukaz   (v partylineju bota)
> Za sabo si lahko potem tudi pocistijo log datoteko, ki jo dela bot.
> 
> Stvar je seveda resljiva.
> 
> V eggdropovem imeniku src je potreno ustrezno spremeniti datoteko
> hash.h
> In sicer vrstico:
>   { "tcl", 'n', cmd_tcl },
> je le potrebno enostavno remarkati:
> //  { "tcl", 'n', cmd_tcl },
> 
> Nato je treba se ponovno prevesti bota (z  make eggdrop  v njegovem
> osnovnem direktoriju) in ga ponovno zagnati.
> S tem se onemogoci ukaz .tcl, ki pa za samo delovanje in upravljanje
> ni pomemben, saj naj bi sluzil le razhroscevalnim namenom...

V resnici se +n ne daje nikomur, za kogar nocemo, da bi imel polni
dostop do accounta (v tem primeru mu lahko damo kar njegov password).
Poleg tega je .tcl izjemno koristna komanda, ki je ne velja kar tako
ukiniti. In ce smo ze pri 'luknjah', enako stvar lahko uporabnik
doseze, ce ima na voljo komando 'set'. Kako? To naj bo pa domaca
naloga za nadobudne uporabnike eggdropov s prevec privilegiji.

Torej no, it's not a bug. It's a feature.

Andrej




Dodatne informacije o seznamu Starilist