IPS - Intrusion Prevention System / Bloqueio de Port Scanning
O IPS também é um mecanismo de defesa que impede que o atacante execute seu port scanning com sucesso, colocando seu ip em uma lista de bloqueio. Para isso, vamos utilizar o portcentry. Ele vai simular algumas portas falsas na nossa máquina e misturar com as portas originais, assim que o atacante fizer um scan em uma dessas portas falsas, o sistema já dispara uma ação para realizar o bloqueio.
sudo apt install portsentryO portsentry fica localizado em /etc/portsentry. Se utilizarmos o netstat para ver as portas abertas, teremos apenas duas (antes de utilizar o portsentry).
┌──(user㉿kali)-[~/Desktop]
└─$ netstat -nlpt
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN - Quando startamos o serviço, podemos perceber que ele irá gerar as portas falsas.
┌──(user㉿kali)-[~/Desktop]
└─$ netstat -nlpt
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:1080 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:12345 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:12346 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:635 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:49724 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:540 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:1 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:20034 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:32771 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:32772 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:40421 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:32773 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:1524 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:119 0.0.0.0:* LISTEN -
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN - No portsentry.conf há um parte em que você pode fazer o bloqueio de porta TCP e UDP, basta passar o valor de "1".
Por agora, vamos deixar como 0 para vermos alguns detalhes.
Outras configurações que vamos fazer, é comentar essa linha. Essa configuração basicamente adiciona uma regra de bloqueio de rota do IP que está atacando.
Ao invés de usar essa regra, vamos utilizar a do iptables. Que vai adicionar uma regra de DROP para o alvo. Nesse caso vamos descomentar a linha.
Pronto, configurações finalizadas.
Quando fazemos um scan para detectar qual é o tipo de serviço que está rodando em determinada porta, ele retorna "tcpwrapped" para aquelas portas que o portsentry subiu como portas falsas. As demais que realmente estavam abertas, a resposta vem normalmente dizendo qual o tipo de serviço.
Quando o nmap retorna com esse "tcpwrapped", é muito provável que tenha um firewall ou algum IPS bloqueando esse serviço (o alvo estabeleceu o 3WH, só que depois ele bloqueou o acesso, ou enviou um RST de volta, etc). Esse detalhe é muito importante, por isso não foi habilitado ainda para bloqueio, para que pudéssemos ver como que é retornado caso acontecer isso.
Agora, vamos setar as configurações para bloquear.
Precisamos reiniciar o portsentry após isso.
Ao fazer o scan, percebemos que não há resposta alguma, e nosso IP foi colocado em uma lista de bloqueio.
Porém, precisamos de saber um detalhe. Para isso, vamos apagar o nosso IP da lista de bloqueio e resetar as regras do iptables com o comando iptables -F. O que acontece é que quando fazemos um Syn Scan, mesmo com esse bloqueio, ele retorna as portas. Para isso não ocorrer, precisamos setar uma outra configuração no portsentry.
Primeiramente precisamos parar o serviço do portsentry com service portsentry stop. Vamos localizar onde está o binário do portsentry com whereis portsentry. Vamos direto onde está o binário dele para aplicar uma outra configuração.
Esse -stcp é justamente para evitar scans "sealth", ele não aguarda o 3WH ser concluído para dropar. Executamos então
Pronto, agora está bloqueando Syn Scan.
Last updated
Was this helpful?