7. Oma moduuli – Nqinx virtual host.

Tämä raportti on viimeinen osa Tero Karvisen k2020 Palvelinten Hallinta-kurssia. Loppuharjoituksena tein oman moduulin, jossa asennan saltilla minion-koneelle Nqinx-webpalvelimen ja sille virtuaalihostin. Tämän harjoituksen laitteistona on kaksi Ubuntu 18.04-virtuaalikonetta.

Olin aiemmassa raportissani 5. Muotteja ja moduuleja asentanut Nqinx-palvelimen käsin ja laittanut muokannut käyttäjän kotisivuja. Nyt asensin ensin palvelimen käsin ja loin palvelimelle hostin markus.lan.

Loin hostille public_html-kansion ja annoin käyttäjälle muokkausoikeudet. Seuraavaksi loin index.html-tiedoston kansioon:

  • sudo apt-get install nginx
  • sudo mkdir -p /var/www/html/markus.lan/public_html
  • sudo chown -R $USER:$USER /var/www/html/markus.lan/public_html
  • sudo chown -R $USER:$USER /var/www/html/saikkonen.lan/public_html
  • sudo chmod -R 755 /var/www/html/
  • nano /var/www/html/markus.lan/public_html/index.html

Kirjoitin sisällöt index.html-tiedostoihin

Seuraavaksi säädin conf-tiedostot kuntoon. Kopioin /etc/nginx/sites-available/default-tiedoston markus.lan.conf-tiedostoksi. Tämän jälkeen muokkasin tiedostoja.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/markus.lan.conf

Muutin asetuksia conf-tiedostossa:

sudoedit /etc/nginx/sites-available/markus.lan.conf

markus.lan

Huomioitavaa, että poistin default_server-kohdan toisesta conf-tiedostosta, koska se on jo käytössä toisella blockilla. Tämän jälkeen lisäsin markus.lan /etc/hosts-tiedostoon.

Kokeilin selaimella tuloksia. Onnistui!

Aika automatisoida Nginx-palvelin ja virtuaalihost puhtaalle Ubuntu-virtuaalikoneelle, jolla palvelee DebianMinion-orja.

Loin suolakansion sudo mkdir /srv/salt/nginx, ja kansioon tiedosto sudoedit init.sls. Kopioin myös conf-tiedoston suolakansioon sudo cp /etc/nginx/sites-available/markus.lan.conf /srv/salt/nqinx

Ajoin tilan sudo state 'DebianMinion' state.apply nginx jokaisen funktion lisäyksen yhteydessä edistymisen helpottamiseksi. Lopulta sain neljän suoran:

Katsoin orjakoneen selaimelta tuloksen ja oikealta näyttää.


Lähteet:

http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example

https://markussaikkonen.com/2020/05/05/5-muotteja-ja-moduleja/

https://github.com/bougie/salt-nginx-formula

7. Web fuzzing ja muistilappu

Viimeinen raportti Tero Karvisen k2020 Tunkeutumistestauskurssilla. Testaan web fuzzingia ffuf-ohjelmistolla ja teen yhteenvetoa kurssista

a) ffuf ja juice-shop

Maaliksi asensin OWASP Juice Shop-websovelluksen. Asennus vaatii dockerin. Itse sovelluksen asennus tapahtuu komennolla sudo docker pull bkimminich/juice-shop

Tämän jälkeen ajoin sovelluksen sudo docker run -d -p 3000:3000 bkimminich/juice-shop. Juice Shop pyörii localhostilla portilla 3000.

ffuf-web fuzzerin asennusohjeet ovat yksinkertaisemmat. Latasin tiedoston GitHubista, purin tiedoston ja ajoin ohjelman.

Ajoin ffufilla GitHubin ohjeiden mukaan resurssiskannauksen. Kohde antaa helposti false positive tuloksia, jotka ovat muuttujiltaan vakioita.

Nämä tuli filtteröidä pois, jotta saa oikeita tuloksia. Alla testasin false positiivisen tuloksen size-muuttujaa ja sain vastaukseksi 1925.

Ajoin ffufin standardin recource discoveryn ja sain oikeita tuloksia.

./ffuf -c -w /usr/share/dict/wordlist-probable.txt -u http://localhost -H "Host: FUZZ.localhost" -fs 1925

