Patrik Sulander
a) Palauta kaikki. Laita tähän a-kohtaan linkki jokaiseen kotitehtäväraporttiisi.
c) Tee 5 tiivistettä eri ohjelmilla ja arvaa ne hashcatilla.
- Itsellä jäi vielä hashcat esimerkiksi hieman hämäräksi, niin aluksi selasin hashcat helppiä, sekä hashcat tutorial -sivustoa.
- Päädyin hashcat -h :stä valitsemaan hash modeiksi MD5 (0), SHA1 (100), NTLM (1000), SHA-512 (1700) ja MD4 (900)
- Sulkujen sisällä on tiivisteiden numerot, joita tarvitsemme hashcatin syntaxiin, jotta voimme arvailla niitä hashcatilla.
- Ensimmäiseksi loin MD5 -tiivisteen salasanalle “Password”
- sudo echo -n “Password” | md5sum | tr -d ” -” >> kohdetiiviste1.txt
- -n (poistaa uuden rivin, emme halua tyhjiä rivejä tiivistää), tr -d (poistaa tulosteesta kaikki välilyönnit tai väliviivat)
- tarkistetaan vielä, että MD5 -tiiviste on luotu –> cat kohdetiiviste1.txt

- Tässä kohtaa poistin vielä tuon kohdetiiviste1.txt ja loin uuden salasanalla “qwerty”, jotta voin käyttää /usr/share/wordlists/fasttrack.txt -sanalistaa.
- Ajetaan hashcat kohteeseen–>
- hashcat -m 0 -a 0 -o arvuuttelu.txt kohdetiiviste1.txt /usr/share/wordlists/fasttrack.txt
- -m (määrittelee hash moden/tyypin), -a (määrittelee sanalista hyökkäyksen), -o (tulostaa tuloksen),
- En oikein ymmärrä, miksei tulosta näytetä suoraan, mutta kun menemme katsomaan meidän arvuuttelu.txt (johon tulostimme tuloksen) näämme sieltä oikean salasanan ihan selväkielisenä.

- Seuraavaksi loin SHA1 -tiivisteen komennolla
- sudo echo -n “football” | sha1sum | tr -d ” -” >> kohdetiiviste2.txt
- Eli tällä kertaa salasanaksi football ja loin uuden kohdetiiviste -tiedoston kyseiselle tiivisteelle.
- Ajoin taas hashcatin
- hashcat -m 100 -a 0 -o arvuuttelu.txt kohdetiiviste2.txt /usr/share/wordlists/fasttrack.txt
- Jossa siis tuo -m 100, määrittelee tiivistetyypiksi tuon SHA1
- Unohdin aluksi tuon sanalistan laittamisen komentoon… Ei löytynyt tuloksia, mutta sen lisäyksen jälkeen löytyi erittäin nopeasti.

kesken…
d) Kokeile hydraa johonkin uuteen maaliin.
- Tällä kertaa maaliksi valitsin metasploitable 2:n (tunnilla tein testin kalilla ja ubuntulla)
- Ensiksi kiinnitin molempiin virtuaalikoneisiin “host-only” Adapterin verkkoasetuksista.
- Pingillä varmistin, että yhteys koneiden välillä on kunnossa.
- Seuraavaksi skannasin metasploitable 2 koneen –>
- nmap -sV -sC –top-ports 50 192.168.56.102

- Sieltä löytyi paljon kaikkea niinkuin viimeksikin, mutta päätin nyt kokeilla käyttää tuota ftp -palvelua (file transfer protocol).
- hydra -help:llä löysin esimerkeistä komennon, jota halusin kokeilla.
- Loin kayttajat.txt ja salasanat.txt -tiedostot johon kirjoittelin muutamat random salasanat ja käyttäjänimet plus msfadmin.
- Ajoin komennon –>
- hydra -L kayttajat.txt -P salasanat.txt fpt://192.168.56.102
- Hydra onnistui löytymään kohdekoneen käyttäjänimen ja salasanan.

- Varmistetaan asia kirjautumalla sisään komennoilla –>
- ftp
- open (ip-osoite)
- käyttäjänimi ja salasana
- =

e) Kokeile hydraa omaan weppilomakkeeseen.
- Päätin kokeilla hydraa Juice Shop -harjoitusmaaliin.
- Ensiksi oli hieman tekemistä Dockerin asentamisessa. Lopulta onnistuin tämän sivun avulla, elikkä:
- sudo apt-get update
- sudo apt-get install -y docker.io
- sudo systemctl enable docker –now
- docker
- Seuraavaksi halusin lataa Juice-shopin kontin ja ajaa sen.
- docker pull bkimminich/juice-shop
- docker run–rm -p 3000:3000 bkimminich/juice-shop
- Kävin katsomassa, että webbisivusto toimii osoitteella –>
- http://localhost:3000

- Jes, sitten hydrakokeiluun.
- Eli tutkailin ensiksi hieman sivustoa ja etsin lomaketta. Se löytyikin sivulta –> http://localhost:3000/#/login

- Ensiksi tiedustelin vielä hieman lisää, testasin lomaketta yrittämällä perus admin, admin -tunnuksia ja selasin F12:lla network -välilehdestä post requestia. Otin nyt ainakin polun kohteeseen ylös = Request url: http://localhost:3000/rest/user/login ja seuraavaksi päätin hieman tutustua tarkemmin hydraan ja sen käyttöön kyseisessä tehtävässä.

