BTB-Projekti: T-Pot loppuraportti

Google Cloudissa on ilmainen kokeilujakso loppumassa ja on aika katsoa mitä jäi käteen 12.10.2020 alkaneesta T-Pot hunajapurkin testaamisesta.

Suorituskykyä on jouduttu lisäämään matkan varrella kahteen otteeseen, jotta palvelut pysyisivät saavutettavina. Viimeisin kokoonpano on 4 vCPUta ja 16 GB muistia.

Kokonaismäärät

Ainakin hyökkäysluvut ovat melkoisia ja palvelu joutuu hetken miettimään tietoja haettaessa:

7,678,203
Dionaea – Attacks
Suurta lukua selittää myös se, että Dionaea sisältää koko joukon suosittuja portteja.
4,565,247
Cowrie – Attacks
Cowrie sen sijaan on puhdas SSH- hunejapurkki. Tyypillisesti palvelinten hallintaan käytettynä se on erittäin herkullinen kohde kokeilla oletussalasanoja erilaisiin palveluihin. Portti kannattaa aina vaihtaa johonkin toiseen.
1,124,970
Heralding – Attacks
Heralding on vastuussa salasanojen ja käyttäjätunnusten kokoamisesta.
816,003
Honeytrap – Attacks
Verkkopalvelujen hunajapurkki.

Vielä muistutuksena nimien ja porttien vastaavuus:

https://github.com/telekom-security/tpotce/raw/master/doc/architecture.png

Hunajapurkin perusajatuksen mukaisesti kaikki portit näkyvät ulospäin kaikille mahdollisille kysyjille.

Kotioloissa ensimmäinen asia on sallia vain ne portit ulospäin, joita tarvitaan , esim 80/443 webbisivujen julkaisuun ja VPN/Wireguard/Ipsec määritetyt portit palomuuriin.

Mutta kuka on kiinnostunut näistä palveluista?

Kun katsotaan tarpeeksi pitkältä ajalta, ei hyökkäysten alkuperän suhteen voi vetää mitään kovinkaan suuria johtopäätöksiä. Lisäksi VPN-palveluiden käyttäminen hämärtää maakohtaiset erot.

Top 5 lähteet:

AS  ASN  CNT 
Petersburg Internet Network ltd.
526,211
CANTV Servicios, Venezuela
489,337
Viettel Corporation
418,734
VNPT Corp
371,658
Chinanet
283,131
Digital Ocean, Inc.
247,099
PT Telekomunikasi Indonesia
242,030
Turk Telekom
226,365
Data Communication Business Group
201,687
The Corporation for Financing & Promoting Technology
176,050

Mikäli on jo tiedossa että kaikki palveluiden käyttäjät tulevat tietystä maasta tai alueelta, voi maakohtaisilla rajauksilla (ja oletusporttien vaihtamisella toiseen) pienentää hyökkäyskuormaa. Vai olisiko jokin parempi tapa?

IP-mainelistat

Kun erilaiset hunajapurkit lähettävät tietojaan keskitettyihin palveluihin, muodostuu nopeasti tietokanta, jossa korostuvat haitalliset IP-osoitteet. Tämä tuli allekirjoittaneelle selväksi hieman vahingossa, kun testasin erään yrityksen IP:n kautta hyökkäystyökaluja tähän T-Potiin. Asennusvaiheessa olin merkinnyt että tiedot saa jakaa eteenpäin. Luonnollisesti pian yrityksen IP:stä oli merkitty tulevan hyökkäysliikennettä asiaa seuraavissa palveluissa. Onneksi heidän asiakaspalvelunsa poisti tiedot selvityksen jälkeen. Kannattaa siis muistaa tehdä testaukset eristettyihin ympäristöihin!

Kun katsotaan T-Potin listaa, tulee hyvin nopeasti selville että suurin osa hyökkäyksistä tulee jo tunnetuista huonoista lähteistä. Siispä tämä palvelu toimii oivana tietokantana jatkosuodatuksille tai mainehaittapalveluiden käyttö on myös tehokas tapa suodattaa liikennettä. Esim PfSensessä voi omaan palomuuriinsa tilata IP-suodatuslistoja keskitetysti ylläpidetyiltä tahoilta: https://nguvu.org/pfsense/pfSense-pfblockerng-configuration-guide/#Malicious%20IP%20Address%20Blocking