ffufin kanssa täytyy valita sanalistat oikein. Suuren sanalistan läpikäyntiin voi vierähtää tunteja, mutta liian pieni sanalista ei välttämättä anna tuloksia. n. 20 000 sanan listan läpikäyntiin meni hieman <10 min.

b) Muistilappu

Tämän kurssin aikana useimmin hyödyllisimmät ja useimmin käytetyt komennot

Nmap: nmap -A -oA -T4 10.10.10.10

mfconsole: show option, use, run, exploit

cincan: cincan run cincan/<tool>

hashcat: hashcat -a 0 -m 0 /path/to/file /path/to/wordlist

hydra: hydra -L /path/to/file -P /path/to/wordlist/ 10.0.0.0 ssh

John the Ripper: sudo john -format=md5crypt -wordlist /path/to/wordlist /path/to/file

c) Muita viisauksia

Tuomo Kuure: Tshark

sudo tshark -i tun0

Caius Juvonen: Nikto

nikto -h 10.10.10.10

Lähteet:

http://terokarvinen.com/2020/tunkeutumistestaus-kurssi-pentest-course-ict4tn027-3003/

https://owasp.org/www-project-juice-shop/

https://github.com/ffuf/ffuf

6. Salasanat ja ympäristöt

Tämä raportti on tehty osaksi Tero Karvisen k2020 tunkeutumistestauskurssia. Tässä kappaleessa murretaan salasanoja rakennetuissa harjoitusympäristöissä.

a) Salasanojen murtaminen tiivisteistä

Aloitetaan ympäristön luonnista. Tarvitsin tiivistetiedoston, jonka murtaa. Latasin hashes.org-sivulta tiivistelistan, joka käyttää MD5-tiivistefunktiota.

Kokeilin sanalistahyökkäystä. Käytin Kali Linuxin sanalistaa /usr/share/wordlists/rockyou.txt, joka täytyi ensin purkaa sudo gunzip rockyou.txt.gz

hashcat --help on kattava manuaali, joka auttoi parametrien valinnassa. Katsoin manuaalista mitä parametreja kannattaa käyttää MD5-tiivisteeseen.

Parametrit: -a on hyökkäysmuoto. -a 0 = sanakirjahyökkäys. -m on tiivistetyyppi. -m 0 = MD5. Lopuksi komentoon lisätään kohdetiivisteet ja sanalista.

hashcat -a 0 -m 0 ~/Downloads/md5left.txt /usr/share/wordlists/rockyou.txt --force

Hyökkäys meni läpi, mutta yhtäkään tiivistettä ei haettu. Kokeilin toista tapaa ja loin oman yhden (1) MD5-tiivisteen listan.

Kokeilin samaa hyökkäystä uuteen kohteeseen

hashcat -a 0 -m 0 ~/password.txt /usr/share/wordlists/rockyou.txt --force

Sanalistayökkäys mursi MD5-tiivisteen ja palautti puretun salasanan!

Kokeilin samaan tiedostoon brute force-hyökkäystä, joka palautti salasanan lähes välittömästi

b) SSH-palvelimen salasanojen murtaminen

Kokeilin hydraa käyttäjien ssh-salasanojen murtamiseen. Loin tätä varten testikäyttäjiä huonoilla salanoilla.

Listasin käyttäjänimet tiedostoon crack.txt, johon hydra voi hyökätä. Hydraan voi asettaa parametrin -L, joka hakee yhden käyttäjän sijasta käyttäjät annetusta tiedostosta. Vaihdoin sanalistaksi Kalista löytyvän fasttrack.txt.

hydra -L crack.txt -P /usr/share/wordlists/fasttrack.txt 10.0.2.15 ssh

Hydra löysi ja mursi näillä parametreilla kahden testikäyttäjän dummy sekä hydra salasanat.

c) Paikallisia salasanoja sivuttaissiirtymää varten

Murretaan salasanoja jostain paikallisesta koneesta. Olin asentanut kurssilla Metasploitable2-virtuaalikoneen ja ajattelin sen sopivan testimaaliksi.

Avasin ensin takaoven kohdekoneeseen unix/ftp/vsftpd_234_backdoor-moduulilla. Hostiksi kohdekoneen IP-osoite. Tämän jälkeen sain koneen hashit käsiini hashdumpilla.

use post/linux/gather/hashdump

