BTB Projekti: Caldera (BLUE)

Johdanto

Tässä artikkelissa jatkamme Calderan (4.0.0 versio) käyttöä ja kokeilemme mitä sinisen puolen ominaisuuksista löytyy.

  • Tavoite: Tutustua Calderan puolustautujan ominaisuuksiin
  • Vaikeus: Helppo
  • Aika: Alle tunti
  • Hinta: 0 €

Tässä artikkelissa oletuksena on että edellisen artikkelin mukaisesti asennus on tehty ja punaisen puolen käyttö luonnistuu.

Perusajatus

Hyökkäävän puolen toimien ehkäisemiseen tarkoitettu sininen puoli asennetaan samalla tavoin kuin punaisen puolen agentti. Koneella on siis kaksi agenttia yhtäaikaa pyörimässä, joista molemmat pitää onnistua ajamaan Windows Defenderin tai muun AV-softan ohi. Sinisen puolen agentti voi käytännössä joko etsiä jos tapahtuneista toimista jälkiä tai pyrkiä estämään käynnissä oleva hyökkäys. Yhtäaikaiseen toimintaan on tarjolla Gameboard-välilehti jossa molempia agentteja voi valvoa yhtäaikaa.

Kannattaa perehtyä aluksi dokumentaatioon:

Getting started — caldera documentation

Agentin käyttö

Ikävä kyllä testatessa tuli todettua että mahdollisesti johtuen 4.0.0 pre-release versiosta tai muista tekijöistä, agentit tuppasivat hyvin nopeasti menettämään kohdekoneessa henkensä. Tämä oli etenkin selvää sinisen puolen agenttien kanssa, joissa Incident responder oli varsin herkkä lopettamaan toimintonsa. Myös yksi bugiraporttikin tuli tehtyä agentin oletuskonfiguraatioon liittyen (powershell skriptissä group on red, kun pitäisi olla blue).

Tämä siis varoituksen sanaksi niille, jotka haluavat testata hyvin toimintavarmaa softaa. Kannattaa hieman odottaa. 

Kun agentin saa käyntiin luodaan sille operaatio ja profiili samoin kuin punaisella puolella. Lisäksi käytettyyn koneeseen liittyen voi lisätä faktoja siitä mikä on sallittua toimintaa ja mikä ei, esim liittyen avoimiin portteihin. Lisäksi sininen puoli voi automaattisesti kerätä tietoa koneesta. Kohdasta fact sources ja responder löytää oletuksena esim muutamia punaisen puolen oletushakemistoja ja portteja. Niihin voi lisätä omia tunnisteitaan, mikäli haluaa erottaa selvästi omat testit oletustesteistä.

Jos (tai kun) agentin saa pysymään päällä, operaatiota voi seurata reaaliajassa.

 

Pelilauta

Kokeilin erilaisia vaihtoehtoja siihen, miten kaksi agenttia voi samalla koneella toimia ja totesin että parhaan tuloksen antoi aloittaminen punaisella agentilla ja vasta tämän jälkeen sinisen agentin lisääminen peliin, mutta käyttäen eri kansiota kuin punaisen C:/users/public. Tallensin molemmat skriptit notepadiin kohdekoneelle ja ajoin ylläpitäjän oikeuksin powershell-ikkunaa, josta sitten käynnistin agentit. Kuten mainittua, Defenderille piti kertoa että agentille saavat toimia.

Gameboard- välilehdellä valitetaan mikä operaatio on seurannassa kummallekin agentille.

Kuten kuvasta näkyy, molemmille puolille annetaan pisteitä sen mukaan onnistuuko hyökkäys tai sen havaitseminen. Lisäksi ihminen voi raportoida epäilyttävistä prosesseista, joista myös saa pisteet.

Tämä siis teoriassa, ikävä kyllä käytännössä peli tuotti aivan erilaisia lopputuloksia.

Sininen puoli voittaa ylivoimaisesti skannaamalla avoimia portteja, samalla kun punainen puoli kuoli (operaatio jatkuu ilman eläviä agentteja)!