- Hydra -h komennolla metsästin “supported services” -välilehdeltä http[s]-{get|post}-form palvelun. Uskon, että tätä http(s, jos https palvelu 443)-post-form me haluamme käyttää tähän meidän kohteeseemme.
- Olin hieman hukassa, enkä itsekkään tiennyt mitä olen vailla. Pienen googlailusession jälkeen löysin brute-force esimerkin hydralla ja tämän sivuston jotka liittyivät aiheeseen. Yritin ottaa kyseisistä artikkeleista hieman suuntaa meidän tehtävään. Seuraavaksi nappasin tuon saman meidän tarkastelemamme POST -requestin “Bodyn” klikkaamalla ensiksi Edit and Resend –> {“email”:”admin”,”password”:”admin”}

- Nyt yritin rakentaa toimivaa komentoa. Tämä oli ehkä hieman epätoivoista, koska emmehän me edes tiedä onko admin -käyttäjää olemassa.
- hydra -l admin -P /usr/share/wordlists/rockyou.txt 127.0.0.1 -s 3000 http-post-form “/localhost:3000/rest/user/login:email:admin,password:^PASS^
- Parametrit: -l (yksittäinen käyttäjänimi), -P (salasana lista), -s (portti)
- Tämä tehtävä jäi nyt plörinäksi. Jotenkin todella vaikea sisäistää tuota rakennetta ja käyttää sitä hyödyksi.
f) Tee oma sanalista itse tekemästäsi ja keksimästäsi weppisivusta.
- Loin aluksi apache -palvelimen Kali koneelle.
- Muokkasin sivustot aikaisemmin tekemääni Salibandy -aiheiseen sisältöön.
- sudo vim /var/www/html/index.html

- ajan cewlin seuraavaksi –>
cewl -c -w sanalista.txt localhost - -c (laskee kuinka monta kertaa sana esiintyy sivustolla), -w (tulostaa tiedot tiedostoon)
- Sanalista saatiin luotua onnistuneesti.

g) Murra jonkin tiedoston salajanasuojaus.
- En löytänyt hirveästi tietoja zip2johnista, mutta olin käyttänyt kolmannessa läksyssä johnia, niin sen avulla purin tiivisteen. Apua zip2johnin käytössä katsoin täältä.
- Loin ensiksi salatutelamat.txt -tiedoston.
- sudo apt-get install zip unzip
- Loin testi.zip -tiedoston, jonka suojasin salasanalla password123 –> zip -e testi.zip salatutelamat.txt
- -e = encryption

- sudo zip2john testi.zip > testitiiviste
- cat testitiiviste

- Loin “wordlistan” salasanoja.txt, mihin sijoitin oikean salasanan. (password123)
- Puretaan tiiviste –> John -wordlist=/usr/share/wordlists/salasanoja.txt testitiiviste
- Tiiviste saatiin purettua onnistuneesti.

h) Joukkoäly – silmäile muiden kotitehtäväraportit, kerää lista parhaita komentoja ja havaintoja. Muista merkitä lähteet. Näin saat oman tiivistelmän parhaista tunkeutumistekniikoista.
Nikto, webbipalveluiden haavoittuvuuksien etsintään tarkoitettu työkalu.
Lähde: https://github.com/samuli-salonen/-Tunkeutumistestaus-ict4tn027-3006-ti-2020s/blob/main/h4.md
SMBrute, vaikuttaa hyvältä työkalulta juuri Samba-palvelimien tiedusteluun.
Lähde: https://github.com/rootElmo/Tunkeutumistestaus-harjoitukset/blob/main/Harjoitus4/Text.md
Exitfool, simppeli ja nopea työkalu kuvien tiedusteluun.
Lähde: https://tommimuhonen334781833.wordpress.com/penetraatio-testaus-harjoitus-4/
i) Viimeistely. Käy vanhat kotitehtäväsi läpi. Tarkista, että olet viitannut lähteisiin: tehtäväsivuun, kurssiin, muiden opiskelijoiden raportteihin, man-sivuihin, kotisivuihin ja ylipäänsä kaikkiin käyttämiisi lähteisiin. Lähdeviite tulee olla jokaisessa artikkelissa, jossa lähdettä on käytetty. Mikäli teet kotitehtäviisi lisää testejä tai kokeiluja, tee ne selkeästi jatkoksi uuden otsikon alle ja merkitse, milloin lisäykset on tehty. Historia ei voi enää muuttua.
Muutoksia tehty:
Lähteet:
Tero Karvinen,
Hydra, Luettu 13.12.2020,
https://www.mankier.com/1/hydra
https://github.com/vanhauser-thc/thc-hydra
https://redteamtutorials.com/2018/10/25/hydra-brute-force-https/
Juice-Shop, luettu 12.12.2020,
https://github.com/bkimminich/juice-shop#from-sources
Docker asennus, Luettu 13.12.2020,
https://www.kali.org/docs/containers/installing-docker-on-kali/
ZIP -tiedostot, luettu 13.12.2020,
How to Create a Password Protected Zip File in Linux
Hashcat, Luettu 14.12.2020:
https://resources.infosecinstitute.com/topic/hashcat-tutorial-beginners/