Hashit löytyivät käyttäjän kotihakemiston /.msf4/loot/-kansiosta. Käytin john the ripperillä rockyou-sanalistaa hashien murtamiseksi.

sudo john -format=md5crypt -wordlist *sanalista* *hash-tiedosto*

Sanalistahyökkäys löysi kolme salasanaa! Kokeilin vielä Johnilla default-hyökkäystä, jos löytyisi muita.

sudo john -format=md5crypt -single *hash-tiedosto*

Tämä hyökkäys mursi uudet kolme hashia. John listasi kaikki löydetyt salasanat komennolla sudo john -show *hash-tiedosto*

John löysi kahdella hyökkäyksellä 6 salasanaa 7:stä.

d) Mirai Botnet

Mirai on malware-ohjelma, jonka tunkeutumishyökkäykset kohdistuvat pääasiassa älylaitteisiin kuten televisioihin, jääkaappeihin, turvakameroihin tai muihin laitteisiin, joilla on rajattu Linux-käyttöjärjestelmä. Mirai luottaa, että näissä laitteissa on todennäköisesti voimassaolevat oletussalanat. Haittaohjelma pääsee kirjautumaan näihin laitteisiin ja käyttää niitä kohdistettuun DDoS- eli palvelinestohyökkäykseen.

Paljon lisätietoa Mirain toiminnasta, nykytilanteesta, uhista ja botnet-ohjelmistoista löytyi sivulta Cloudfare.com .

Mirai skannaa kohdelaitteen oman tunnuskirjastonsa avulla. Löysin lähdekoodin GitHubista: https://github.com/jgamblin/Mirai-Source-Code. Scripti scanner.c sisälsi yhden tunnuskirjaston.

Viimeisenä tähän raporttiin kuuluu vielä jonkin uuden ohjelman testaus salasanojen murtamiseen. Joudun työntämään kokeilua toiseen ajankohtaan.


Lähteet:

http://terokarvinen.com/2020/tunkeutumistestaus-kurssi-pentest-course-ict4tn027-3003/

https://linuxconfig.org/ssh-password-testing-with-hydra-on-kali-linux

https://hashes.org/hashlists.php

https://www.openwall.com/john/doc/

https://www.cloudflare.com/learning/ddos/glossary/mirai-botnet/

https://github.com/jgamblin/Mirai-Source-Code

6. Yksi totuus

Tämä raportti on osa Tero Karvisen k2020 Palvelinten hallinta-kurssia. Käsittelen eri Linuxin-levityspakettien hallintaa. Kohteina ovat Debianin Ubuntu sekä RedHatin CentOS-levityspaketit.

a) Asenna jokin toinen Linux-levityspaketti orjaksi Saltille.

Ubuntu-orjani on samalla koneella on sama kuin master-kone. Latasin ja asensin Virtualboxille CentOS 8-levityspaketin uudeksi orjaksi. Säädin virtuaalikoneille yhteyden ensin tekemällä Virtualboxin Host-Network Managerissa uuden Host-adapterin, johon koneet liittyisivät. Tämän jälkeen vaihdoin virtuaalikoneiden Network-asetuksista verkkokiinnitykseksi uuden Host-adapterin.

Lisäsin molemmille koneille vielä NAT-adapterin, jotta virtuaalikoneet näkyvät internettiin. Testastin yhteydet hostiin ping 192.168.37.1 sekä internettiin ping http://www.google.com.

Yhteydet toimivat. Seuraavaksi laitoin orjien asetukset kuntoon virtuaalikoneilla sudoedit /etc/salt/minion. master: *hostname-I*, id: *orjan mini*. Muokkausten jälkeen orjien päivitys

sudo systemctl restart salt-minion.service

Hyväksyin orjat master-koneella sudo salt-key -A

Testasin yhteyden

Hienoa! Nyt orjat kuuntelevat.

b) Tiedot orjakoneista grains.items -avulla

Kysytään orjilta tiedot master-koneella

sudo salt '*' grains.items
DebianSlave vastaus
RedSlave vastaus

c) Päivän viesti (motd), jossa osfinger-muuttuja

Muokkasin aiemmassa raportissani 5. Muotteja ja moduleja tekemääni muottia, jossa muokataan motd-sanomaa. Lisäsin sanoman alkuun rivin, joka hakee tietokoneen käyttöjärjestelmän osfinger-muuttujalla.