Punainen puoli kerää tietoa esteettä, samalla kun sininen puoli nukkuu (agentti alhaalla).

Incident response puoli ei ikävä kyllä onnistunut vakuuttamaan, vaikka agentteja olisi luonut useamman molemmille puolille. Entäpä threat hunter?

Ikävä kyllä varsin samaan tapaan agenttien yhtäaikainen toiminta tai toimimattomuus ei mahdollistanut testaamista.

 

Loppusanat

Calderan konsepti vaikuttaa kiinnostavalle ja selvästi alustassa on paljon mahdollisuuksia räätälöintiin, mutta ainakin tällä versiolla agenttien pysyvyys asetti haasteita. Nopealla testaamisella ei löytynyt yhdistelmää joka olisi tuottanut hyviä lopputuloksia. Siinä missä punainen agentti saattoi pysyä ylhäällä yksinään useita tunteja, sinisen Sandcatin lisääminen tappoi nopeasti joko molemmat tai toisen. Linux-alustalla olisi mahdollista käyttää kahta erilaista agenttia, joka saattaisi ratkaista ongelman.

Mahdollisesti Kalin kautta tehty manuaalinen testaus ja sininen agentti voisi olla toimiva ratkaisu, mutta testausautomaatio oli se kiinnostavin aspekti Calderan käyttöön.

Koska testaukseen tuli valittua pre-release versio, palaan asiaan myöhemmin kun stabiili versio on julkaistu.

 

BTB Projekti: Caldera (RED)

Johdanto

Tässä artikkelissa tutustumme Calderan käyttöön ja teemme hyökkäyssimulaation kotilabramme laitteita kohtaan eli käytämme punaisen puolen ominaisuuksia.

  • Tavoite: Testata kotilabran laitteiden haavoittuvuuksia ja lokituskykyä
  • Vaikeus: Helppo
  • Aika: Alle tunti – viikko, riippuen innostuksesta
  • Hinta: 0 €

Mikä on Caldera?

“CALDERA™ is a cyber security framework designed to easily run autonomous breach-and-simulation exercises. It can also be used to run manual red-team engagements or automated incident response. CALDERA is built on the MITRE ATT&CK™ framework and is an active research project at MITRE.”

mitre/caldera: Automated Adversary Emulation Platform (github.com)

Caldera (testattu 4.0.0 pre-release) sisältää siis joukon työkaluja ja viitekehyksiä (Mitre, Atomic), joiden avulla voi testata kohteen puolustuskykyä joko punaisen teamin tai sinisen teamin puolella. Sen etuihin kuuluu kyky automatisoida testausta ja mahdollisuus simuloida päätöksentekoa erilaisissa skenaarioissa. Innokkaalle harrastajalle se antaa mahdollisuuden saada palautetta vaikkapa oman kotilabran koneiden suojauksista, realististen hyökkäysten kautta. Toki vaativampia toimenpiteitä kannattaa suorittaa Metasploitin tai Cobalt Striken kautta. Aloitelllaan!

Asennus

Kerrankin asennus on suoraviivaista ja helppoa. Koska kyseessä on hyökkäyspuolen työkalu, valikoituu sen alustaksi kotilabrassa jo olemassaoleva Kali-asennus. Asennukseen löytyy Calderan dokumentaatiosta muutaman rivin ohjeet, jotka suorittamalla Caldera asentuu. Samalla kannattaa myös asentaa go- ohjelmointikielen paketit esim käyttäen ohjetta:

Installing Golang on Kali Linux – Rafe Hart (rafaelhart.com)

Asennuttuaan löytyy Caldera osoittesta localhost:8888. Tarvittavat salasanat löytyvät conf/default.yms, hieman selaamalla alaspäin red/admin.

 

Agentin käyttö

Calderan käyttö perustuu agenttiin, joka uhrikoneella suorittaa erilaisia testejä. Käytössä ovat mm. Mitren Attack tekniikat ja Red Canaryn Atomic testit:

MITRE ATT&CK®

redcanaryco/atomic-red-team: Small and highly portable detection tests based on MITRE’s ATT&CK. (github.com)