known attacker

 

4,628,026
bad reputation

 

1,723,618
anonymizer

 

17,885
mass scanner

 

9,129
bot, crawler

 

8,618
spam

 

4,277
form spammer

 

3,317
tor exit node

 

2,300
bitcoin node

 

2,245
compromised

 

2

Muutama helppo IP suodatukseen

Top 10 attacker Source IP  CNT 
875,515
391,964
250,572
124,592
122,676
113,517
112,117
85,501
79,681
73,000

 

Mitä muuta tietoa olemme saaneet? Luonnollisesti kiinnostavaa on katsoa millä tunnuksilla on sisään koitettu päästä.

Suosituimmat käyttäjätunnukset ja salasanat

Suosituimmat käyttäjätunnukset (vaihda nämä):

 

root

373,271
test

 

21,016
admin

 

19,874
Admin

 

16,497
nproc

 

11,300
guest

 

9,689
sa

 

5,825
user

 

5,482
ubuntu

 

2,574
postgres

 

1,979
oracle

 

1,945
git

 

1,410
support

 

1,403
ftpuser

 

1,170
nagios

 

910
student

 

874
mysql

 

838
sh

 

798
enable

 

732
deploy

 

714

ja suosituimmat salasanat (älä käytä näitä):

admin

 

65,186
root

 

25,054
123456

 

20,342
password

 

17,920
Admin

 

16,299
test

 

16,051
nproc

 

11,297
guest

 

8,946
123

 

4,297
12345

 

3,300
1234

 

2,955
12345678

 

2,790
password123

 

2,023
1

 

1,836

 

1,746
qwerty

 

1,135
1qaz2wsx

 

1,025
123123

 

1,012
aqweasdfgfdgfdh

 

984
1q2w3e4r

 

976

Ja (huonoja) yhdistelmiä:

Älä siis koskaan salli näin helppojen yhdistelmien käyttöä palveluissa.

Ikävä kyllä oletusportit ja oletustunnukset eivät ole ainoa tapa, jolla hyökkääjät pääsevät sisälle. Tietomurtoja tehdään myös paikkaamattomien haavoittuvuuksien kautta.

Mitkä haavoittuvuudet ovat olleet hyökkääjien suosiossa?

Suricatan kautta saamme tietoon koitetut tekniikat:

Uusimmista haavoittuvuuksista ajurihaava: https://www.cvedetails.com/cve/CVE-2019-12263 ja MikroTikin reititinhaava: https://www.cvedetails.com/cve/CVE-2018-14847/ ovat hyvin käytettyjä.

Siis päivitä palvelut!

CVE-2006-2369

 

1,135,243
CVE-2001-0540

 

557,646
CAN-2001-0540

 

10,650
CVE-2012-0152

 

2,968
CVE-2018-14847 CVE-2018-14847

 

1,169
CVE-2002-0013 CVE-2002-0012

 

1,134
CVE-2002-0013 CVE-2002-0012 CVE-1999-0517

 

974
CVE-2001-0414

 

566
CVE-2019-12263 CVE-2019-12261 CVE-2019-12260 CVE-2019-12255

 

524
CVE-2005-4050

 

117

Hyökkäyksen tunnusmerkit

T-Potin Suricata listaa myös tunnisteet haavoittuvuuksille suosituissa protokollissa (aseta nämä päälle PfSensen Suricatassa):

GPL POLICY VNC server response
2,554,465
ET EXPLOIT VNC Server Not Requiring Authentication (case 2)
921,652
ET POLICY VNC Authentication Failure
921,337
SURICATA STREAM reassembly sequence GAP — missing packet(s) 
853,964
ET SCAN MS Terminal Server Traffic on Non-standard Port
566,684
ET POLICY RDP connection request
315,459
GPL POLICY MS Remote Desktop Request RDP
315,162
ET POLICY RDP connection confirm
287,640
ET POLICY SSH session in progress on Expected Port
207,124
ET EXPLOIT [PTsecurity] DoublePulsar Backdoor installation communication
198,136

ja SSH-komennot joita hyökkääjät suosivat, yleensä varmentaakseen että ovat päässeet sisälle ja tietääkseen missä ovat:

uname -a

 