sudoedit /etc/srv/salt/templatemotd/motd

Ajetaan tila sudo salt '*' state.apply templatemotd

Katsoin tulokset orjilta

DebianSlave: Ubuntu-18-04
RedSlave: CentOS Linux-8

Orjat hakivat käyttöjärjestelmänsä oikein.

d) tmp/debian, tmp/redhat

Tehdään tila, joka luo Ubuntu-koneelle kansion tmp/debian ja CentOS-koneelle kansion tmp/redhat

Loin masterilla tiedoston sudoedit /srv/salt/saltOS/init.sls. Koikeilin voiko tila hakea os-familyn nimen suoraan grains-muuttujasta.

Loin samaan kansioon osfamily.txt-tiedoston

Ajoin tilan, mutta tila epäonnistui.

Etsin lisää tietoa. Luin Juho Hakalan raportista kuinka kääntää os-perheen nimi grains-muuttujasta. Muutin init.sls tiedostoa:

Ajoin tilan uudelleen onnistuneesti

Kysyin orjakoneilta tulokset. Kansiot luotiin onnistuneesti ja tulos näytti miltä pitääkin.

d) Apachen konfigurointi kahteen järjestelmään

Yksi tila, kaksi asennusta. Loin kansion /srv/salt/apachesalt/ ja tiedostot init.sls sekä index.html

Ajoin tilan sudo salt '*' state.apply apachesalt ja katsoin orjien selaimista tuloksen.


Lähteet:

https://www.virtualbox.org/manual/ch06.html

https://www.centos.org/download/

https://repo.saltstack.com/#rhel

https://jomhak.github.io/ICT4TN022/#h6

http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example

http://terokarvinen.com/2018/simple-secrets-in-salt-pillars

5. Muotteja ja moduleja

Tässä raportissa tutustun tiedostojen ja tilojen luomiseen orjakoneelle masterista käsin. Raportti on osana Tero Karvisen Palvelinten hallinta-kurssia.

Raportin ennakkotietoina aiempi raporttini 1. Hei Maailma, verkon yli ja idempotenssi, jossa tehdään saltstackin asennus ja master-minion yhteyden luonti Xubuntu 18.04 – virtuaalikoneella.

a) Muotilla tiedostonluonti, jossa muuttujan arvoja

Loin oikean tiedostopolun sudo mkdir -p /srv/salt/muotti

Polkuun loin .sls-tiedoston sudoedit init.sls

Täydensin .sls-tiedostoon rivit, jotka viittaavat samaan kansioon luotavaan hellomarkus.txt-tiedostoon.

sudoedit hellomarkus.txt

Lisäsin tiedostoon rivit, jotka noutavat grains-tietoja tietokoneesta. Tässä tapauksessa kokonaismuistin sekä cpu, että gpu yksiköiden määrät.

Ajetaan masterilla tila sudo salt '*' state.apply muotti

Tila ajettiin onnistuneesti.

Lopputulos:

b) Message of the Day

Luodaan Ubuntulle kirjautuessa näytettävä päivän viesti. Testasin aluksi näkymää kirjautumalla:

Uusi kansio mkdir /srv/salt/templatemotd

Loin kansioon init.sls-tiedoston, jonne lisäsin päivän sanan. Käytin aiempia grains-tietoja:

Loin samaan kansioon motd-tiedoston:

Ajoin tilan sudo salt '*' state.apply templatemotd onnistuneesti, jonka jälkeen testasin lopputulosta kirjautumalla:

Uusi päivän sana löytyy nyt perästä.

c) Bash

Muokataan bashia ensin käsin ja sitten saltilla. Tallensin nykyiset bash-asetukset DEFAULT=$PS1, jotta voin vaivatta palata normaaliin myöhemmin.

Muokataan bashia komennolla PS1="[\033[7;32m]\u@\h:\w$ " ja katsotaan tulokset:

Kaikki muuttui vihreäksi. Palataan normaaliin PS1=$DEFAULT

Seuraavaksi teen samat muutokset saltilla. Uusi kansio mkdir /srv/salt/bashtemplate/, jonne tiedosto sudoedit init.sls.

sudoedit /srv/salt/bashtemplate/bashrc

