detector de intrusão snort: 1º parte

Discussão em 'Tutoriais' iniciado por kodo no kami, 10 Junho 2016.

  1. kodo no kami
    Offline

    kodo no kami Membro Conhecido

    Afiliado:
    16 Dezembro 2015
    Mensagens:
    240
    Sexo:
    Masculino
    Avaliações:
    +324 / -0
    então galera quase todo mundo uma vez ou outra acaba ficando preocupado com a segurança do computador seja por causa de um virus qualquer ou ate de um hacker invadir o computador e roubar os dados (ahh meus nudes kkk), embora a maioria dos ataques hoje seja voltados a engenharia social e não é atoa ja que o lado mais fraco do sistema é o ser humano que o controla ou seja se a gente nao baixar o malware o computador nao sera infectado por um (tirando alguns tipos especificos é claro como o worms e auto-infect), mesmo usando nosso antivirus preferido que consideramos como o melhor não estamos seguros isso por que ate mesmo o antivirus é possivel burlar bastando usar um crypter para deixar o malware indetectável e isso vale para qualquer antivirus independente se é pago ou nao (ou aqueles que instala automaticamente e magicamente do nada, saporra de antivirus é o proprio virus kkk), com isso a gente nao pode deixar toda a segurança baseada em um antivirus isso é se ele é possivel burlar o que vai te proteger entao contra uma invasão? no caso um bom firewall bem configurado pode deixar seu sistema mais seguro contra alguns tipos especificos de malwares principalmente os de acesso remoto (trojan, backdoor, rat), uma boa sandbox pode proteger seu sistema contra modificação de alguns virus, outra ferramenta sendo ela que vamos ver nesse tutorial são os detectores de intrusos tambem chamado de IDS, os detectores de intruso detecta padroes específicos de ataque especificos e com base neles é possivel detectar um ataque em tempo real e com isso tomar determinadas medidas durante um ataque, o IDS que vamos ver nesse tutorial é o snort que é uma ferramenta com base em comandos e pode ser baixado no site oficial ela tem tanto para windows quanto para linux

    Código (Forge Crash):
    www .snort.org.br
    o snort funciona como um sniffer ou seja ele é um IDS passivo que fica capturando os pacotes passados pela rede ou pela maquina dependendo da topologia ou do que os conecta, ele tambem permite armazenar os pacotes que podem ser lidos por outros programas como tcpdump e wireshark, alem de ser possivel filtrar pacotes especificos e ignorar os outros ou seja se voce fosse detectar ataques de DNS nao precisaria mexer com pacotes TCP ja que o DNS usa UDP ou ate melhor filtra apenas a porta de DNS, o snort trabalha com regras especificas e é por essas regras que detectamos padroes de ataque ou seja voce pode criar regras especificas para ataques especificos (descubra como um ataque funciona com isso voce vai descobrir como atacar da mesma forma e ao mesmo tempo vai aprender a se proteger desse ataque), com o snort voce sabendo como o ataque funciona voce pode criar uma regra que detecta esse ataque e é isso que vamos aprender mais para frente criar regras e usar ferramenta a snort, antes disso vou dizer uma coisa bem legal uma forma de usar uma maquina para proteger a rede toda vamos ver a melhor topologia para o uso dele no caso, como ja sabemos o snort é passivo ou seja fica apenas capturando entao ou trafego da rede precisa passar pela maquina que é snort antes das outras ou usar um hub (no caso o hub ele envia o pacote para todas as portas dele ou seja independente se o pacote e para a maquina ou nao ela vai receber o pacote, diferente do que acontece com um switch ou roteador), outra coisa que precisamos é usar a maquina snort conectada diretamente ao modem como ponte (bridge) isso por que alguns modens tambem atua como roteador e eles mesmo fazem a conexao com o provedor e ao mesmo tempo NAT com a rede interna ou seja toda a maquina ligada ao modem seja por um hub estaria conectada a internet diferente do modo bridge que cada maquina teria que fazer a conexao com provedor para esta ligada a internet (esse modo é menos usado por que os provedores limita a quantidade de conexao ja que cada conexao de cada maquina sua recebe um IP valido do provedor ou seja muitas maquinas dos clientes acabaria esgotando o range de IP do provedor diferente do modo roteador ou ate usar um roteador mesmo para conectar no modem ja que so receberia um IP), entao kodo se é limitado por que usar esse modo? pelo simples fato que o modo bridge nao precisa abrir porta ja que todas as portas referente ao modem e aquele IP vai esta liberada para aquela maquina especifica por outro lado se usar o modo roteador e a pessoa de fora tentar invadir seu servidor http que esta na sua maquina se nao estiver liberado a porta nem vai chegar na sua maquina com isso o snort nao vai detectar a tentativa de invasao, uma forma de contonar as conexões do modo bridge é transformar sua maquina em um servidor de proxy ou seja todas as maquina na rede interna usa a sua maquina para conectar a internet outra forma seria tranforma sua maquina em um roteador que é mais facil no linux ja que é so setar um numero em arquivo

    [​IMG]

    com essa topologia a maquina que tem o snort pode tanto capturar os pacotes que vem da internet quanto os ataques que parte de dentro da rede (temos que considerar tambem que nao é topologia mais segura ja que se a maquina snort for comprometida ja era voce vai ter grandes problemas kkk), bom esquecendo um pouco a parte teorica se nao isso aqui vai ficar um pouquinho grande vamos aprender usar o snort no caso nao vou abordar a instalação dele ja que nao é muito complicada porem se tiver duvida eu faço um tutorial apenas da instalação dele \o, o primeiro comando que a gente pode ver no snort é apenas ele sem nenhum argumento isso faz ele capturar os pacote como sniffer

    Código (Forge Crash):
    snort
    [​IMG]

    o comando anterior vai fazer ele capturar os pacotes conforme a gente for navegando na internet ele vai mostrar um cabeçalhos simples do pacote sendo a hora, o IP e a porta da fonte seguido do IP do destino, entre outras informaçoes como tamanho pacote e flags do protocolo, para a gente parar a captura basta apartar control+c e com isso no final mostra os tipos e estatisticas dos pacotes capturados

    [​IMG]

    a gente pode usar o argumento -e para mostra um pouco mais de informações como MAC e outros referente a camada de enlace

    Código (Forge Crash):
    snort -e
    [​IMG]

    com o argumento -d mostra os bytes do pacote

    Código (Forge Crash):
    snort -d
    [​IMG]

    podemos usar o argumento -C para mostrar os caracteres sem o codigo hexadecimal sendo bom para capturar cookies e strings alem de outras headers, no caso esse comando deve ser usado em conjunto com anterior podendo ser usado separadamente dessa forma

    Código (Forge Crash):
    snort -d -C
    ou junto dessa forma (podendo inverter tambem e o mesmo vale para outros argumentos)

    Código (Forge Crash):
    snort -dC
    [​IMG]

    o -l permite a gente escolhe o diretorio onde sera armazenado os logs do pacote, quando a gente usa esse argumento nao é mostrado os pacotes capturados apenas armazenados em um arquivo no diretorio escolhido

    Código (Forge Crash):
    snort -l /home/kodo/Desktop
    [​IMG]

    podemos usar o -K para escolher o tipo de log que sera salvo sendo eles pcap (padrao) e ascii que gera diretorios para cada IP e dentro deles arquivos com texto logs

    Código (Forge Crash):
    snort -l /home/kodo/Desktop -K ascii
    para ler o log podemos usar o proprio snort com o argument -r seguido do arquivo (tambem é possivel usar os argumentos anteriores nele como -de)

    Código (Forge Crash):
    snort -r snort.log.1453120877
    ou abrir o arquivo em algum outro programa que aceite logs pcap como por exemplo o wireshark

    [​IMG]

    para especificar uma interface de rede usamos -i

    Código (Forge Crash):
    snort -i eth0
    para capturar um numero maximo de pacotes usamos -n seguido da quantidade

    Código (Forge Crash):
    snort -n 1000
    podemos usar o -q para nao exibir o banner e nem as estatisticas no final

    Código (Forge Crash):
    snort -q
    para filtrar pacotes especificos usamos o -f seguido do filtro, para filtrar uma porta especifica usamos port seguido da porta (como existe espaço no filtro deve ser colocado entre aspas)

    Código (Forge Crash):
    snort -f "port 80"
    para filtrar apenas portas de destino especificas usamos o filtro "dst port" seguido da porta

    Código (Forge Crash):
    snort -f "dst port 80"
    para filtrar portas da fonte usamos "src port" seguido da porta

    Código (Forge Crash):
    snort -f "src port 80"
    com a logica or podemos especificar dois ou mais argumentos para o filtro (assim podemos capturar tanto o pacote que vai para o servidor quanto o que vem dele embora o mesmo possa ser feito apenas usando o port)

    Código (Forge Crash):
    snort -f "dst port 80 or src port 80"
    podemos usar o or para especificar varias portas ao mesmo tempo

    Código (Forge Crash):
    snort -f "port 80 or port 21 or port 443 or port 22"
    tambem é possivel especificar protolocos como tcp, udp, icmp, arp, sctp, entre outros

    Código (Forge Crash):
    snort -f "tcp"
    pode ser combinado com a logica or tambem

    Código (Forge Crash):
    snort -f "tcp or udp"
    com a logica and apenas se todos os argumentos forem satisfeito o sera filtrado com isso podemos especificar filtros mais preciso

    Código (Forge Crash):
    snort -f "udp and port 53"
    com a logica not ele inverte a logica por exemplo "not udp" ele mostra qualquer pacote que nao seja udp

    Código (Forge Crash):
    snort -f "not udp"
    tambem podemos especificar um ip da fonte sendo ele src seguido do ip

    Código (Forge Crash):
    snort -f "src 192.168.1.1"
    ou do destino sendo dst seguido do ip

    Código (Forge Crash):
    snort -f "dst 192.168.1.1"
    agora a gente ja pode fazer uma combinação de comandos no snort

    Código (Forge Crash):
    snort -qdeCf "port 53 and udp"
    [​IMG]

    bom galera ate agora a gente apenas viu o funcionamento do snort como sniffer vamos ver o funcionamento dele como IDS e criar regras na segunda parte do tutorial entao ate la \o

    by kodo no kami
     

Compartilhe esta Página