11,965
cat /proc/cpuinfo | grep name | wc -l

 

11,627
cat /proc/cpuinfo | grep name | head -n 1 | awk ‘{print $4,$5,$6,$7,$8,$9;}’

 

11,625
free -m | grep Mem | awk ‘{print $2 ,$3, $4, $5, $6, $7}’

 

11,623
w

 

11,621
crontab -l

 

11,619
cat /proc/cpuinfo | grep model | grep name | wc -l

 

11,618
which ls

 

11,618
ls -lh $(which ls)

 

11,617
uname -m

 

11,617

Miksi?

Syitä koittaa saada palvelu haltuunsa on lukuisia, aina roskapostittamisesta uusien hyökkäysten tekemiseen. T-Potin kautta saadaan kuitenkin myös tietoa katsomalla latauksia. Tietoturvasyistä en laita tarkemmin tietoa mistä erilaisia paketteja on koitettu ladata. Eräs kiinnostava tieto ovat ladattavien pakettien nimet: dota.tar.gz. Nämä viittaavat erilaisiin virtuaalivaluuttojen louhintaohjelmiin.

Hyökkääjien yksi motivaatio onkin tehdä rahaa valjastamalla palvelimet louhintaan. Näiden hyökkäysten määrä nousee aina virtuaalivaluuttojen kurssin noustessa ja ennakoi myös erilaisia selainhaitakkeita.

Loppusanat

Tämä projekti oli hieman pidempi, mutta tuotti paljon tietoa hyökkääjistä ja käytetyistä tekniikoista.

Kulut olivat:

  • Lokakuu: $ 31,80
  • Marraskuu:$ 108,34
  • Joulukuu: $139,53
  • Tammikuu $ 39,38

Yhteensä siis: $ 319,05, joka meni kokonaisuudessaan Google Cloudin Trialin ja erilaisten alennusten alle. Suosittelen kokeilemaan, samalla tuli opittua paljon palveluiden monitoroinnista ja hinnan muodostumisesta julkipilvessä.

https://cloud.google.com/free

Todettakoon että seuraavan Honeypotin toteuttaisin dedikoidulla raudalla ja hieman rajatumpana omaan verkkoon DMZ:lle, sisältäen Cowrien, Dionean ja muutaman muun palvelun.

Itselleni tietojen valuminen uhkakantoihin oli hieno osoitus siitä, miten hunajapurkkien verkostolla saadaan aikaan nopea suojaus mainetietokantojen kautta. Lisäksi tiedoilla voidaan visualisoida hyvin esim IT-alan opiskelijoille miksi päivittäminen ja tietoturva on keskeinen osa palveluntuotantoa ja kodin tietoturvaa. Usein hyökkäykset ovat abstrakteja ja niiden ajatellaan kohdentuvan vain “kiinnostaviin tahoihin”. Näin ei ole, vaan kaikki mikä on verkkoon kytkettynä ja näkyvillä, on myös hyökkäyksen kohteena automaattisesti.

Tässä vielä muistilista suojaukseen (* merkityt edistyneille):

  • *Vaihda oletusportit toisiin
  • Salli ulospäin vain tarpeelliset (*ja oletusarvoista muihin vaihdetut) portit palomuurissasi
  • *Suodata liikenne maarajauksilla / mainetietokantoja käyttäen
  • Vaihda oletuksena olevat *käyttäjätunnukset ja salasanat toisiin
  • Päivitä palvelut ja palomuurin / reitittimen ohjelmisto aina kun mahdollista
  • *Pidä yllä hyökkäystunnisteita

 

 

BTB Projekti: T-Pot hunajapurkki

Johdanto

Eikö olisi kiinnostavaa katsella kuinka palveluihin koitetaan murtautua ja mitä haavoittuvuuksia milloinkin koitetaan käyttää hyväksi? Honeypottien, eli hunajapurkkien avulla tämä on mahdollista turvallisesti. Niiden sisältämät palvelut näyttävät oikeilta, mutta eivät päästä hyökkäjää eteenpäin ja antavat samalla puolustautujalle lisätietoa mistä osoitteista ja millä tekniikoilla palveluihin koitetaan päästä käsiksi.

  • Tavoite: Havainnoillistaa palveluihin kohdistuvat hyökkäykset ja antaa tietoa puolustautujalle
  • Vaikeus: Helppo
  • Aika: 30 min
  • Hinta: 0- 1 € / vrk (riippuen käytetäänkö pilviratkaisua vai omia laitteita)

 

