O documento discute threat hunting, incluindo conceitos como a pirâmide de dor e técnicas de ataque iniciais como password spraying. Ele também descreve o processo de threat hunting, começando com a formulação de hipóteses, testes de injeção de ameaças e análise de logs para validar a visibilidade de ameaças. O documento fornece um exemplo de como detectar password spraying usando logs do Active Directory.
5. #AdaOpenLace
OBJETIVO
Como?
• Criando hipóteses de ataques que estejam acontecendo no ambiente
• Analisando logs, buscando ameaças no ambiente
• Automatizando a detecção sempre que possível
O principal objetivo do time
de Threat Hunting é detectar
ameaças que evadem as
ferramentas de segurança.
5
10. #AdaOpenLace
HIPÓTESES
1. Quais logs podem ser gerados com essa
técnica?
2. Quais logs eu já tenho?
3. De que forma posso detectar esse ataque?
4. Como posso melhorar a assertividade? 10
13. #AdaOpenLace
EXEMPLO: PASSWORD SPRAY
Testar um pequeno
conjunto de senhas
prováveis para vários
usuários.
Conceito
Tentativas de login no AD
Informações necessárias
Muitas tentativas de login
no AD a partir das
mesmas origens, para
muitos usuários
diferentes.
Como detectar
Premissa: ataque
de força bruta
Um usuário, várias
senhas
joana@hotmail.co
m
Senha1
Senha 123
niverdamamãe
verde
verde2
verde3
verde123
Verde123!
Empresa: Lanchonete Verde
13
14. #AdaOpenLace
index=active_directory AND LogonType=3 AND (EventID=4625 OR EventID=4624)
| stats count, dc(TargetUserName) as distinct_usrs, values(TargetUserName) by
SourceIP
| search distinct_usrs > 5
| fields SourceIP, values(TargetUserName), distinct_usrs
EXEMPLO: PASSWORD SPRAY
14
SourceIP values(TargetUserNam
e)
distinct_usrs
10.0.0.1 Cris
Paula
Lucas
Adriano
Douglas
Alan
6
10.0.0.2 Alvaro
Bruno
Camila
George
Fabio
Cristiano
…
105
#AdaOpenLace
index=active_directory AND LogonType=3 AND (EventID=4625 OR EventID=4624)
| stats count, dc(TargetUserName) as distinct_usrs, values(TargetUserName) by SourceIP
| search distinct_usrs > 5
| fields SourceIP, values(TargetUserName), distinct_usrs
EXEMPLO: PASSWORD SPRAY
12
SourceIP values(TargetUserName) distinct_usrs
10.0.0.1 Cris
Paula
Lucas
Adriano
Douglas
Alan
6
10.0.0.2 Alvaro
Bruno
Camila
George
Fabio
Cristiano
…
105
#AdaOpenLace
index=active_directory AND LogonType=3 AND (EventID=4625 OR EventID=4624)
| stats count, dc(TargetUserName) as distinct_usrs, values(TargetUserName) by SourceIP
| search distinct_usrs > 5
| fields SourceIP, values(TargetUserName), distinct_usrs
EXEMPLO: PASSWORD SPRAY
12
SourceIP values(TargetUserName) distinct_usrs
10.0.0.1 Cris
Paula
Lucas
Adriano
Douglas
Alan
6
10.0.0.2 Alvaro
Bruno
Camila
George
Fabio
Cristiano
…
105
20. #AdaOpenLace
FLUXO COMPLETO
HIPÓTESE
• Assumir a
presença
do
atacante
DESENVOLVIME
NTO
• Correlação de logs
com o intuito de
encontrar ameaças
PHASE OUT
• Passar a
regra para
produção
INJEÇÃO DE
AMEAÇA
• Testar o real
nível de
visibilidade para
aquela técnica