Agentti tulee saada aktiiviseksi uhrikoneella, jotta testit voidaan suorittaa. Kyseessä ei siis ole skanneri, joka ulkoapäin testaisi erilaisia asetuksia, vaan kyseessä on hyökkäyssimulaatio, jossa hyökkääjä on jo saanut koneelle jalansijaa. Tyypillisimpiä keinoja tosielämässä ovat mm kalasteluhyökkäykset, vuotaneiden tunnusten käyttö tai koneen valtaaminen nollapäivähaavoittuvuuksien kautta. Keinoja löytyy.

Agentteja on useaa erilaista ja uhrien käyttöjärjestelmiksi voidaan valita Linux/Windows/Mac. Aloitetaan testaamalla Proxmoxiin asennettua Win10-konetta!

Valitaan ensin sopiva agentti.

Valitaan 54ndc47 agentti, asetetaan Proxmoxissa olevan Kalin IP-osoite ja portti 8888 ja Windows järjestelmäksi ja saamme valmiin Powershell-skriptin ajettavaksi.

Koska omassa Proxmox-labrassa ei leikepöytä toimi koneiden välillä, tiedostojakoja ei ole ja muutamia muitakin rajoituksia viestinnälle on, joudutaan skriptin tiedot viemään internetin kautta. Uhrikoneella on yhteys pastebin-palveluun, johon laitamme skriptin tiedot Kalista.Kuinka ollakaan, katoaa tämä skripti heti tallennuksen jälkeen! Automatiikka huolehtii siitä, ettei haitallista koodia levitetä palvelun kautta. Hyvä asia. Kierrämme ongelman anonpasten kautta ja postaamme anonpasten linkin pastebinin kautta (toki tämänkin olisi voinut hoitaa itsehostatun paste-sivun tai Synologyn kautta).

Päivitys: Tai otetaan uhrikoneelta suoraan yhteys Kaliin IP:8888 kautta ja kopioidaan koodi suoraan selaimesta käyttöön…

Saamme koodin koneelle ja huijaamme itsemme ajamaan sen Powershellissä (social engineering).

Puolustukset toimivat heti ja Microsoft Defender estää haitallisen skriptin suorittamisen. Vaihtoehtona on myös sallia ajaminen, jonka teemme ja ajamme skriptin uudestaan.

Toisella kerralla ongelmia ei enää esiinny ja Calderan puolella agentti löytyy. Olemme siis valmiita jatkoon!

Hyökkäys

Calderassa on monipuoliset kyvykkyydet ajaa läpi erilaisia skenaarioita tai testata suoraan yksittäisiä toimia. Kokeilemme tässä molempia.

Adversaries-puolella voi tarkastella kyvykkyyksiä ja räätälöidä tehtäviä toimenpiteitä. Voimme mennä suoraan Operations-välilehteen ja aloittaa Superspy-hyökkääjällä. Tarkoitus on havainnollistaa kykyä kerätä tietoa kohteesta.

Luodaan operaatio ja käynnistetään se. Samalla nähdään reaaliajassa kun tietoa välittyy Calderaan.

Tässä esimerkkinä vaikkapa tieto käytössä olevasta antivirus-ohjelmasta.

Kerätyt tiedot voi lopuksi ladata JSON-muodossa jatkotoimia varten. Mikäli tiedot haluaa PDF-muodossa, voi Debrief-pluginin kautta saada näppärän loppuraportin.

 

Tämän lisäksi voi nopeasti testata tiettyjä tekniikoita tai komentoja Access- pluginin kautta.

Puolustautujan analyysi

Vaikka hyökkääminen onkin hauskaa, on puolustautujan puolella tärkeää myös katsoa miten tekniikat näkyivät uhrin koneella ja millaisia hälytyksiä luotiin. Yleensä suurin yllätys on se, miten vähän tietoa saa perus Windows-koneen logeista. Mikäli sysmon ei ole päällä tai lokitusta ei ole suunniteltu, jää pitkäkin hyökkäys usein ilman mitään jälkiä.

Muutamia skenaarioita:

  • Missä vaiheessa Wazuh / Security Onion saa tiedon hyökkäyksestä?
  • Missä vaiheessa käyttäjä voisi havaita asian?
  • Millaisia uhkia Windows Defender esti? Millainen oli tilanne Defender + VoodooShield yhdistelmällä?
  • Mitä jälkiä koneelle jää? Millaista forensiikkaa voi harrastaa?
  • Mitä Mitren vastatoimista olisi mahdollista ottaa käyttöön? Mikäli tilanne on tämän jälkeen?

Esimerkkinä käytetyssä kampanjassa koitettiin hakea salasanoja Mimikatz.A varianttia käyttäen. Aiheellisesti toiminta estettiin ja käyttäjälle esitettiin asiasta varoitus.

Analyysityökaluja: Velociraptor

Analyysiin sopii esimerkiksi Velociraptor, ilmainen avoimen lähdekoodin työkalu:

Documentation :: Velociraptor – Digging deeper!

Sen avulla voi koota yhteen lokeja ja tietoa isostakin joukosta koneita.

Meillä on epäilys siitä että Powershelliä olisi ajettu kohdekoneella, joten valitaan artifaktaksi Powershell ja katsotaan mitä löytyy.

 

Hyökkäyksen ajankohtaan sopivia shell-komentoja löytyykin. On tietysti mahdollista myös pyyhkiä lokit ja peittää omat jälksensä, joka olisi ollut mahdollista Calderan kautta.

Eräs vastakeino tätä vastaan on tallentaa PowerShellin käyttö paikallisesti ja tämän jälkeen lähettää tiedot edelleen keskitettyyn paikkaan. Tässä esimerkki paikallisista kopioista.

Ajankohtaisesti, myös Log4Shell haavoittuvuudesta voi etsiä tietoja:

Generic.Detection.log4jRCE :: Velociraptor – Digging deeper!

Ohjeet löytyvät esim: Enhanced PowerShell Logging and Sysmon Logs to ElasticSearch and Visualization/Dashboarding using Kibana – Part 1 of Series (malwarenailed.blogspot.com)

Taitava hyökkääjä voi luonnollisesti pyrkiä lamauttamaan kaikki palvelut, jotka lokitietoja lähettävät eteenpäin, mutta tämäkin vaatii hieman tiedustelutietoa taakseen. Tässä ajassa osaava puolustaja kykenee omiin vastatoimiinsa. Ja näin kilpajuoksu jatkuu.

Analyysityökaluja: Thor

Nextronin APT skanneri Thor on varsin vakuuttava työkalu, josta on tarjolla community edition Thor Lite.

THOR Lite – Nextron Systems (nextron-systems.com)

Se toimii hyvin paikallistason analytiikkaan ja löytää myös jälkiä epäilyttävästä toiminnasta. Skannaus on perinpohjainen ja vie jonkinverran aikaa.

 

Loppusanat

Calderan (RED) ominaisuudet ovat hyvät ja varsin monipuoliset simuloimaan hyökkäystä testikoneelle. Parhaan hyödyn ohjelmasta saa kun testaa sen avulla systemaattisesti erilaisia tekniikoita ja harjoittelee niihin varautumista ja lokitusta testikoneella. Proxmoxissa voi ajaa rinnakkain konetta perusasetuksilla ja kovennetuilla asetuksilla, jolloin ero on selvä. Hyökkäyksen jälkeen voi tutkia forensiikkapuolella mitä jälkiä hyökkääjä jätti.

Suosittelen kokeilemaan ohjelmaa!

Seuraavalla kerralla kokeillaan mitä Calderan Blue-ominaisuuksista löytyy.

BTB projekti: Wazuh kotilabraan

Johdanto

Tämä artikkeli on jatkoa BTB-Projektille: Kotilabran palvelut, jossa pystytimme Proxmox- virtualisoinnin Asus PN50 raudan päälle. Nyt jatkamme syventymällä Wazuhin käyttöön!

  • Tavoite: Ottaa Wazuh käyttöön kotiverkon valvontaan
  • Vaikeus: Helppo
  • Aika: Tunteja
  • Hinta: 0 €

