Introdução
Neste laboratório, aprenderemos como combinar a detecção de sistema operacional e serviços no Nmap para reunir informações abrangentes sobre uma máquina alvo. Usaremos as opções -O e -sV do Nmap para identificar o SO (Sistema Operacional) e as versões dos serviços em execução em um endereço IP alvo, como 192.168.1.1.
O laboratório inclui etapas para executar varreduras combinadas, especificar portas alvo, adicionar verbosidade, salvar os resultados em um arquivo e analisar a saída no terminal Xfce. Também compararemos os resultados da varredura combinada com varreduras individuais para entender os benefícios dessa abordagem. Lembre-se de apenas escanear redes que você possui ou para as quais tem permissão para escanear.
Executar varredura combinada com nmap -O -sV 192.168.1.1
Nesta etapa, realizaremos uma varredura combinada usando o Nmap para identificar o sistema operacional e as versões dos serviços em execução em uma máquina alvo. Esta é uma técnica poderosa para reunir informações sobre uma rede e seus dispositivos.
Nmap é uma ferramenta versátil de varredura de rede. As opções usadas nesta etapa são:
-O: Habilita a detecção do sistema operacional. O Nmap tenta determinar o SO da máquina alvo analisando suas respostas de rede.-sV: Habilita a detecção da versão do serviço. O Nmap sonda as portas abertas para determinar o nome do aplicativo e o número da versão.192.168.1.1: Este é o endereço IP alvo. Substitua-o pelo endereço IP real da máquina que você deseja escanear. Se você não tiver um alvo específico, pode usar o endereço IP da sua própria máquina ou um IP de teste comoscanme.nmap.org. No entanto, para este laboratório, assumiremos que192.168.1.1é um alvo válido em sua rede. Se não for, você precisará substituir por um endereço IP válido.
Antes de executar a varredura, é importante entender que escanear redes sem permissão é ilegal. Apenas escaneie redes que você possui ou para as quais tem permissão explícita para escanear.
Agora, vamos executar a varredura combinada. Abra seu terminal Xfce.
- Execute o seguinte comando:
sudo nmap -O -sV 192.168.1.1
Você provavelmente será solicitado a inserir sua senha. Como o usuário labex tem privilégios sudo sem senha, basta pressionar Enter.
A saída mostrará o progresso do Nmap enquanto ele sonda a máquina alvo. Ele tentará identificar o sistema operacional e as versões dos serviços em execução nas portas abertas.
Exemplo de saída (a saída real variará dependendo da máquina alvo):
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for 192.168.1.1
Host is up (0.0012s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (protocol 2.0)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
443/tcp open ssl/http Apache httpd 2.4.29 ((Ubuntu) OpenSSL 1.1.1)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.23 seconds
Esta saída mostra que o Nmap identificou que o alvo está executando um sistema operacional Linux e detectou as versões dos serviços SSH, HTTP e HTTPS.
Varredura de portas específicas com nmap -O -sV -p 22,80 127.0.0.1
Nesta etapa, nos concentraremos em escanear portas específicas usando o Nmap. Isso é útil quando você deseja restringir sua varredura apenas às portas que provavelmente estão executando serviços interessantes.
As opções usadas nesta etapa são:
-O: Habilita a detecção do sistema operacional.-sV: Habilita a detecção da versão do serviço.-p 22,80: Especifica as portas a serem escaneadas. Neste caso, estamos escaneando a porta 22 (SSH) e a porta 80 (HTTP). Você pode especificar uma única porta, uma faixa de portas (por exemplo,1-100) ou uma lista de portas separadas por vírgulas.127.0.0.1: Este é o endereço de loopback, que se refere à sua própria máquina.
Escanear portas específicas pode reduzir significativamente o tempo de varredura e facilitar a identificação dos serviços em execução em uma máquina alvo.
Agora, vamos executar a varredura. Abra seu terminal Xfce.
- Execute o seguinte comando:
sudo nmap -O -sV -p 22,80 127.0.0.1
Você provavelmente será solicitado a inserir sua senha. Como o usuário labex tem privilégios sudo sem senha, basta pressionar Enter.
A saída mostrará o progresso do Nmap enquanto ele sonda as portas 22 e 80 em sua máquina local. Ele tentará identificar o sistema operacional e as versões dos serviços em execução nessas portas.
Exemplo de saída (a saída real variará dependendo da configuração do seu sistema):
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000047s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
OS details: Linux 3.2 - 4.9
Network Distance: 0 hops
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds
Esta saída mostra que o Nmap identificou o OpenSSH na porta 22 e o Apache httpd na porta 80. A detecção do SO também fornece informações sobre a versão do kernel Linux.
Adicionar verbosidade com nmap -v -O -sV 192.168.1.1
Nesta etapa, adicionaremos verbosidade à nossa varredura Nmap. A verbosidade fornece informações mais detalhadas sobre o processo de varredura, o que pode ser útil para solucionar problemas ou entender como o Nmap está funcionando.
As opções usadas nesta etapa são:
-v: Habilita o modo verbose. Esta opção aumenta a quantidade de informações exibidas durante a varredura. Você pode usar-vvpara ainda mais verbosidade.-O: Habilita a detecção do sistema operacional.-sV: Habilita a detecção da versão do serviço.192.168.1.1: Este é o endereço IP alvo. Como na primeira etapa, substitua-o pelo endereço IP real da máquina que você deseja escanear. Se não for, você precisará substituir por um endereço IP válido.
O modo verbose pode ser útil para ver exatamente o que o Nmap está fazendo, incluindo as sondas que ele está enviando e as respostas que está recebendo.
Agora, vamos executar a varredura com verbosidade. Abra seu terminal Xfce.
- Execute o seguinte comando:
sudo nmap -v -O -sV 192.168.1.1
Você provavelmente será solicitado a inserir sua senha. Como o usuário labex tem privilégios sudo sem senha, basta pressionar Enter.
A saída será mais detalhada do que as varreduras anteriores. Você verá informações sobre os diferentes estágios da varredura, como descoberta de host, varredura de portas e detecção da versão do serviço.
Exemplo de saída (a saída real variará dependendo da máquina alvo e das condições da rede):
Starting Nmap 7.80 ( https://nmap.org )
NSE: Loaded 151 scripts for scanning.
Initiating Ping Scan at 14:35
Scanning 192.168.1.1 [4 ports]
Completed Ping Scan at 14:35, 0.00s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 14:35
Completed Parallel DNS resolution of 1 host. at 14:35, 0.00s elapsed
Initiating SYN Stealth Scan at 14:35
Scanning 192.168.1.1 [1000 ports]
Discovered open port 22/tcp on 192.168.1.1
Discovered open port 80/tcp on 192.168.1.1
Discovered open port 443/tcp on 192.168.1.1
Completed SYN Stealth Scan at 14:35, 0.12s elapsed (1000 total ports)
Initiating Service scan at 14:35
Scanning 3 services on 192.168.1.1
Completed Service scan at 14:35, 6.23s elapsed (3 services total)
Initiating OS detection (try #1) against 192.168.1.1
... (more output) ...
Nmap scan report for 192.168.1.1
Host is up (0.00088s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (protocol 2.0)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
443/tcp open ssl/http Apache httpd 2.4.29 ((Ubuntu) OpenSSL 1.1.1)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.23 seconds
Observe as informações adicionais sobre as fases da varredura, como "Initiating Ping Scan" e "Initiating Service scan". Isso pode ser útil para entender o processo de varredura e identificar quaisquer problemas potenciais.
Salvar resultados combinados com nmap -O -sV -oN os_service.txt 127.0.0.1
Nesta etapa, salvaremos os resultados da nossa varredura Nmap em um arquivo. Isso é útil para análise posterior ou para compartilhar os resultados com outras pessoas.
As opções usadas nesta etapa são:
-O: Habilita a detecção do sistema operacional.-sV: Habilita a detecção da versão do serviço.-oN os_service.txt: Especifica o arquivo de saída e o formato.-oNespecifica a saída normal, que é legível por humanos. A saída será salva no arquivoos_service.txtem seu diretório atual (~/project).127.0.0.1: Este é o endereço de loopback, que se refere à sua própria máquina.
Salvar a saída em um arquivo permite que você revise os resultados mais tarde sem ter que executar a varredura novamente. Também facilita a comparação dos resultados de diferentes varreduras.
Agora, vamos executar a varredura e salvar os resultados. Abra seu terminal Xfce.
- Execute o seguinte comando:
sudo nmap -O -sV -oN os_service.txt 127.0.0.1
Você provavelmente será solicitado a inserir sua senha. Como o usuário labex tem privilégios sudo sem senha, basta pressionar Enter.
A saída será exibida na tela como de costume, mas também será salva no arquivo os_service.txt em seu diretório ~/project.
- Para verificar se o arquivo foi criado e contém os resultados da varredura, use o comando
cat:
cat os_service.txt
Isso exibirá o conteúdo do arquivo os_service.txt no terminal. Você deve ver os resultados da varredura Nmap, incluindo as portas abertas, serviços e informações do sistema operacional.
Exemplo de saída (a saída real variará dependendo da configuração do seu sistema):
## Nmap 7.80 scan initiated Mon Aug 8 14:42:30 2022
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000047s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
OS details: Linux 3.2 - 4.9
Network Distance: 0 hops
## Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds
Você também pode usar o comando ls -l para verificar o tamanho do arquivo e a data de modificação:
ls -l os_service.txt
Isso mostrará as permissões do arquivo, o tamanho e a última hora de modificação.
Analisar a saída de SO e serviços no terminal Xfce
Nesta etapa, analisaremos a saída da varredura Nmap que salvamos na etapa anterior (os_service.txt). Nos concentraremos em entender as informações que o Nmap fornece sobre o sistema operacional e os serviços em execução do alvo.
O arquivo os_service.txt contém um relatório legível por humanos dos resultados da varredura. Vamos examinar as seções principais:
Portas Abertas: Esta seção lista as portas que estão abertas na máquina alvo. Portas abertas indicam que um serviço está ouvindo por conexões nessa porta.
Serviços: Para cada porta aberta, o Nmap tenta identificar o serviço que está em execução. Essa informação é exibida na coluna "SERVICE".
Versões: O Nmap também tenta determinar a versão do serviço. Essa informação é exibida na coluna "VERSION". Conhecer a versão do serviço é crucial para identificar possíveis vulnerabilidades.
Detalhes do SO: O Nmap tenta identificar o sistema operacional em execução na máquina alvo. Essa informação é exibida na seção "OS details".
Agora, vamos analisar a saída no terminal Xfce.
- Abra o arquivo
os_service.txtusando o comandocat:
cat os_service.txt
Examine a saída. Você deve ver algo semelhante ao seguinte (a saída real variará dependendo da configuração do seu sistema):
## Nmap 7.80 scan initiated Mon Aug 8 14:42:30 2022
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000047s latency).
Not shown: 998 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
OS details: Linux 3.2 - 4.9
Network Distance: 0 hops
## Nmap done: 1 IP address (1 host up) scanned in 5.23 seconds
- Analisando a Saída:
- Porta 22/tcp: Esta porta está aberta e executando o serviço SSH (OpenSSH 8.2p1 Ubuntu 4ubuntu0.4). SSH é usado para acesso remoto seguro à máquina.
- Porta 80/tcp: Esta porta está aberta e executando o serviço HTTP (Apache httpd 2.4.41 ((Ubuntu))). HTTP é usado para servir páginas da web.
- Detalhes do SO: O Nmap identificou o sistema operacional como Linux (Linux 3.2 - 4.9).
Ao analisar essa saída, você pode obter informações valiosas sobre a configuração da máquina alvo e possíveis vulnerabilidades. Por exemplo, conhecer as versões dos serviços permite que você pesquise vulnerabilidades conhecidas associadas a essas versões.
Esta etapa demonstra como interpretar a saída de uma varredura Nmap para identificar portas abertas, serviços em execução e o sistema operacional. Essa informação é essencial para avaliações de segurança e testes de penetração.
Comparar com varreduras individuais no terminal Xfce
Nesta etapa, compararemos os resultados da varredura combinada (os_service.txt) com os resultados que você obteria ao executar varreduras individuais para detecção de SO e detecção de versão de serviço. Isso ajudará você a entender os benefícios de usar varreduras combinadas e como elas podem economizar tempo.
Para fazer isso de forma eficaz, simularemos varreduras individuais usando grep para extrair as informações relevantes do arquivo os_service.txt. Isso evita a necessidade de executar novamente as varreduras, economizando tempo e recursos.
Simular Varredura de Detecção de SO:
Podemos simular uma varredura de detecção de SO pesquisando a seção "OS details" no arquivo
os_service.txt.Execute o seguinte comando:
grep "OS details" os_service.txt
Isso exibirá a linha contendo os detalhes do SO, semelhante a:
OS details: Linux 3.2 - 4.9
Simular Varredura de Detecção de Versão de Serviço:
Podemos simular uma varredura de detecção de versão de serviço pesquisando linhas contendo informações de serviço e versão.
Execute o seguinte comando:
grep -E "[0-9]+/tcp open" os_service.txt
Este comando usa grep -E para habilitar expressões regulares estendidas. O padrão [0-9]+/tcp open pesquisa linhas que começam com um número (representando o número da porta), seguido por "/tcp open". Isso extrairá as linhas contendo informações de serviço e versão, semelhante a:
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.4 (protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
Comparar os Resultados:
Agora, compare a saída dos comandos
grepcom a saída completa emos_service.txt. Você notará que a varredura combinada fornece todas as mesmas informações em uma única varredura.A varredura combinada (
nmap -O -sV) é mais eficiente porque executa a detecção de SO e a detecção de versão de serviço em uma única passagem. Isso reduz o tempo total de varredura e o tráfego de rede.
Em resumo, esta etapa demonstra como comparar os resultados de uma varredura Nmap combinada com os resultados que você obteria ao executar varreduras individuais. Ao usar varreduras combinadas, você pode economizar tempo e recursos, obtendo ainda informações abrangentes sobre o alvo.
Resumo
Neste laboratório, realizamos a detecção combinada de SO e versão de serviço usando o Nmap. A principal conclusão é usar as flags -O e -sV juntas para identificar tanto o sistema operacional quanto as versões dos serviços em execução em uma máquina alvo. Isso fornece uma compreensão mais abrangente da configuração do alvo.
Também aprendemos como especificar endereços IP de destino, adicionar verbosidade com a flag -v e salvar os resultados da varredura em um arquivo usando a opção -oN. Além disso, praticamos a análise da saída no terminal Xfce e a comparação dos resultados com varreduras individuais para entender a eficácia da varredura combinada.



