
Un framework C2 consapevole dei proxy utilizzato per assistere i red teamer nella post-esplorazione e nel movimento laterale.

PoshC2 è un framework C2 consapevole dei proxy utilizzato per assistere i penetration tester nelle attività di red teaming, post-exploitation e movimento laterale.
PoshC2 è scritto principalmente in Python3 e segue un formato modulare per consentire agli utenti di aggiungere i propri moduli e strumenti, offrendo un framework C2 estendibile e flessibile. Pronto all'uso, PoshC2 fornisce implant in PowerShell/C# e Python2/Python3 con payload scritti in PowerShell v2 e v4, codice sorgente C++ e C#, una varietà di eseguibili, DLL e shellcode grezzo, oltre a un payload Python2/Python3. Questi consentono funzionalità C2 su un'ampia gamma di dispositivi e sistemi operativi, tra cui Windows, *nix e OSX.
Altre caratteristiche notevoli di PoshC2 includono:
Manteniamo la documentazione di PoshC2 all'indirizzo https://poshc2.readthedocs.io/en/latest/
Trovaci su #Slack - poshc2.slack.com (per richiedere un invito invia un'email a [email protected])
È possibile installare PoshC2 direttamente o utilizzare le immagini Docker; di seguito sono riportate le istruzioni per entrambe.
Viene fornito uno script di installazione per installare PoshC2:
*** Script di installazione di PoshC2 ***
Utilizzo:
./Install.sh -b <ramo git> -p <Directory in cui clonare PoshC2>
I valori predefiniti sono il ramo master in /opt/PoshC2
Sono necessari privilegi elevati poiché lo script di installazione esegue aggiornamenti e installazioni apt.
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash
In alternativa, è possibile clonare il repository ed eseguire manualmente lo script di installazione.
sudo ./Install.sh
È possibile impostare manualmente la directory di installazione di PoshC2 passandola allo script Install.sh come argomento -p. Il valore predefinito è /opt/PoshC2:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install.sh | sudo bash -s -- -p /root/PoshC2
Vogliamo mantenere il ramo master stabile per garantire che gli utenti possano fare affidamento su di esso quando necessario; per questo motivo, le modifiche possono spesso essere complete dal punto di vista funzionale ma non ancora presenti su master perché non sono state testate completamente e approvate.
Se desideri esaminare le funzionalità imminenti di PoshC2, puoi consultare il ramo dev, o qualsiasi ramo di funzionalità individuale derivato da dev.
Poiché le funzionalità vengono testate prima di essere unite in dev, questo ramo dovrebbe essere ancora abbastanza stabile e gli operatori possono scegliere di utilizzare questo ramo o un particolare ramo di funzionalità per il loro impegno.
Tuttavia, ciò scambia la stabilità con le nuove funzionalità, quindi fallo a tua discrezione.
Per utilizzare dev o un ramo di funzionalità, passa il nome del ramo allo script Install.sh come argomento -b:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/dev/Install.sh | sudo bash -s -- -b dev
Nota che l'URL include anche il nome del ramo (qui dev invece di master).
Puoi anche eseguire PoshC2 utilizzando Docker; ciò consente un'esecuzione più stabile e permette a PoshC2 di funzionare facilmente su altri sistemi operativi.
L'installazione Docker non clona PoshC2 poiché vengono utilizzate le immagini PoshC2 su Docker Hub, quindi viene eseguita solo un'installazione minima di alcune dipendenze e script.
Per iniziare, installa Docker sull'host e quindi aggiungi la directory dei progetti PoshC2 come directory condivisa in Docker, se richiesto dal tuo sistema operativo. Per impostazione predefinita, questa è /var/poshc2 su *nix e /private/var/poshc2 su Mac.
Script di installazione:
*** Script di installazione di PoshC2 per Docker ***
Utilizzo:
./Install-for-Docker.sh -b <ramo git>
Il valore predefinito è il ramo master
Sono necessari privilegi elevati poiché lo script di installazione esegue installazioni di script.
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/master/Install-for-Docker.sh | sudo bash
Per utilizzare i rami dev o di funzionalità con Docker, scarica lo script Install-for-Docker.sh dal ramo appropriato e passa il nome del ramo come argomento:
curl -sSL https://raw.githubusercontent.com/nettitude/PoshC2/BRANCHNAME/Install-for-Docker.sh | sudo bash -s -- -b BRANCHNAME
Su Windows, importa il modulo PowerShell PoshC2.psm1.
Import-Module -DisableNameChecking C:\PoshC2\resources\scripts\PoshC2.psm1
posh-project -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" -Arg1 "-n" -Arg2 "newproject"
posh-config -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project"
posh-server -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project"
posh -PoshC2Dir "C:\PoshC2" -LocalPoshC2ProjectDir "C:\PoshC2_Project" username
Crea un nuovo progetto:
posh-project -n <nome-progetto>
È possibile passare ad altri progetti o elencarli utilizzando questo script:
[*] Utilizzo: posh-project -n <nome-nuovo-progetto>
[*] Utilizzo: posh-project -s <progetto-a-cui-passare>
[*] Utilizzo: posh-project -l (elenca i progetti)
[*] Utilizzo: posh-project -d <progetto-da-eliminare>
[*] Utilizzo: posh-project -c (mostra il progetto corrente)
Modifica la configurazione per il tuo progetto:
posh-config
Avvia il server PoshC2:
posh-server
In alternativa, avvialo come servizio:
posh-service
Separatamente, esegui ImplantHandler per interagire con gli implant:
posh -u <nome-utente>
Consulta https://poshc2.readthedocs.io/en/latest/ per la documentazione completa su PoshC2.