
Questo script aggressor utilizza il campo note di un beacon per indicare lo stato di salute di un beacon.
Joe Vest (Twitter: @joevest)
Questo script aggressor utilizza il campo note di un beacon per indicare lo stato di salute del beacon. Questo viene fatto tramite ...
heartbeat_1mCalcolato quando l'ultimo check-in è inferiore al tempo massimo previsto di check-in (sleep + (sleep * .01 * jitter))
Ad esempio, un beacon con sleep 300 20 avrebbe un tempo massimo previsto di check-in di 360 calcolato come 300 + (300 * .01 * 20).
Calcolato quando l'ultimo check-in è maggiore del tempo massimo previsto di check-in * 2. Questo è noto come "tempo di morte".
Ad esempio, un beacon con sleep 300 20 avrebbe un tempo di morte di 720.
Se beacon['alive'] è false, allora un operatore ha ucciso/terminato questo beacon e il beacon ha riconosciuto il comando di uscita.
Calcolato quando l'ultimo check-in è maggiore del tempo massimo previsto di check-in e minore del tempo di morte.
Questo è un beacon collegato che è stato disconnesso ma è ancora considerato vivo. Questi beacon dipendono da un genitore per la comunicazione. Invece di segnarli come morti, vengono segnati come in pausa. Non c'è un buon modo per tracciare i processi dei beacon disconnessi.
Quello che segue mostra l'aspetto di queste icone nel client Cobalt Strike.

L'ID del beacon e il PID sono stati aggiunti al messaggio di log dell'evento beacon iniziale.

Caricare il file beaconhealth.cna tramite il gestore degli script.
Utilizzare la funzione get_BeaconHealthCheck_settings nella console degli script per visualizzare il tracker sleep/jitter del beacon.