Covenant C2 colma il vuoto lasciato da Empire PowerShell
Jan 27, 2023
Gli strumenti di post-sfruttamento sono utilizzati dagli attori delle minacce per muoversi lateralmente all'interno di una rete ed elevare i loro privilegi al fine di rubare dati, scatenare malware, creare backdoor e altro. Anche i red team e gli hacker etici utilizzano questi strumenti; infatti, simulare gli sforzi degli avversari gioca un ruolo chiave nell'implementare controlli efficaci per proteggere sistemi, applicazioni e file.
Fino a poco tempo fa, uno dei framework di post-sfruttamento più utilizzati era PowerShell Empire (PSEmpire). Questo permetteva agli avversari di utilizzare agenti PowerShell e Python per distribuire elementi dannosi, che vanno dai keylogger a mimikatz, in ambienti Windows, Linux e macOS, eludendo il rilevamento. Tuttavia, nel 2019, la pagina del progetto Empire GitHub annunciava che PowerShell Empire non era più supportato. Ciò era probabilmente dovuto al fatto che gli strumenti di rilevamento e risposta degli endpoint (EDR) erano diventati più efficaci nel rilevare l'uso malevolo di PowerShell.
Di conseguenza, molti attaccanti e professionisti della cybersecurity hanno adottato framework C2 open source di nuova generazione. Questo articolo esplora uno di questi strumenti di post-sfruttamento: Covenant C2.
Contenuti correlati selezionati:
Informazioni su Covenant C2
Covenant C2 è un framework di command and control (C&C) che facilita lo sfruttamento delle applicazioni web e dei loro ambienti di rete di supporto. Questo framework open source altamente scalabile è disponibile su GitHub. Si implementa in pochi minuti, anche per coloro che hanno una minima esperienza con i framework C2, e offre un'interfaccia web intuitiva (vedi Figura 1) che semplifica l'aggiunta di nuovi agenti, fonti di dati e integrazioni, e l'estrazione di dati e credenziali.
Figura 1. Cruscotto Covenant (fonte: GitHub)
Architettura
Covenant si basa su un'architettura altamente scalabile scritta in C# che permette agli sviluppatori di costruire facilmente integrazioni con il framework. Supporta profili multi-utente con autenticazione e utilizza database leggeri e affidabili come SQLLite e PostgreSQL. Il suo supporto multipiattaforma include Windows, macOS e distribuzioni Linux come Kali.
Il Covenant Server gestisce la funzionalità di comando e controllo, consentendo agli utenti di operare collaborativamente gli uni con gli altri. Utilizza i grunts — agenti che si comportano molto come i soldati semplici nell'antica guerra che venivano utilizzati come carne da cannone. Questi grunts comunicano con il server Covenant mentre svolgono i compiti assegnati ed evitano il rilevamento.
Implementare Covenant
Un server Covenant può essere operativo in pochi minuti. Su Windows, l'unico prerequisito è il .NET Core SDK. Per compilare e avviare l'applicazione Covenant ASP .NET Core, eseguire semplicemente i seguenti comandi:
git clone --recurse-submodules https://github.com/cobbr/Covenant
cd Covenant/Covenant
dotnet build
dotnet run
In alternativa, puoi utilizzare un Docker container.
Quindi accedi alla macchina localhost utilizzando la porta 7443 e puoi iniziare ad utilizzare l'interfaccia utente di Covenant tramite il tuo browser preferito.
Utilizzando Covenant
Il primo compito è configurare un listener, come descritto qui. Quindi creare un payload per distribuire i tuoi grunts su macchine remote dove stabiliranno comunicazioni con il server Covenant.
Quindi puoi utilizzare le seguenti pagine nell'interfaccia utente di Covenant per creare, eseguire e rivedere i compiti.
Pagina dei Grunts
Utilizza la pagina dei Grunts per rivedere i tuoi grunts e far eseguire loro delle attività.
Figura 2. Pagina di dettaglio di Grunt (fonte: GitHub)
Esempio: Distribuzione di mimikatz
Ad esempio, il video qui sotto illustra come utilizzare un Grunt per distribuire mimikatz:
Figura 3. Utilizzo di un grunt per distribuire mimikatz
Puoi rivedere l'output del compito eseguito utilizzando l'interfaccia del browser.
Figura 4. Revisione dell'output di un'attività eseguita da un grunt
Pagina dei compiti
La pagina Tasks page fornisce un elenco ordinabile e ricercabile di tutti i compiti disponibili che puoi assegnare ai tuoi Grunts.
Figura 5. Pagina delle attività
Pagina dei compiti
La pagina dei compiti mostra i compiti che hai assegnato ai sottoposti e il loro stato.
Figura 6. Pagina dei compiti
Pagina dei dati
Lo scopo dei compiti è catturare dati, che vengono riassunti nella Data Page. La scheda Indicatori fornisce una traccia di verifica dell'attività, che puoi passare al tuo team blu per rafforzare i loro sforzi di sicurezza.
Figura 7. Pagina dei dati
Conclusione
Covenant C2 è un ottimo esempio di come i progetti open-source C2 post-sfruttamento abbiano preso il testimone da PowerShell Empire per potenziare i team di sicurezza offensiva. Include molte caratteristiche impressionanti che lo rendono ideale per gli sforzi collaborativi di hacking etico. Ci sono molte ottime risorse sul Covenant GitHub per aiutarti a iniziare. Se il framework Covenant è una novità per te, è il momento di scoprirlo.
Condividi su
Scopri di più
Informazioni sull'autore
Joe Dibley
Ricercatore di sicurezza
Ricercatore di sicurezza presso Netwrix e membro del Netwrix Security Research Team. Joe è un esperto in Active Directory, Windows e una vasta gamma di piattaforme software aziendali e tecnologie, Joe ricerca nuovi rischi per la sicurezza, tecniche di attacco complesse e relative mitigazioni e rilevamenti.
Scopri di più su questo argomento
Esempio di Analisi del Rischio: Come Valutare i Rischi
Il Triangolo CIA e la sua applicazione nel mondo reale
Creare utenti AD in massa e inviare le loro credenziali tramite PowerShell
Come aggiungere e rimuovere gruppi AD e oggetti nei gruppi con PowerShell
Attributi di Active Directory: Ultimo accesso