kopioin tiedostoon .bashrc-tiedoston kohteesta /home/*käyttäjä*/.bashrc ja muutin korostettuja rivejä. Ajoin seuraavaksi tilan sudo salt '*' state.apply bashtemplate

Tila ajettiin onnistuneesti ja tarkistin tuloksen uudesta terminaalista. Pääsin takaisin normaaliin kopioimalla alkuperäisen rivin tiedostoon ja ajamalla tilan uudestaan.

d) Nginx

Tehdään saltilla muutoksia Nginx-webpalvelimeen. Asennetaan palvelin ensin käsin, jonka jälkeen automatisoidaan etusivu saltilla.

sudo apt-get install nginx

sudo ufw allow 'Nginx HTTP'

Katsotaan localhost selaimelta

Olen tutustunut Apache2-palvelimeen ja ilokseni huomasin Nginx-palvelimen konfiguroinnin olevan samankaltainen. /etc/nginx/sites-available/default-tiedostosta näin, että Nginx oletussivua voi muokasta tiedostosta /var/www/html/index.html.

Tuttuun tapaan uusi kansio mkdir /srv/salt/nginx. Loin kansioon init.sls-tiedoston.

Loin samaan kansioon index.html-tiedoston: Hello Markus! This is Nginx!

Ajetaan tila ja katsotaan localhostista lopputulos:


Lähteet:

Terokarvinen.com

https://docs.saltstack.com/en/latest/topics/grains/

https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18-04

5. Metasploitable 2

Tässä artikkelissa tunkeudun Metasploitable 2-harjoituskoneeseen. Metasploitable 2 on virtuaalikone, jossa on tarkoituksellisia haavoittuvuuksia, joita voi hyödyntää tunkeutumistestauksessa. Harjoitus on osana Tero Karvisen kevään 2020 Tunkeutumistestauskurssia.

Asensin ja käynnistin harjoituskoneen VirtualBoxilla. Sisäänkirjautuminen tunnuksilla msfadmin-msfadmin.

ifconfig selvittää koneen IP-osoitetiedot. Näen tulosteesta koneen IP-osoitteen, johon kohdistan hyökkäyksen.

Itse tunkeutumiseen käytän Kali Linux-virtuaalikonetta, jonka ajan VirtualBoxilla. Käytän virtuaalikoneiden näkymiä vierekkäin. nmap aloittaa kohdekoneen porttiskannauksen.

Kohdekoneessa on tarkoituksellisesti useita portteja auki ja suojaamattomana.

Ensin kokeilin etäyhteyttä koneeseen. Etäyhteys-kirjautuminen on mahdollinen porteista 512, 513, 514. Komento rlogin -l root *ip-osoite* oli aluksi tulokseton. Metasploit Exploitability Guide kertoo komennon edellytykseksi rsh-clientin asennuksen. Asensin ohjelman sudo apt-get install rsh-client, mutta en päässyt sisään vieläkään. Kokeilujen jälkeen katsoin VirtualBoxista Kali Linux-koneen verkkoasetuksia (Network). Vaihdoin Network Adapterin kiinnityksen Host-Only Adapteriin ja etäyhteys sallittiin. Olin päässyt root-oikeuksilla sisään kohdekoneeseen.

Exploitability Guide näytti myös yksinkertaisen tunkeutumisen ingreslock-nimisestä takaovesta, johon on pääsy portista 1524. Komento telnet *ip-osoite* *portti* avasi etäyhteyden konsoliin.

Toimintoja tunkeutumisen jälkeen

Sisäänpääsyn jälkeen root-oikeuksilla voi tehdä käytännössä mitä vain kohdekoneelle. Esimerksiksi ls avaa hakemiston sisällön, jota voin lisätä, muokata tai poistaa vapaasti.

Esimerkkinä yritin luoda msfadmin-käyttäjän kotihakemistoon you’ve been hacked-nimisen kansion mkdir you've been hacked. Lopputulos oli yllättävän kaoottinen. Kohdekoneen käyttäjän näkökulmasta hälytyskellot soisivat kovaa.

Uusia tekniikoita

Luin O’Reilly Learning-sivustolta lisää Metasploitin käytöstä (Huom! Vaatii lisensoidun laitoksen esim. koulun/työpaikan tunnukset). Kirja Metasploit for Beginners käsitteli työkaluja ja käyttötapoja, joita kokeilin käytännössä. msfconsole avaa metasploit-konsolin Kali Linuxilla.

