AnvÀndning av PowerShell för att höja privilegierna för lokala konton.

AnvÀndning av PowerShell för att höja privilegierna för lokala konton.

Privilegierade Ă„tkomst innebĂ€r att en angripare anvĂ€nder aktuella anvĂ€ndarrĂ€ttigheter för att fĂ„ ytterligare, oftast högre nivĂ„ av Ă„tkomst i systemet. Även om privilegierad Ă„tkomst kan vara resultatet av utnyttjande av zero-day sĂ„rbarheter eller av högkvalitativa hackare som utför riktade attacker, eller av vĂ€lkamouflerad skadlig programvara, sĂ„ sker det som oftast pĂ„ grund av felkonfiguration av datorn eller kontot. NĂ€r angriparna utvecklar attacken vidare, anvĂ€nder de en rad enskilda sĂ„rbarheter, vilket i sin helhet kan leda till en katastrofal datalĂ€cka.

Varför anvÀndare inte bör ha lokala administratörsrÀttigheter?

Om du Àr sÀkerhetsspecialist kan det verka uppenbart att anvÀndare inte bör ha lokala administratörsrÀttigheter eftersom detta:

  • Gör deras konton mer sĂ„rbara för olika attacker
  • Gör dessa attacker betydligt allvarligare

TyvÀrr Àr detta fortfarande en mycket kontroversiell frÄga för mÄnga organisationer och Ätföljs ofta av livliga diskussioner (se till exempel min chef sÀger att alla anvÀndare ska vara lokala administratörer). Utan att gÄ in pÄ detaljer kring denna diskussion, anser vi att en angripare fÄtt lokala administratörsrÀttigheter pÄ det aktuella systemet: antingen genom en exploit eller pÄ grund av att maskinerna inte varit ordentligt skyddade.

Steg 1. OmvÀnd DNS-namnsupplösning via PowerShell

Som standard Àr PowerShell installerad pÄ mÄnga lokala arbetsstationer och pÄ de flesta Windows-servrar. Och Àven om det inte Àr utan överdrift anses vara ett otroligt anvÀndbart automatiserings- och administrationsverktyg, kan det lika gÀrna omvandlas till en nÀstan osynlig filenhetlig skadlig programvara (ett hackprogram som inte lÀmnar nÄgra spÄr av attacken).

I vÄrt fall börjar angriparen utföra nÀtverksrekognosering med hjÀlp av ett PowerShell-skript, dÀr de systematiskt gÄr igenom IP-adressutrymmet i nÀtverket, samtidigt som de försöker avgöra om den aktuella IP:n resolvedes till en nod, och om sÄ Àr fallet, vad det nÀtverksnamnet för denna nod Àr.
Det finns mÄnga sÀtt att utföra denna uppgift, men anvÀndningen av cmdlet Get-ADComputer Àr ett pÄlitligt alternativ, eftersom det verkligen returnerar en rik uppsÀttning data om varje nod:

 import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq '10.10.10.10'}

Om prestandan i stora nÀtverk orsakar problem kan en omvÀnd DNS-systemanrop anvÀndas:

[System.Net.Dns]::GetHostEntry('10.10.10.10').HostName

AnvÀndning av PowerShell för att höja privilegierna för lokala konton.

Denna metod för att lista noder i nÀtverket Àr mycket populÀr, eftersom de flesta nÀtverk inte anvÀnder en sÀkerhetsmodell med noll förtroende och inte övervakar interna DNS-förfrÄgningar för misstÀnksamma aktivitetsökningar.

Steg 2: VÀlj mÄl

Det slutgiltiga resultatet av detta steg Àr att fÄ en lista över vÀrdnamn för servrar och arbetsstationer som kan anvÀndas för att fortsÀtta attacken.

AnvÀndning av PowerShell för att höja privilegierna för lokala konton.

Givet namnet verkar servern 'HUB-FILER' vara ett vÀrdigt mÄl, eftersom filservrar vanligtvis samlar pÄ sig ett stort antal nÀtverksmappar och överdriven Ätkomst till dem av en alltför stor krets.

Genom att anvÀnda Windows Utforskaren kan vi faststÀlla om en delad mapp Àr öppen, men vÄrt nuvarande konto kan inte fÄ tillgÄng till den (troligen har vi endast rÀttigheter för att lista).

Steg 3: Granska ACL

Nu pÄ vÄr vÀrd HUB-FILER och den delade mappen share kan vi köra ett PowerShell-skript för att fÄ listan över ACL. Vi kan göra detta frÄn en lokal maskin, eftersom vi redan har rÀttigheter som lokal administratör:

(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto

Resultat av utförande:

AnvÀndning av PowerShell för att höja privilegierna för lokala konton.

FrÄn detta ser vi att gruppen DomÀnanvÀndare har Ätkomst endast för att lista, men gruppen Helpdesk har Àven rÀtt att Àndra.

Steg 4: Identifiera Konton

Genom att köra Get-ADGroupMember, kan vi fÄ alla medlemmar i denna grupp:

Get-ADGroupMember -identity Helpdesk

AnvÀndning av PowerShell för att höja privilegierna för lokala konton.

I denna lista ser vi datorkontot som vi redan identifierat och fÄtt tillgÄng till:

AnvÀndning av PowerShell för att höja privilegierna för lokala konton.

Steg 5: AnvÀnd PSExec för att arbeta frÄn datorns konto

PsExec frÄn Microsoft Sysinternals gör att kommandon kan köras i kontexten av systemkontot SYSTEM@HUB-SHAREPOINT, vilket vi vet Àr medlem av mÄlgruppen Helpdesk. Det rÀcker med att köra:

PsExec.exe -s -i cmd.exe

HÀr har du full tillgÄng till mappen HUB-FILERshareHR eftersom du arbetar inom ramen för anvÀndarkontot HUB-SHAREPOINT. Med denna Ätkomst kan data kopieras till en bÀrbar lagringsenhet eller pÄ annat sÀtt extraheras och överföras via nÀtverket.

Steg 6: UpptÀckten av denna attack

Denna specifika sÄrbarhet i rÀttighetsinstÀllningarna för konton (datoranvÀndarkonton som kommer Ät delade nÀtverksmappar istÀllet för anvÀndarkonton eller tjÀnstekonton) kan upptÀckas. Men utan rÀtt verktyg Àr det mycket svÄrt att göra det.

För att upptÀcka och förhindra denna typ av attacker kan vi anvÀnda DatAdvantage för att identifiera grupper med datoranvÀndarkonton i dem, och sedan stÀnga Ätkomsten till dem. DatAlert gÄr lÀngre och tillÄter skapandet av en avisering speciellt för ett sÄdant scenario.

I skÀrmdumpen nedan visas en anvÀndaravisering som utlöses vid varje Ätkomst som görs av ett datoranvÀndarkonto till data pÄ den övervakade servern.

AnvÀndning av PowerShell för att höja privilegierna för lokala konton.

Följande steg med hjÀlp av PowerShell

Vill du veta mer? AnvÀnd upplÄsningskoden "blog" för gratis tillgÄng till hela video-kursen PowerShell och grunderna i Active Directory.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster