Header
                                                          
                                                        By BlackReaperSK

~/Threat Hunting/readme.txt

Threat Hunting é, por sua definição, a caça de ameaças no sistema. Um Threat Hunter
deve realizar periodicamente avaliar riscos de invasão, fazer investigação nos Endpoints, 
servidores expostos, assim como garantir a segurança nos mesmos. Muitas pessoas erram ao
confundir Threat Intel com Threat Hunting, que são coisas diferentes. Em Threat Intel
é realizada a prevenção de ataques com metodos tratamentos de dados e aplicação 
de soluções de segurança, por sua vez, no Threat Hunting, você se preocupa com possiveis
invasões descobertas falhas ocasionais de segurança abertas e APTs.

~/Threat Hunting/working_sample.txt

Para realçar a diferença e aplicar esses conceitos na pratica, trago dois 
exemplos simples


[-  Threat Hunting - Basic Work and Start -]

* Isso é apenas um exemplo muito basico e não demonstra todo processo de analise

Sabemos que, de alguma maneira, uma ameaça tem as credencias de uma maquina
na nossa rede, um Windows Server. Depois de uma analise rapida, descobrimos que
a maneira mais facil do atacante tentar uma conexão é por meio da porta 3389,
estando ela aberta para toda a nossa rede:

3389/tcp open  ms-wbt-server Microsoft Terminal Services

Vamos ver o registro de acesso direto da maquina, provavelmente, tem algo de interessante
por aqui. 

PS C:\>Get- RemoteAccessConnectionStatisticsSummary
TotalConnections           : 0 
TotalDAConnections         : 0 
                       
TotalVpnConnections        : 0 
                       
TotalUniqueUsers           : 0 
                       
MaxConcurrentConnections   : 10 
                       
TotalCumulativeConnections : 703 
                       
TotalBytesIn               : 1167785920 
                       
TotalBytesOut              : 3350338848 
                       
TotalBytesInOut            : 4518124768

Aqui vemos que não tem nenhum "usuario" logado no momento, então faz sentido nosso
output ser TotalDAConnections : 0 | TotalUniqueUsers : 0.
Vamos por um Timestamp e filtrar melhor. Sabemos que o ataque ocorreu 
no dia 13/09/2021, e hoje, é dia 19/09/2021.

PS C:\>$startdate = Get-Date -Date "13/09/2021"
PS C:\>$enddate = Get-Date -Date "19/11/2021"

PS C:\>Get-RemoteAccessConnectionStatisticsSummary -StartDateTime $startdate -EndDateTime $enddate

TotalSessions         : 314 
                         
TotalDASessions       : 314 
                         
TotalVpnSessions      : 0 
                         
MaxConcurrentSessions : 28 
                         
TotalUniqueDAClients  : 27 
                         
AverageSessionsPerDay : 144 
                         
TotalUniqueUsers      : 57

Aqui vemos, um numero do total de sessões nessa data (TotalSessions : 314).
Sabemos que isso não é um fluxo normal de acesso durante esse tempo (nesta rede)
então determinamos que sim, essa maquina foi explorada. Vamos ver os logs de acesso
remoto que o Windows nos oferece.

PS C:\>Get-RemoteAccessConnectionStatistics -StartDateTime $startDate -EndDateTime $endDate | Export-Csv -Path "logs.csv"

Depois do export de data para dentro do arquivo "logs.csv", achamos algo interessante 
nele, e que, depois de filtrar e analisar, determinamos que possivelmente é o atacante

ClientIPAddress       : {10.0.0.22, 2002:836b:2:2000:7407:f734:9281:f9a3} 
UserName              : {joaotech \Administrator} 
ConnectionDuration(s) : 220 
ConnectionType        : DA
AccessStatus          : User Mode/Full Corp Access 

* Note que conexões vindo da 10.0.0.22 não podem ocorrer, pois o mesmo é um servidor web
por isso descobrimos facilmente o endereço do atacante