Transmission Control Protocol

Metasploitilla voit skannata ja nähdä kaikki kohdekoneen avoimet TCP-portit. Moduuli on auxiliary/scanner/portscan/tcp. Avasin moduulin use auxiliary/scanner/portscan/tcp. Moduulissa säädin skannauksen RHOST-asetuksen kohteen IP-osoitteeksi ja kohdistin skannaukseen portteihin 1-1000. Konfiguroinnin jälkeen run.

Skannaus löysi avoimet TCP-portit 21,22,23,25,53,80.

User Datagram Protocol

UDP-skannaus toimii Metasploitilla pitkälti samalla tekniikalla. Moduuli on auxiliary/scanner/discovery/udp_sweep joka avataan use. UDP-skannausta varten konfiguroidaan vain RHOST-osoite kohdeosoitteeksi ja ajetaan skannaus.

Skannaus löysi avoimet UDP-portit 137 ja 111.

File Transfer Protocol

Metasploitilla voi skannata myös FTC-portit, joita tavallisesti käytetään tiedonsiirtoon clientin ja serverin välillä. Avasin moduulin komennolla use auxiliary/scanner/ftp/ftp_version, säädin RHOST-osoitteen ja run.

Metasploit skannasi ja löysi avoimen FTC-portin 21.


Lähteet:

http://terokarvinen.com/2020/tunkeutumistestaus-kurssi-pentest-course-ict4tn027-3003/

https://metasploit.help.rapid7.com/docs/metasploitable-2-exploitability-guide

https://www.offensive-security.com/metasploit-unleashed/using-databases/

4. Modulikimara

Tämä raportti on osa Tero Karvisen k2020 Palvelinten hallinta-kurssia. Tässä harjoituksessa luodaan erilaisia salt-tiloja ja moduleja.

Luon yhteensä 6 erilaista modulia. Kaikki modulit luodaan kansiossa /srv/salt/.

1) Tekstitiedoston hallinta

Aloitin yksinkertaisella tekstitiedoston luonnilla /tmp/-kansioon. Aloitin tiedostonhallinnasta ja tein kansion, jonne sijoittaa tarvittavat tiedostot mkdir textfile

Loin kansioon textfile.sls– ja textfile.txt-tiedostot.

Käynnistin salt-tila sudo salt '*' state.apply textfile ja katsoin luotiinko tiedosto kohdekansioon.

textfile.txt löysi kohteeseensa

2) Käyttäjän hallinta

Haluan luoda uuden käyttäjän saltilla. Tein ensin kansion sudo mkdir adduser

Loin kansioon tiedoston init.sls. KIrjoitin salt-tilan, joka luo käyttäjän john sekä käyttäjän kotihakemiston

Ajoin tilan sudo salt '*' state.apply adduser

Tila ajettiin onnistuneesti. Katsoin oliko uusi käyttäjä luotu kotihakemistoon.

john oli löytänyt paikalle

3) SSH-server

SSH-palvelimen asennus ja asetukset package-file-service-rakenteella. Aloitin pelkällä pakettiasennuksella, koska halusin kopioida config-tiedoston asennuksesta. Loin tiedoston sshd.sls. Tämän jälkeen ajoin tilan sudo salt '*' state.apply sshd

Kopioin asennetun sshd_config-tiedoston salt-kansioon sudo cp /etc/ssh/sshd_config /srv/salt/

Lisäsin sshd.sls-tiedostoon file-service-funktiot

Muokkasin salt-kansiossa sshd_config-tiedoston porttiasetukseksi 8888

Ajoin lopullisen tilan

Testasin kirjautumista omalle hostille ssh -p 8888 markus@192.168.37.5

SSH-palvelin kuunteli porttia 8888 ja yhteys onnistui.

4) Graafisen ohjelman asennus: Audacity

Audacity on avoin audio-ohjelma, joka on asennettavissa suoraan Ubuntun paketinhallinnasta. Ensiksi asensin ohjelman käsin sudo apt-get install audacity.

Uusi kansio sudo mkdir audacity, Lisäsin kansioon init.sls-tiedoston. Tein ensin pelkän pkg.installed-tilan, ajoin tilan sudo salt '*' state.apply audacity ja testasin asentuiko ohjelma.

Ohjelma avautui ja toimi oikein

