Entendendo e Realizando uma Varredura SYN do Nmap
Agora que temos um serviço alvo em execução, é hora de mergulhar nas varreduras SYN. As varreduras SYN são uma parte crucial dos testes de segurança de rede, permitindo-nos descobrir portas abertas em um sistema alvo. Nesta seção, aprenderemos como as varreduras SYN funcionam e, em seguida, usaremos o Nmap, uma poderosa ferramenta de varredura de rede, para realizar uma varredura SYN em nosso servidor HTTP.
O que é uma Varredura SYN?
Antes de iniciarmos a varredura real, é essencial entender o mecanismo subjacente de uma varredura SYN. Para fazer isso, vamos primeiro analisar como uma conexão TCP normal é estabelecida.
Conexão TCP Normal
Em uma conexão TCP normal, ocorre um handshake de três vias. Este é um processo fundamental para estabelecer uma conexão confiável entre um cliente e um servidor:
- Etapa 1: Pacote SYN do Cliente
O cliente inicia a conexão enviando um pacote SYN (synchronize) ao servidor. Este pacote é como uma solicitação para iniciar uma conversa, perguntando ao servidor se ele está pronto para se comunicar.
- Etapa 2: Pacote SYN-ACK do Servidor
Ao receber o pacote SYN, se o servidor estiver disponível e disposto a se comunicar, ele responde com um pacote SYN-ACK (synchronize - acknowledge). Este pacote reconhece a solicitação do cliente e também indica que o servidor está pronto para iniciar a conexão.
- Etapa 3: Pacote ACK do Cliente
Finalmente, o cliente envia um pacote ACK (acknowledge) para completar o handshake de três vias. Após esta etapa, a conexão TCP é totalmente estabelecida e os dados podem ser trocados entre o cliente e o servidor.
Processo de Varredura SYN
Uma varredura SYN, por outro lado, tem uma abordagem diferente:
- Etapa 1: Pacote SYN do Nmap
O Nmap, nossa ferramenta de varredura, envia o pacote SYN inicial para a porta alvo. Isso é semelhante à primeira etapa em uma conexão TCP normal.
- Etapa 2: Resposta SYN-ACK do Alvo
Se a porta alvo estiver aberta, ela responderá com um pacote SYN-ACK, assim como em uma conexão TCP normal.
- Etapa 3: Término da Conexão pelo Nmap
Em vez de enviar o pacote ACK final para completar o handshake, o Nmap encerra a conexão. Isso torna a varredura menos detectável porque a conexão completa nunca é estabelecida. Além disso, é mais rápido do que uma varredura de conexão completa, que completa todo o handshake de três vias para cada porta que está sendo varrida.
Executando a Varredura SYN
Etapa 1: Navegue até o Diretório do Projeto
Primeiro, precisamos ter certeza de que estamos no diretório do projeto correto. Isso é importante porque salvaremos os resultados da varredura em um arquivo dentro deste diretório. Para navegar até o diretório do projeto, execute o seguinte comando em seu terminal:
cd /home/labex/project
Etapa 2: Execute a Varredura SYN
Agora, estamos prontos para executar a varredura SYN usando o Nmap. Execute o seguinte comando em seu terminal:
sudo nmap -sS localhost -p 8080 > /home/labex/project/nmap-syn-scan-results.txt
Vamos detalhar este comando para entender o que cada parte faz:
sudo: Este comando é usado para executar o comando subsequente com privilégios elevados. As varreduras SYN exigem privilégios de root porque envolvem o envio de pacotes de rede brutos, então precisamos usar sudo para executar o comando nmap.
nmap: Esta é a ferramenta de varredura de rede que estamos usando. O Nmap é amplamente utilizado para exploração de rede e auditoria de segurança.
-sS: Esta opção especifica que queremos realizar uma varredura SYN.
localhost: Este é o alvo de nossa varredura. Neste caso, estamos varrendo nossa própria máquina.
-p 8080: Esta opção informa ao Nmap para varrer apenas a porta 8080. Estamos interessados em verificar se esta porta específica está aberta em nossa máquina local.
> /home/labex/project/nmap-syn-scan-results.txt: Esta parte do comando redireciona a saída da varredura nmap para um arquivo chamado nmap-syn-scan-results.txt no diretório do projeto. Desta forma, podemos revisar os resultados mais tarde.
Etapa 3: Visualize os Resultados da Varredura
Após a conclusão da varredura, podemos visualizar os resultados. Execute o seguinte comando em seu terminal:
cat /home/labex/project/nmap-syn-scan-results.txt
Você deve ver uma saída semelhante à seguinte:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-18 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
PORT STATE SERVICE
8080/tcp open http-proxy
Nmap done: 1 IP address (1 host up) scanned in 0.03 seconds
Esta saída fornece informações valiosas. Ela confirma que a porta 8080 está aberta em sua máquina local e que está executando um serviço HTTP. Essas informações podem ser usadas para análise de segurança adicional ou solução de problemas de rede.