Olethan tätä ennen jo asettanut varmuuskopioinnin päälle ja osaat ottaa yhteyden virtuaalikoneillesi joko SSH:lla tai konsolin yli.

Mikä on Wazuh?

Wazuh kuvailee itseään seuraavasti:

“Wazuh is a free, open source and enterprise-ready security monitoring solution for threat detection, integrity monitoring, incident response and compliance.”

Home

Wazuh käyttää ELK-stackiä lokien vastaanottamiseen, käsittelyyn ja hälytysten tekemiseen, agenttien tai ulkoisten lokilähteiden syötteistä. Sitä voidaan pitää sekä SIEM / HIDS että EDR järjestelmänä, joten kotilabraan löytyy paljon kiinnostavaa kokeiltavaa.

Miksi siihen kannattaa siis tutustua?

Alla on erilaisia käyttötapauksia, joista näkee mitä kannattaisi omassa käytössä kokeilla:

Log data analysis File integrity monitoring
Rootkits detection Active response
Configuration assessment System inventory
Vulnerability detection Cloud security monitoring
Containers security monitoring Regulatory compliance

Itseäni kiinnosti eniten haavoittuvuuksien hallinta ja lisäksi tietoturvapoikkeamien havaitseminen eri lokilähteistä.

Asennus

Käytämme asennuksen nopeuttamiseksi suoraan OVA-virtuaalikonetta, joka sisältää sekä Wazuhin että ELK-stäckin valmiiksi konfiguroituna:

https://documentation.wazuh.com/current/virtual-machine/virtual-machine.html

Kuten muistatte ehkä Proxmox-artikkelista, voi ova-muotoisen virtuaalikoneen saada Proxmoxiin pienellä kikkailulla:

Import OVA as Proxmox VM

Omakohtaisesta kokemuksesta voin sanoa että kovalevy tulee ennen ensimmäistä käynnistystä olla ide-muotoisena. Muutoin asennuksessa ei ollut mitään ihmeellistä. Alla näkyvät suhtellisen hyvän suorituskyvyn takaavat asetukset.

Kun kone on valmiina, käynnistyksen jälkeen se vastaa suoraan saamastaan ip-osoitteesta portista 443. Oletussalasana on admin / admin. Mikäli serverille on asiaa, on tunnus root / wazuh.

Pysyvämmässä käytössä nämä tulee vaihtaa, mutta nyt jouduttaisiin myös koskemaan Wazuhin / Elkin asetuksiin, joten jatkamme oletuksilla.

 

Agenttien käyttö

Agenttien avulla saadaan koneista dataa monipuolisesti ja puskuroidusti. Windows-puolella myös XP:t ovat tuettuja, joka avaa jatkoa varten kiinnostavia mahdollisuuksia 🙂

Wazuh -> Agents sivulta saa suoraan komentokehoitteen agenttien asentamiseksi.

Vaihtoehtoinen tapa on luoda ISO-tiedosto, jonka voi Proxmoxin kautta asettaa kohdekoneille saataville CD-aseman kautta. AnyToISo-ohjelmalla voi Wazuh-agentit sisältävästä hakemistosta tehdä ISO-tiedoston.

https://crystalidea.com/anytoiso

Käsin asentamalla ainoa tarvittava tieto on Wazuhin IP-osoite ja tämän jälkeen palvelun käynnistys. Asennetut agentit ottavat yhteyttä Wazuhiin ja muutaman minuutin työn jälkeen tiedonkeräys on jo käynnissä.

Syslog-lokien vastaanotto

Yleisesti käytössä oleva syslog-formaatti mahdollistaa reitittimien, NAS-purkkien ja muiden laitteiden lokien vastaanoton.

Sen vastaanotto tapahtuu Wazuhin ossec-konffista:

How to configure Rsyslog client to send events to Wazuh

Aseta Wazuh-Management-Configuration (Edit configuration). Sitten Save ja Restart Wazuh.

<remote>
  <connection>syslog</connection>
  <port>514</port>
  <protocol>udp</protocol>
  <allowed-ips>192.168.x.x/24</allowed-ips>
  </remote>