Conf-tiedosto sijaitsee ~/.audacity-data/audacity.cfg. Kopioin conf-tiedoston sudo cp ~/.audacity-data/audacity.cfg /srv/salt/audacity/.

Kirjoitin package-file rakenteen.

Ajoin tilan

Virhe. Parent directory not present. Tila ei löydä isäntä-tiedostoa audacity.cfg. Yritin muuttaa tiedostoa .txt-muotoon tai siirtää isäntätiedostoa samalla päivittäen init.sls-tiedostoa. Testasin muutoksia ajamalla tilan aina uudelleen. Ongelma ei kuitenkaan ratkennut.

5) Web-selaimen hallinta: Firefox

Ubuntulle on valmiiksi asennettuna Firefox-webselain. Asetustiedosto sijaitsee /etc/firefox/syspref.js. Loin tilan, joka asentaa Firefoxin orjakoneelle sekä muuttaa kotisivun haluamakseni.

Loin suolakansion firefox sekä init.sls-tiedoston. Lisäsin tiedostoon package-file-rakenteen.

Kopioin asetustiedoston suolakansioon sudo cp -r /etc/firefox/syspref.js /srv/salt/firefox/. Kokeilin tiedoston muokkailua ja lopulta lisäsin tiedostoon rivin, joka määrää selaimen aloitussivun.

pref("browser.startup.homepage", "http://www.terokarvinen.com");

Avasin selaimen orjakoneella ja kotisivu oli muuttunut haluamakseni http://www.terokarvinen.com/. Muutos näkyi myös Firefoxin graafisessa asetusvalikossa.

6) Package-File-Service: Sysstat

Olin aiemmassa Linux-palvelimet-kurssini raportissa Prosessinhallinta ja kuormitus asentanut käsin sysstat-monitorointityökalun. Nyt halusin asentaa ohjelman package-file-service-rakenteella ja tehdä asetukset saltilla.

Aloitin paketin asennuksesta. Tein uuden kansion mkdir sysstat. Lisäsin kansioon init.sls-tiedoston, jonne kirjoitin pkg.installed-funktion. Tämän jälkeen ajoin tilan sudo salt '*' state.apply sysstat

Tiesin, että sysstat-konfiguroidaan /etc/default/sysstat-tiedostossa. Kopioin luodun tiedoston salt-hakemistoon sudo cp /etc/default/sysstat /srv/salt/sysstat/

Sysstat laitetaan toimimaan muuttamalla asetustiedostosta ENABLED=”true”.

Lisäsin init.sls-tiedostoon file.managed-funktion, joka hakee mastertiedoston ja yhdistää sen orjan asetustiedostoon.

Ajoin taas tilan sudo salt '*' state.apply sysstat

Virhe: sysstat-tiedostomuoto vaikeuttaa asioita. Muutin tiedoston teksitiedostoksi sudo mv sysstat sysstat.txt

Ajoin tilan uudestaan

Asetus oli muuttunut kohdetiedostossa. Seuraavaksi sysstat täytyi käynnistää. Lisäsin vielä init.sls-tiedostoon service.running-funktion

Ajoin jälleen tilan

Testataan asennus. Kysyin sysstatilta CPU:n statuksen.

Sysstat toimii oikein!


Lähteet:

http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example

http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port

https://docs.saltstack.com/en/master/ref/states/all/salt.states.user.html

https://manual.audacityteam.org/man/preferences.html#portable

http://terokarvinen.com/2016/firefox-system-wide-settings-etcfirefoxsyspref-js

4. CinCan

Viikolla 14. Kimmo Linnavuo Traficomilta esitteli CinCan-ohjelmistoa, jota käytetään työkaluna malware-analyysissa. Tässä raportissa käsittelen esityksen mielenkiintoisia kohtia muistinvaraisesti.

CinCan – Continuous Integration for the Collaborative Analysis of Incidents – on JAMK:in sekä Oulun yliopiston toteuttama, EU:n rahoittama cyberturvallisuusprojekti, jonka tavoite on tarjota käyttäjätasolle työvälineitä tietoturvan parantamiseksi. CinCan-ohjelmisto on saatavilla Gitlabissa jonka kautta pääsin kokeilemaan uutta ohjelmistoa omin käsin.