T-Pot

T-Pot on itseasiassa kokoelma hunajapurkkeja, jotka simuloivat erilaisia yleisiä palveluita ja portteja. Kokoelma asentuu automaattisesti sisältäen kaikki datan ja lokien keräykseen ja visualisointiin tarvittavat palvelut. Lisäksi se lähettää telemetria-tietoa automaattisesti eteenpäin, tarjoten siten yleishyödyllistä tilannekuvaa tietoturvasta: https://sicherheitstacho.eu/ Lisäksi saadun tiedon voi ohjata omiin lokeihin tai palveluihin näin halutessaan. Projektina sen käyttöönotto on helppo ja palkitseva.

https://github.com/telekom-security/tpotce

Asennus

T-Potin voi asentaa joko pilveen tai omalle laitteelle. On huomattava että hunajapurkille pitää sallia kaikki liikenne kaikkiin portteihin, jotta sitä vastaan saataisiin maksimaalinen hyökkäyskiinnostus. Tällöin oman verkon DMZ on tarpeen.

Julkipilvestä tulee kustannuksia, mutta esim Googlen pilvi-palvelut tarjoavat tällä hetkellä 300 € kokeilurahaa. Siksi se oli luonteva valinta päästä heti käsiksi tietoon turvallisesti.

Asennus kestää noin puolisen tuntia ja Cyber-99 tarjoaa tähän hyvät ohjeet:

T-Pot Honeypot Framework Installation

Näitä seuraamalla T-Pot asentuu Google Cloudiin ja saat näkyvyyden hyökkäyksiin.

Päivitys:
1. Kannattaa ottaa suositellun virtuaalikoneen sijaan seuraava, tehokkaampi malli. Suorituskyky loppuu ja kone kaatuu usein.

2. Asenna monitorointi ohjeiden mukaan: https://cloud.google.com/monitoring/quickstart-lamp (ei Apachea)

3. Laita health check hälyttämään koneen toiminnasta ja harkitse uptimerobot.com hälytystä myös

Tulokset

Sisäänkirjautumisen jälkeen Kibanan kautta saat pääsyn valmiiksi luotuihin visualisointeihin.

Jo viidentoista minuutin aikana näkee miten paljon hyökkäyksiä tehdään tätä julkista osoitetta vastaan.

Voit nähdä läpi erilaisten hunajapurkkien millaisia salasanoja palveluihin koitetaan. Luonnollisesti kannattaa varmistaa ettei näitä missään nimessä käytetä,

Vastaavasti myöskin tietyt käyttäjätunnukset kannattaa poistaa tai laittaa automaattisesti blokkaamaan kirjautujan IP-osoite.

Suricatan tunnisteiden kautta näkee mitkä tekniikat ovat tällä hetkellä hyökkääjien suosiossa.

Myös shell komennot tallennetaan automaattisesti.

Kaikkiaan voi todeta että saadut tiedot tukevat hyvin puolustautujan tiedonsaantia.

Kohdatut ongelmat

Kirjautuminen ei varsinaisesti toimi kuin asennuskuvauksessa, vaikka virtuaalikoneelle tekee oman tilin. Tästä huolimatta tietoihin kuitenkin pääsee käsiksi Kibanan kautta. Lisäksi ilmeisesti hyökkäysvoluumista johtuen saattaa kone kipata nurin, jos jokin innostuu kokeilemaan reippaammin bruteforcea. Tällöin virtuaalikoneen voi resetoida Google cloudin kautta ja muutaman minuutin päästä kaikki toimii taas normaalisti.

Loppusanat

Jo muutaman päivän pikakokeilulla T-Pot osoittaa tarjoavansa hyödyllistä tietoa. Muutamia kehitysajatuksia:

  • Rajoittaa pääsy hyökkääjälle vain tietyn kanavan kautta
  • Automaattisesti siirtää IP, salasana ja käyttäjänimitieto ajastetusti toiselle palvelimelle
  • Ajastaa uudelleenkäynnistys
  • Siirtyä omalle koneelle ja DMZ:lle

Kokeile ihmeessä!