IDS - Intrusion Detection System
Last updated
Was this helpful?
Last updated
Was this helpful?
A ideia desse mecanismo de defesa é de alertar ataques na rede. Ele alerta ao administrador quando por exemplo, fizemos um scan de porta, interagimos com o serviço, conseguimos explorar algum serviço, etc, para que ele saiba que esse ambiente está sendo atacado. Sua função então é monitorar e avisar essas ocorrências de acordo com as regras que está configurado. Para isso, vamos instalar o snort, que é um software de detecção de intrusos.
Sua pasta fica localizada em /etc/snort. Os arquivos de configuração é o snort.conf e as regras ficam dentro de rules.
Vamos utilizar o parâmetro -A fast para salvar numa saída mais rápida, -q para entrar no modo quiet e não mostrar muitos resultados no output, -h para informar a rede, -c para informar qual o arquivo de configuração.
Assim que executarmos esse comando, o output será salvo no arquivo alert, o caminho desse arquivo é /var/log/snort.
Obs: ao invés de passarmos o "fast" podemos usar "console" para ir exibindo os resultados direto no terminal, evitando assim ter que abrir o arquivo para visualizar.
Para criar uma regra, basta criar um arquivo com extensão .rules dentro da pasta rules, seguindo o padrão abaixo.
Após criar o arquivo com a regra, é necessário incluir no arquivo de configuração do snort. Para isso basta adicionar include $RULE_PATH/<arquivo>.rules
Para conseguirmos dar bypass em uma regra de IDS, precisamos saber como que uma regra funciona para burlarmos ela. Por exemplo, quando usamos o protocolo ICMP enviando um ping para o alvo, o snort irá mostrar alguns alertas com uma mensagem IMCP PING *NIX. Essa mensagem está configurado nas regras, como dito anteriormente, elas ficam salvas em /etc/snort/rules. Sabendo disso, podemos filtrar por essa frase nas regras e ver como ela está configurada.
Podemos ver que ele analisa o itype (o tipo do protocolo IMCP é 8) e o content (uma sequência em hexadecimal) se caso essas duas condições sejam igual o que está nessa regra, ele irá alertar. Vamos enviar um ping para nós mesmos e analisar no wireshark para visualizar, filtrando os pacotes ICMP.
Podemos notar que tudo está de acordo, o Type 8 e no campo Data, contém o valor 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F. Com isso, para bypassar essa regra, podemos mudar o content que está sendo analisado pelo snort.
O ping possui o parâmetro -p que podemos enviar um hexadecimal manualmente.
Analisando esse pacote, podemos ver que o conteúdo foi alterado, burlando essa regra.