Tämän jälkeen aseta halutussa laitteessa syslog-palveluun Wazuhin IP, portti 514 ja muodoksi UDP.

PfSensen Suricata-lokit

Mikäli käytössäsi on PfSense-palomuuri, saa sen Suricatan lokit Wazuhiin seuraavasti:

https://github.com/pfelk/pfelk/wiki/How-To:-Suricata-on-pfSense

Aseta palveluun Wazuhin IP, portti 514 ja muodoksi UDP.

 

Lokitietojen tarkastelu

Wazuhin valikoiden alapuolelta löydät myös Kibanan omat valikot. Valitse sieltä Discovery, jossa näet lokifeedin ja voit tarkastaa että halutut lokit todellakin tulevat perille.

Voit varmistaa että lokit tulevat perille pudottamalla lokien hälytystasoa esim arvolle 1 tai generoimalla hälytyksiä:

https://documentation.wazuh.com/current/user-manual/manager/alert-threshold.html

 

Wazuhin haavoittuvuuksien monitorointi

Erittäin näppärä piirre on Wazuhin kyky tarkkailla asennuksia ja niiden todettuja haavoittuvuuksia. Aseta ensin päälle halutut käyttikset (Windows/Ubuntu/redHat jne):

Using Wazuh for Windows vulnerability detection

Kun agentit ovat tehneet työnsä, muutaman tunnin kuluttua pääset katsomaan millaisia haavoittuvuuksia on löytynyt:

Valitsemalla Explore agent- voit katsoa konekohtaisesti korjauslistaa:

Wazuhin hälytykset

Kohdasta Wazuh – Modules -Security Events näet filtteröidyt ja huomionarvoiset tapahtumat, niin haavoittuvuuksia kuin kirjautumisia koskien. Valitsemalla Events, pääset katsomaan raakadataa.

Filtteröinti ja hakutoimintojen avulla voit rajata ja etsiä vastaavia tapahtumia valitsemaltasi ajanjaksolta.

Hälytyksistä saat myös emailin, asettamalla ossec-konffiin sopivat asetukset:

https://documentation.wazuh.com/current/user-manual/manager/manual-email-report/

(Kannattaa tosin ensin rauhassa tutustua järjestelmään ja rakentaa se tuotantokäyttöön ajatuksen kanssa. Ota varmuuskopiot ja snapshotit merkittävien muutosten jälkeen).

Omat hälytykset ja säännöt

On luultavaa että aivan haluttua hälytystä ei löydy, joten voit rakentaa sääntöjen avulla oman hälytyksen:

https://documentation.wazuh.com/current/user-manual/ruleset/custom.html

 

Loppusanat

Wazuh tarjoaa nopeasti hyvin monipuolisen ratkaisun verkon laitteiden tapahtumien valvontaan. Tutustumalla ohjeisiin voit laajentaa sitä haluttuun suuntaan ja opettelemalla ELK-stackin toimintaa, voit myös rakentaa raportoinnin haluamaasi suuntaan.

Pikaisen käytön jälkeen huomasin että useasta komponentista koostuvassa järjestelmässä kannattaa olla tarkkana päivttämisen kanssa, tuki uusimmille komponenteille ei ilmesty hetkessä kaikkialle. Suosittelen rakentamaan pysyvään käyttöön erilliset ELK ja Wazuh ympäristöt.

Muutaman haastavamman ELK-konffauksen jälkeen piti turvautua Proxmoxin varmuuskopioiden palautukseen ja palata alkuruutuun, mutta tästä lisää seuraavassa artikkelissa jossa tutustutaan T-Potin ja Wazuhin yhteiselämään!

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 ja Cloudflare

Edellisessä postauksessa BTB Projekti: T-Pot hunajapurkki laitoimme toimintaan T-Pot hunajapurkin ja ensimmäisten 15 min aikana saimme jo napattua talteen paljon dataa hyökkääjistä. Entäpä jos haluaisimme hieman rajatumpaa tietoa siitä, kuka ei ole jo valmiiksi tunnistettu pahantahtoinen IP?