Maldito seja hackerdumal! Descobrimos que a conexão veio de uma outra maquina 
dentro da rede, que nela, está rodando um servidor web exposto. Provavelmente a
ameaça exploitou a aplicação web, conseguiu acesso a esta maquina (10.0.0.22) e la
encontrou as credencias dessa maquina aqui. Antes de irmos atras dessa ameaça
vamos fazer uma pequena alteração para que ele perca o acesso

C:\Users\Administrator>net users

Contas de usuário para \\JOAOTECH

-------------------------------------------------------------------------------
Administrador            Guest                DefaultAccount
rodrigao                 sysadmin             hackerdumal   


C:\Users\Administrator>net user Administrator senhafortexd && net user hackerdumal /delete

Pronto! Outra solução cabivel essa hora, era isolar essa maquina em uma rede
separada, ou simplesmente, desliga-la, para mantar o state original da mesma, e 
fazer um processo de analise mais profunda depois.

Indo para a outra maquina (agora estamos na 10.0.0.22) analisaremos logs do Apache

135.53.191.184 - - [13/Set/2021:13:19:05 -0400] "GET /servicos/servicos.php?page=concerto HTTP/1.1"
135.53.191.184 - - [13/Set/2021:13:20:09 -0400] "GET /servicos/servicos.php?page=autorizadas HTTP/1.1"
135.53.191.184 - - [13/Set/2021:13:20:22 -0400] "GET /servicos/servicos.php?page=whoami HTTP/1.1"
135.53.191.184 - - [13/Set/2021:13:23:55 -0400] "GET /servicos/servicos.php?page=/var/log/apache2/access.log HTTP/1.1"

Acho que ele viu coisas que não deveria....hmmm.....olhando os logs do Apache, vimos que 
o cidadão acabou achando um LFI no parametro page do código servicos.php
Observando os logs, vemos que ele usou o LFI to RCE, como os logs auditam toda requisição,
mandando um payload para la e usando o intepretador PHP (claro, do servicos.php), você
consegue facilmente adquirir um RCE e escalar pra uma shell

Vamos pular o blablabla de exploitation, isso é trabalho do RedTeam o intuito desse
artigo é demonstrar e explicar Threat Hunting

Olhando e analisando essa maquina, vemos que o atacante não conseguiu fazer muita
coisa com ela, isso por que, ele não conseguiu escalar privilegio a root, e não fez
outras conexões na rede. O que fez com que o nosso Windows Server sofresse uma 
invasão, foi uma pasta de bkp que o sysadmin deixou legivel para todos os usuarios

drwxr-xr-x  3 sysadmin sysadmin     4096 Set 10 22:20 bkps

apache@joaotech-$ cat windows_server_config.txt

Rogeio lembrar de reiniciar o servidor e verificar aquela DB importante!!! 

IP: 10.0.0.15
Usuario: Administrator
Senha: senhamtofoda

É... as vezes é dificil entender um sysadmin, deixam os logs em lugares confusos, 
se cadastram em sites duvidosos com as credencias da empresa, mas o importante, é 
nunca desistir e sempre ir atrás da ameaça.

Por outro lado, encontramos o IP do atacante 135.53.191.184 (na maioria dos casos isso é irrelevante)
e achamos a falha no sistema que o permitiu fazer tudo isso. Na maioria das vezes, a pós descoberta
vem sempre acompanhada de analise mais profunda, como analise de trafego, dump de memoria com 
volality entre outras coisas, mas isso é assunto para outro artigo.


~/Threat Hunting/conclusion.txt

Bom, eu preferi explicar o assunto com um exemplo muito basico, explicação teorica e pratica
também sendo dinamico, pois é um assunto que é confuso, e chega a ser dificil escrever um
artigo introdutorio e que seja curto sobre esse assunto tão extenso. Lembre-se Threat Hunting não 
é só BlueTeam não, você por muitas vezes, será designado para refazer os passos da ameaça até o
ultimo Endpoint afetado.

"No plot, no reason for anything, just killing red guys"
Templo 7K