Remote Operations BOF
Questa repo funge da aggiunta alla nostra SA rilasciata in precedenza. La nostra posizione iniziale era che non avremmo rilasciato i nostri strumenti che modificavano altri sistemi, e avremmo fornito solo strumenti di raccolta informazioni in un formato pronto all'uso.
Nel corso del tempo, abbiamo visto molte altre aziende di sicurezza pubbliche rilasciare i loro strumenti offensivi, e ora riteniamo appropriato rilasciare una parte della nostra strumentazione offensiva.
Niente in questa repo è particolarmente speciale: sono operazioni di base di Microsoft Windows in formato BOF. Questi primitivi possono essere utilizzati per una grande varietà di operazioni.
Injection BOF
Abbiamo deciso di includere i BOF di injection che utilizziamo quando facciamo test di rilevamento EDR. Questi BOF sono forniti così come sono e non saranno supportati (tutto ciò che si trova in src/Injection e Injection/*)
Siete liberi di usarli, ma le issue aperte relative a questi verranno chiuse senza revisione.
Comandi Remote Operations disponibili
| Comando | Utilizzo | Note |
|---|
| adcs_request | adcs_request [CA] [OPT:TEMPLATE] [OPT:SUBJECT] [OPT:ALTNAME] [OPT:INSTALL] [OPT:MACHINE] [OPT:ADD_APP_POLICY] [OPT:DNS] | Richiedi un certificato di registrazione |
| adcs_request_on_behalf | adcs_request_on_behalf [TEMPLATE] [REQUESTER] [ENROLLMENT_AGENT.pfx] [Download_Name] | Richiedi un certificato di registrazione per conto di un altro utente |
| adduser | adduser [USERNAME] [PASSWORD] [SERVER] | Aggiunge l'utente specificato a una macchina |
| addusertogroup | addusertogroup [USERNAME] [GROUPNAME] [SERVER] [DOMAIN] | Aggiunge l'utente specificato a un gruppo |
| ask_mfa | ask_mfa [NUMBER] | Mostra un falso dialogo di approvazione di Microsoft Authenticator con il numero specificato. |
| chromeKey | chromeKey | Decripta la chiave Chrome codificata in base64 fornita |
| disableuser | disableuser [USERNAME] [DOMAIN] | Disabilita l'account utente specificato |
| enableuser | enableuser [USERNAME] [DOMAIN] | Abilita e sblocca l'account utente specificato |
| get_azure_token | get_azure_token [CLIENT ID] [SCOPE] [BROWSER] [OPT:HINT] [OPT:BROWSER PATH] | Tenta di completare una concessione OAuth codeflow contro Azure utilizzando gli accessi salvati |
| get_priv | get_priv [Privledge Name] | Attiva il privilegio del token specificato, più per gli utenti non Cobalt Strike |
| ghost_task | ghost_task [HOSTNAME/LOCALHOST] [OPERATION] [TASKANME] [PROGRAM] [ARGUMENT] [USERNAME] [SCHEDULETYPE] [TIME/SECOND] [DAY] | Aggiungi/Elimina un ghost task. |
| global_unprotect | global_unprotect | Individua e decripta i file di configurazione GlobalProtect convertiti da: GlobalUnProtect |
| lastpass | lastpass [NUMBER OF PIDs] [PID],[PID],[PID],[PID] ... | Cerca nella memoria di Chrome e Brave le password e i dati LastPass |
| make_token_cert | make_token_cert [.PFX LOCAL PATH] [OPT:PFX PASSWORD] | Impersona un utente utilizzando l'altname di un file .pfx |
| office_tokens | office_tokens [PID] | Raccoglie i token JWT di Office da qualsiasi processo Office |
| procdump | procdump [PID] [FILEOUT] |
Contribuire
Questa repo è pensata per primitive Windows a singolo compito. Vale a dire, anche se richiede più chiamate, creare un'attività pianificata è appropriato.
Un comando che tentasse di pre-generare un implant ed eseguire movimenti automatizzati usando i BOF di questa repo sarebbe fantastico. Ma non è appropriato per la sottomissione direttamente a questa repo.
Requisiti del codice
- Il tuo codice deve compilare senza errori quando si utilizza il makefile predefinito
- Qualsiasi nuova definizione BOF per la risoluzione delle funzioni sarà inserita in src/common/bofdefs.h
- Il codice compilerà insieme usando il Makefile predefinito (singolo file entry.c)
- Il codice sarà inoltre compatibile con la toolchain esistente (mingw)
- Il codice sarà scritto in C. Questo serve a standardizzare e per la mia personale fiducia nella validazione del codice.
Cosa aspettarsi come contributore
Dopo la ricezione di una pull request, questa riceverà una revisione approfondita del codice e dei test.
Al termine dei test, avremo zero o più round di richieste di modifica basate sui risultati finché non ci saranno problemi nel codice. A quel punto sarà accettata nella repository e il tuo nome utente GitHub sarà aggiunto alla nostra lista dei crediti. Se preferisci non essere aggiunto o che venga usato un altro handle, fammelo sapere.
Vuoi saperne di più?
Se hai trovato utili questi beacon object file e vuoi scriverne di tuoi seguendo uno stile simile, ti invitiamo a dare un'occhiata al nostro corso Beacon Object File (BOF) Development.
Il corso fornisce una breve panoramica sulla storia dei beacon object file e poi si addentra in una serie di problemi sfida che mirano a insegnarti come sfruttare una varietà di tecnologie Windows quando sviluppi i tuoi beacon object file.