Käytämme seuraavassa Cloudflaren palveluita rajoittamaan skannereita, online-palomuurin tavoin. Asetuksella tavoittelemme seuraavaa:

  1. Teemme caliban.fi domainille alidomainin, johon tuleva liikenne (osa siitä) ohjataan Cloudflaren palveluiden kautta
  2. Cloudflarella asetamme palvelun suodattamaan jo tunnettua haittaliikennetta (1. palomuuri)
  3. Kerromme Google Cloudissa että T-Pot saa ottaa vastaan liikennettä vain Cloudflarelta (2. palomuuri), poislukien hallintapuoli johon voi ottaa yhteyttä vapaammin.
  4. Julkaisemme aliodomainin tiedot, jotta hyökkääjät saavat sen tietoonsa ja voivat kokeilla honeypottia.
  5. Meidän pitäisi nyt vähemmän tietoa, mutta se on hieman arvokkaampaa. Nyt tietoja voi käyttää osana hälytyksiä tai omaa suodatusta.

 

Cloudflare

Cloudflare tarjoaa harrastajille ilmaiseksi maksuttomia palveluita, mm dns-hallintaan ja sivuston suojaukseen. Heille tästä on etua, koska heidän varsinainen liiketoimintansa on CDN-palvelut.

https://www.cloudflare.com/plans/

Teemme aluksi Cloudflaren palveluissa alidomainin webstore.caliban.fi, joka ohjataan honeypotin Google Cloud IP-osoitteeseen, proxytettuna. Tämä tarkoittaa sitä että liikenne kiertää Cloudflaren kautta. Toinen vaihtoehto on pelkkä dns-ohjaus, joka on hyvä esim hallintapaneelin osoitteelle.