Ohjelmisto asennetaan dockerilla. Asennusten jälkeen komennolla cincan list käyttäjä näkee käytettävissä olevat työkalut.

Linnavuo oli valmistellut kohteita, joihin käyttää työkaluja. Pääsimme nopeasti testaamaan ohjelmistoa käytönnössä. Kohteita oli haittaohjelmat sekä huijaus-sähköpostit, joita purettiin työkaluilla ja analysoitiin niiden sisältöä. Pitkäaikaisena tavoitteena on vastaavien ohjelmien ja viestien ennaltaehkäisy ja mahdollisten tekijöiden kiinni saaminen.

Oma käyttökoneeni on Lenovo Ideapad 320s 4GB RAM-muistilla. Tämä muistimäärä alitti ohjelmiston käyttösuositukset josta seurasi ongelmia työkalujen testausvaiheessa. Työkalujen ajaminen sai tietokoneen hidastumaan, kunnes uudelleenkäynnistys tuli tarpeeseen. Päivitän tietokoneeseeni lisää muistia, jotta pääsen asiallisesti testaamaan ohjelmistoa.


Lähteet:

http://terokarvinen.com/2020/tunkeutumistestaus-kurssi-pentest-course-ict4tn027-3003/

https://cincan.io/

https://gitlab.com/CinCan/tools/

3. Social Engineering

a) Viikolla 16 Tero Karvisen tunkeutumistestauskurssilla vieraili Riku Juurikko kertomassa sosiaalisesta vaikuttamisesta tietomurron välineenä.

Juurikko esitteli tehokkaiksi osoitettuja sosiaalisen vaikuttamisen teorioita sekä menetelmiä, joista yksi on kohteen päätöksentekoprosessien ohittaminen hyödyntämällä yleisiä sosiaalisia periaatteita sekä normeja. Tätä yleisesti kutsutaan myös manipuloinniksi.

Henkilökohteen manipulointi tarkoittaa vaikuttamista kohteen motiiveihin ja niistä seuraaviin päätöksiin ja tekoihin. Tehokkaimmat vaikuttamiskeinot jäävät kokonaan kohteelta huomaamatta. Nämä keinot vetoavat henkilön sosiaaliseen käyttäytymiseen sekä omiin moraaleihin, kuten vastavuoroisuuteen; “Minulle avattiin ovi, minä vuorostani avaan hänelle oven.” Parhaimmillaan vastavuoroisuuden hyödyntäminen varomattomaan henkilöön voi ohittaa kaikki tunkeutumiskohteen pääsyesteet sekä turvaluokitukset.

Henkilöön vaikuttaminen on tehokkainta, kun henkilö lukee sinut kaltaisekseen tai jopa auktoriteetiksi. Epäsuoria vaikutusmenetelmiä ovat samanlainen pukeutuminen, tyyli ja tavat. Myös oikean nimen mainitseminen tai kiirellisyyden painottaminen voi ohittaa monia päätöksentekoprosesseja kohteessa. Tunkeutujalla on monia sosiaalisia välineitä käsissään toteuttaessaan tietomurtoa kohteeseen, jossa henkilöstö on heikoin lenkki.

b) Hacktheboxin yhdistämisessä tuli vaikeuksia. Nmap ei onnistunut. Katson tätä vielä toisella kerralla.

Hackthebox access
Ovpn
Yhteydenottoyrityksiä

Lisäyksiä 18.5.

b) Hacktheboxin koneen skannaus

Porttiskannasin onnistuneesti Hacktheboxin koneen 10.10.10.181

nmap -A -oA ./-T4 10.10.10.181

Skannaus löysi koneesta SSH- ja Apache-palvelimen. Etsin lisätietoa Nikto-ohjelmalla

nikto -h 10.10.10.181

Näin tuloksista, että ainakin Apache-palvelin oli vanhentunut. Suurempia tietoturva-aukkoja on X-Frame-Options header puuttuminen, joka ohjaa web-selainta hyökkäyksen alla. Myös X-XSS-Protection Manager ja X-Content-Type-Options-headerit puuttuvat. Nämä jättävät selaimen haavoittuvaiseksi.


Lähteet:

http://terokarvinen.com/2020/tunkeutumistestaus-kurssi-pentest-course-ict4tn027-3003/

http://terokarvinen.com/2020/social-engineering-with-riku/

https://www.hackthebox.eu

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-XSS-Protection