Ossec – Trabalhando com agents Windows – HIDS parte 3
Fala galera.. nesse post nos vamos falar um pouquinho de agentes do Ossec no Windows, pra quem já viu nosso último post sobre agentes em linux, seguir esse post aqui vai ser mamão com açúcar. Nos vamos instalar um agente no Windows, conectar ele no nosso Ossec server, ver alguns alertas e deixar uma dica pra caso o Windows seja em Pt-Br.
Depois de baixar o executável do Ossec para o Windows aqui é só seguir os prints abaixo, nada de diferente, só o velho next, next & fineshed:
Depois de instalar o agente para Windows precisamos repetir o passo do último post e adicionar o agente no Ossec server e extrair a chave. Mas é bem simples como vocês já sabem:
# /var/ossec/bin/manage_agents
**************************************** * OSSEC HIDS v2.8.3 Agent manager. * * The following options are available: * **************************************** (A)dd an agent (A). (E)xtract key for an agent (E). (L)ist already added agents (L). (R)emove an agent (R). (Q)uit. Choose your action: A,E,L,R or Q: A - Adding a new agent (use '\q' to return to the main menu). Please provide the following: * A name for the new agent: Win7_SQL1 * The IP Address of the new agent: 192.168.100.101 * An ID for the new agent[103]: 200 Agent information: ID:200 Name:Win7_SQL1 IP Address:192.168.100.101 Confirm adding it?(y/n): y Agent added.
**************************************** * OSSEC HIDS v2.8.3 Agent manager. * * The following options are available: * **************************************** (A)dd an agent (A). (E)xtract key for an agent (E). (L)ist already added agents (L). (R)emove an agent (R). (Q)uit. Choose your action: A,E,L,R or Q: E
Agora precisamos extrair a chave para importar no nosso novo agente:
Available agents: ID: 200, Name: Win7_SQL1, IP: 192.168.100.101 Provide the ID of the agent to extract the key (or '\q' to quit): 200 Agent key information for '200' is: MjAwIFdpbjdfU1FMMSAxOTIuMTY4LjEwMC4xMDEgZWQ4NDNhNzQxZDc3MWRkNzBlODM0NDhkMWI1NTc3MWUwYWY3OGQ3ODBjMzE4ZWMzODY1OWM3MDI2OD c2NjNmZA==
Agora basta abrir o Ossec Agent Manager e inserir a chave que acabamos de extrair e informar o endereço IP do nosso Ossec server. Antes de iniciar o serviço precisamos fazer uma última configuração no agente, precisamos habilitar o active response, para isso é só clicar em “View” -> “View Config” e alterar para “no” no trecho abaixo:
<active-response> <disabled>no</disabled> </active-response>
Depois disso é só iniciar o agente do Ossec clicando em “Manager” -> “Start OSSEC”. Para confirmar que o agente está conectado você pode visualizar os logs do agente ou executar o comando abaixo no Ossec server:
# /var/ossec/bin/agent_control -l
OSSEC HIDS agent_control. List of available agents: ID: 000, Name: Galaxy (server), IP: 127.0.0.1, Active/Local ID: 200, Name: Win7_SQL1, IP: 192.168.100.101, Active
Aqui podemos ver que o agente Win7_SQL1 está ativo, para ver mais informações sobre esse agente execute o comando:
# /var/ossec/bin/agent_control -i 200
OSSEC HIDS agent_control. Agent information: Agent ID: 200 Agent Name: Win7_SQL1 IP address: 192.168.100.101 Status: Active Operating system: Microsoft Windows 7 Business Edition Professional Se.. Client version: OSSEC HIDS v2.8.3 Last keep alive: Sat Apr 29 22:17:35 2017 Syscheck last started at: Sat Apr 29 22:09:49 2017 Rootcheck last started at: Sat Apr 29 22:10:21 2017
Agora vamos dar uma olhada no log de alertas do Ossec e ver se já temos algum alerta do nosso novo agente:
# tail -f /var/ossec/logs/alerts/alerts.log
** Alert 1493514529.322820: mail - ossec, 2017 Apr 29 22:08:49 (Win7_SQL1) 192.168.100.101->ossec Rule: 501 (level 3) -> 'New ossec agent connected.' ossec: Agent started: 'Win7_SQL1->192.168.100.101'. ** Alert 1493514621.323024: - ossec,rootcheck, 2017 Apr 29 22:10:21 (Win7_SQL1) 192.168.100.101->rootcheck Rule: 512 (level 3) -> 'Windows Audit event.' Windows Audit: Null sessions allowed.
Aqui já podemos ver que esse host está vulnerável a Null Session, ou seja, já identificamos uma vulnerabilidade que precisa ser corrigida em nosso servidor Windows. Eu deixei o tail rodando e fiz mais algumas coisas no meu servidor Windows, vamos dar uma olhada nesses logs abaixo:
** Alert 1493515430.325146: mail - windows,adduser,account_changed, 2017 Apr 29 22:23:50 (Win7_SQL1) 192.168.100.101->WinEvtLog Rule: 18110 (level 8) -> 'User account enabled or created.' User: (no user) 2017 Apr 29 22:23:47 WinEvtLog: Security: AUDIT_SUCCESS(4722): Microsoft-Windows-Security-Auditing: (no user): no domain: Apollo-PC: A user account was enabled. Subject: Security ID: S-1-5-21-841479801-2355611876-379936705-1000 Account Name: Apollo Account Domain: Apollo-PC Logon ID: 0x1b04b Target Account: Security ID: S-1-5-21-841479801-2355611876-379936705-1001 Account Name: atacante Account Domain: Apollo-PC ** Alert 1493515567.329925: mail - windows,group_changed,win_group_changed, 2017 Apr 29 22:26:07 (Win7_SQL1) 192.168.100.101->WinEvtLog Rule: 18217 (level 12) -> 'Administrators Group Changed' User: (no user) 2017 Apr 29 22:26:13 WinEvtLog: Security: AUDIT_SUCCESS(4732): Microsoft-Windows-Security-Auditing: (no user): no domain: Apollo-PC: A member was added to a security-enabled local group. Subject: Security ID: S-1-5-21-841479801-2355611876-379936705-1000 Account Name: Apollo Account Domain: Apollo-PC Logon ID: 0x1b04b Member: Security ID: S-1-5-21-841479801-2355611876-379936705-1001 Account Name: - Group: Security ID: S-1-5-32-544 Group Name: Administrators Group Domain: Builtin Additional Information: Privileges:
Nesse exemplo dos logs acima nos podemos ver que um usuário chamado “atacante” foi criado e logo em seguida um usuário foi adicionado ao grupo “Administrators”. Ou seja, temos uma evidência clara que nosso servidor foi comprometido.
Dica:
Como eu mencionei no início do post, eu vou deixar uma dica aqui, você pode enfrentar alguns problemas caso tente instalar o Ossec em um Windows que não esteja com o language pack em inglês, quando você for tentar colocar o endereço IP e a chave no agente você pode receber mensagens como estas:
"Unable to set permissions on new configuration file" "Unable to set permissions on auth key file".
Para resolver esse problema nos temos duas opções, você pode renomear o grupo “Administradores” para “Administrators” e tentar novamente, ou adicionar a chave e o IP do server na mão. Vamos começar com a importação da chave, você vai ter que fazer o decode da chave que é em formato base64, isso é bem simples de se fazer:
# echo MjAwIFdpbjdfU1FMMSAxOTIuMTY4LjEwMC4xMDEgZWQ4NDNhNzQxZDc3MWRkNzBlODM0NDhkMWI1NTc3MWUwYWY3OGQ3ODBjMz E4ZWMzODY1OWM3MDI2ODc2NjNmZA== | base64 --decode
Não esqueça de substituir a chave acima pela sua 😉 A saída do comando acima será minha chave em texto claro:
200 Win7_SQL1 192.168.100.101 ed843a741d771dd70e83448d1b55771e0af78d780c318ec38659c702687663fd
Crie um arquivo chamado “client.keys” em C:\Program Files\ossec-agent com a saída acima. Agora adicione o conteúdo abaixo no final do arquivo osse.conf:
<ossec_config> <client> <server-ip>192.168.100.100</server-ip> </client> </ossec_config>
Pronto agora seu agente Ossec deve funcionar, é só iniciar o serviço e voltar um pouco no post para seguir com as dicas. Caso não funcione deixe seu comentário aqui que tentarei ajudar 😉
Bem pessoal é isso ai, espero que tenham curtido. Em breve irei postar outros artigos sobre o Ossec mostrando configurações mais avançadas. Não esqueçam de curtir nossas páginas nas redes sociais, Facebook, G+ e seguir o Guia do Ti no Twitter. Compartilhem e comentem esse artigo, isso é muito importante para divulgação do nosso trabalho.
- Metasploit Framework de cabo a rabo – Parte 6 - 4 de junho de 2018
- Metasploit Framework de cabo a rabo – Parte 5 - 28 de maio de 2018
- CEH – Scanning Networks – Parte 2 - 24 de maio de 2018
Poderia criar um vídeo do zero sobre o assunto, passos a passos …