
Este script aggressor usa o campo de nota de um beacon para indicar o estado de saúde de um beacon.
Joe Vest (Twitter: @joevest)
Este script agressor utiliza o campo de nota do beacon para indicar o estado de saúde de um beacon. Isso é feito por meio de...
heartbeat_1mCalculado como último check-in menor que o tempo máximo esperado de check-in (sleep + (sleep * .01 * jitter))
ou seja, um beacon com sleep 300 20 teria um tempo máximo esperado de check-in de 360, calculado como 300 + (300 * .01 * 20).
Calculado como o tempo do último check-in maior que o tempo máximo esperado de check-in * 2. Isso é conhecido como "tempo de morte".
ou seja, um beacon com sleep 300 20 teria um tempo de morte de 720.
Se beacon['alive'] for falso, então um operador matou/saiu deste beacon e o beacon confirmou o comando de saída.
Calculado como último check-in maior que o tempo máximo esperado de check-in e menor que o tempo de morte.
Este é um beacon vinculado que foi desconectado mas ainda é considerado vivo. Esses beacons dependem de um pai para comunicação. Em vez de marcá-los como mortos, eles são marcados como pausados. Não há uma boa maneira de rastrear processos de beacons desconectados.
O seguinte mostra a aparência desses ícones no cliente Cobalt Strike.

O ID do beacon e o PID foram adicionados à mensagem inicial do log de eventos do beacon.

Carregue o arquivo beaconhealth.cna através do gerenciador de scripts.
Use a função get_BeaconHealthCheck_settings no console de scripts para visualizar o rastreador de sono/jitter do beacon.