Huom! Cloudflare ei välitä eteenpäin kaikkia portteja, joten T-Potin mahdollisista porteista 1-64000, vain tietyt toimivat ilman edelleenohjauksia Google Cloudin puolella (https://cloud.google.com/compute/docs/protocol-forwarding).

https://support.cloudflare.com/hc/en-us/articles/200169156-Identifying-network-ports-compatible-with-Cloudflare-s-proxy

HTTP ports supported by Cloudflare:

  • 80
  • 8080
  • 8880
  • 2052
  • 2082
  • 2086
  • 2095

HTTPS ports supported by Cloudflare:

  • 443
  • 2053
  • 2083
  • 2087
  • 2096
  • 8443

Tässä tapauksessa emme tee porttien uudelleenohjauksia heti alkuun, koska olemme kiinnostuneita porteista 80 ja 443. Nämä osuvat Citrix Honeypotin ja Dionean porttiosoitteisiin. Alla näkyvät kaikki T-Potin käyttämät portit.

Cloudflaren puolella voidaan nyt asettaa rajoituksia koko domainin suojaukseen (Firewall->Rules). Oletuksena meillä on jo ollut päällä tietyn tunnistetun riskitason ylittävien IP-osoitteiden automaattinen blokkaus.

 

Lisäksi palvelussa on päällä automaattisia DDoS suojauksia (Firewall- Managed Rules). Näitä säätämällä voidaan saapuvaa liikennettä kuristaa tarpeen mukaan. Samalla nähdään mikä on sopiva taso, jossa normaalit käyttävät vielä pääsevät sisään.

 

 

Googlen puolella meillä on aikaisemmin sallittu kaikki liikenne kaikista porteista. Nyt rajoitetaan sitä vain portteihin 1-64000 koskien, sallien vain proxytetty Cloudflaren liikenne (VPC Network-> Firewall).

Osoitteet löytyvät seuraavasta osoitteesta:

https://www.cloudflare.com/ips/

Lisäksi meidän tulee sallia T-Potin hallintaan portit 64295-64297. Nämä voi joko asettaa sallituksi omaan osoitteeseen tai kaikkialta. T-Potissa voi asettaa omalle tunnukselleen myös monivaiheisen tunnistautumisen, joka suojaa palvelua.

Huomaa että koska Cloudflare ei proxytettuna välitä näitä portteja eteenpäin, joudumme näille tekemään myös oman dns-ohjauksen ilman proxyä tai käyttämään IP-osoitetta hallintaan. Lisäksi pitää muistaa tällöin ettei näihin portteihin liikenne tule Cloudflaren kautta.

Jos olemme nyt onnistuneet, vastaa osoite https://webstore.caliban.fi hyökkääjille. Sivusto vaihtuu uudelleenkäynnistyksen yhteydessä.

 

 

T-Potin puolella puolestaan näkyy nyt paljon vähemmän tapahtumia, mutta nyt ne on suodatettu vastaamaan todellisempaa tilannetta. Koska kaikki liikenne tulee nyt Cloudflaren kautta, ei IP-tiedoilla ole arvoa, mutta käytetyt tekniikat ja kohteet on helpompi nähdä.

Cloudflare näyttää myös jonkinverran tietoa omista suodatuksistaan.

Loppusanat

Rajoittamalla honeypotin liikennettä saadaan hieman siivottua automaattisia skriptejä pois ja tarkennettua honeypotin fokusta. Koska T-Pot on helppo ja nopea asentaa, voi asennuksia tehdä useita ja ajaa samaan aikaan erilaisia konfiguraatioita erilaisia uhkia vastaan. Cloudflaren tapauksessa simuloidaan hyökkäyksiä harrastajan verkkosivustoa kohtaan. Tyypillisesti hyökkääjä näyttää olevan formeja väärinkäyttävä spammeri ja satunnainen oletuskirjautumisten kokeilija.

 

 

 

 

 

 

 

BlueTeamBuilders perustettu!

MITÄ TEHDÄ KUN EI VAAN SAA KYBERTURVASTA TARPEEKSEEN?

No yksi tapa ratkaista asia on koota samanhenkisiä ihmisiä yhteen ja tehdä yhdessä jotain mukavaa ja kiinnostavaa asiaan liittyen. Me Marcus Söderblom ja Jani Räty pistimme pystyyn Blue Team Builders kollektiivin (BTB), jossa keskitytään mm. erilaisten mielenkiintoisten tietoturvaprojektien rakenteluun.Tarkoituksena on koota samanmielisiä ihmisiä yhteen, joita myös kiinnostaa rakentaa IT-järjestelmiä ja jakaa ajatuksiaan omista rakenteluprojekteistaan muille. Freeware ja Open Source (FOSS) sekä tietoturva ovat BTB:n toiminnassa vahvasti läsnä. Tulemme järjestämään tapaamisia silloin tällöin, joiden tavoitteena esitellä yksi monista vaihtoehtoisista tavoista, miten jokin FOSS-ratkaisu voidaan kotiympäristöön toteuttaa. Liian vakavia stagella pönöttäviä asiantuntijoita emme aio olla, vaan kyseessä on ensisijaisesti harrastustoimintaa ja tapoja toteuttaa jokin rakenteluprojekti voi olla useita. Lisäksi kirjoittelemme satunnaisesti asiaan liittyviä artikkeleita BTB:n LinkedIn-sivuille.

Jos koet, että olet samanhenkinen “nikkaroija” ja olet jo ehkä rakentanutkin jonkin mielenkiintoisen FOSS-järjestelmän ja haluaisit tulla kertomaan muille kuinka sen teit, niin ota yhteyttä (info@blueteambuilders.fi).

Blue Team Builders on sopiva foorumi juuri sinulle! Toki mukaan saa tulla ihan vain kuuntelemaan ja jakamaan ajatuksia.

Kunhan koronapandemia tästä hiipuu, niin ensimmäinen tapaaminen tullaan järjestämään mahdollisimman pian. Tapaamisissa pyritään esittelemään 1-3 mielenkiintoista FOSS-projektia, toisinaan myös virvokkeiden kera, jos mahdollinen sponsorointi sen vaan sallii.

Nähdään kyberturvallisen IT-nikkaroinnin merkeissä! Jaetaan tietoa ja opitaan yhdessä lisää. 🙂

Terveisin,
Blue Team Builders