
Armando logs de CT ao vivo para monitoramento automatizado de ativos

Leia o blog aqui: https://medium.com/@Asm0d3us/weaponizing-live-ct-logs-for-automated-monitoring-of-assets-39c6973177c7
Em Bug Bounties, “Se você não é o primeiro, então você é o último” não existe medalha de prata ou bronze. A Recon (reconhecimento) desempenha um papel crucial e se você consegue detectar/identificar um ativo recém-adicionado antes dos outros, então as chances de você encontrar/reportar uma falha de segurança nesse ativo e ser recompensado por isso são maiores que as dos outros.
Pessoalmente, estou monitorando logs CT para domínios/subdomínios há bastante tempo e isso me deu muitos resultados bem-sucedidos. A inspiração por trás disso foi “Sublert : Por yassineaboukir” que verifica crt.sh por subdomínios e pode ser executado periodicamente. No entanto, estou usando uma abordagem um pouco diferente e, em vez de consultar crt.sh periodicamente, estou extraindo domínios de feeds de log CT ao vivo. Portanto, as chances de eu encontrar um novo ativo mais cedo são maiores em comparação com outros.
Estou assumindo que você já concluiu a configuração do seu espaço de trabalho do Slack.
Agora crie um canal chamado “subdomain-monitor” e configure um webhook de entrada.
Edite o arquivo config.yaml e cole sua URL do webhook do Slack lá. Deve parecer algo assim

Você pode especificar palavras-chave e domínios para corresponder no arquivo domains.yaml. Você pode especificar nomes
Para correspondência de subdomínios:
Nota: Observe o ponto precedente [ . ]
Vamos pegar “.facebook.com” como exemplo. Os domínios extraídos dos logs CT em tempo real serão correspondidos com a palavra “.facebook.com”. Se corresponderem, serão registrados em nosso arquivo de saída (found-domains.log). A coisa a notar aqui é que isso dará alguns falsos positivos como “test.facebook.com.test.com”, “example.facebook.company”, mas podemos filtrá-los mais tarde usando a magia das regex.
Vamos supor que você queira monitorar e registrar domínios/subdomínios que tenham a palavra “hackerone” neles. Então nosso arquivo domains.yaml ficará algo assim
Agora todos os domínios/subdomínios extraídos que tenham a palavra “hackerone” neles serão correspondidos e registrados (e uma notificação do Slack será enviada a você pelo mesmo).
Ok, terminamos nossa configuração inicial. Vamos instalar as dependências necessárias e executar nossa ferramenta
$ pip3 install -r requirements.txt
$ python3 certeagle.py

Domínios correspondidos serão assim:

Notificações do Slack serão assim:

Arquivos de saída:
O programa continuará em execução. Todos os domínios correspondidos serão salvos no diretório de saída no arquivo found-domains.log

Aviso estrito: Não monitore ativos de nenhuma organização sem consentimento prévio
Envie-me um DM: @0xAsm0d3us
Se você acha que meu trabalho agregou algum valor ao seu conhecimento existente, então você pode Comprar um café para mim aqui (e quem não ama uma boa xícara de café?')