Pages: [1]   Go Down
Author Topic: [tutorial] detector de intrusão snort: 1º parte  (Read 1897 times)
kodo no kami
RegMem
*

Karma: +0/-0
Offline Offline

Posts: 44


« on: January 18, 2016, 07:14:21 PM »

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

site oficial

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



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

Code:
snort



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



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

Code:
snort -e



com o argumento -d mostra os bytes do pacote

Code:
snort -d



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

Code:
snort -d -C

ou junto dessa forma (podendo inverter tambem e o mesmo vale para outros argumentos)

Code:
snort -dC



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

Code:
snort -l /home/kodo/Desktop



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

Code:
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)

Code:
snort -r snort.log.1453120877

ou abrir o arquivo em algum outro programa que aceite logs pcap como por exemplo o wireshark



para especificar uma interface de rede usamos -i

Code:
snort -i eth0

para capturar um numero maximo de pacotes usamos -n seguido da quantidade

Code:
snort -n 1000

podemos usar o -q para nao exibir o banner e nem as estatisticas no final

Code:
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)

Code:
snort -f "port 80"

para filtrar apenas portas de destino especificas usamos o filtro "dst port" seguido da porta

Code:
snort -f "dst port 80"

para filtrar portas da fonte usamos "src port" seguido da porta

Code:
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)

Code:
snort -f "dst port 80 or src port 80"

podemos usar o or para especificar varias portas ao mesmo tempo

Code:
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

Code:
snort -f "tcp"

pode ser combinado com a logica or tambem

Code:
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

Code:
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

Code:
snort -f "not udp"

tambem podemos especificar um ip da fonte sendo ele src seguido do ip

Code:
snort -f "src 192.168.1.1"

ou do destino sendo dst seguido do ip

Code:
snort -f "dst 192.168.1.1"

agora a gente ja pode fazer uma combinação de comandos no snort

Code:
snort -qdeCf "port 53 and udp"



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
Logged

Pages: [1]   Go Up
Print
Jump to: