CEH – Scanning Networks – Parte 2
Fala galera! No post de hoje, dando continuidade a série CEH, iremos ver a segunda parte do módulo de scanning de rede que começamos ver na semana passada. Nesse módulo iremos ver os tipos de scanning, fluxo de funcionamento, além de cobrir todos os passos da metodologia de scanning de redes. Estou tentando deixar os posts da melhor forma possível, mas sempre tem algo que podemos melhorar, por isso o feedback de vocês é muito importante, use e abuse dos comentários 🙂
Caso você ainda não tenha visto os outros posts da série CEH, recomendo fortemente a leitura antes de continuar aqui. Já falamos sobre a certificação como um todo, sobre o universo e caracteristicas do ethical hacking, padrões e normas de mercado, footprinting e reconnaissance, scanning de redes e muito mais. Para checar acesse Série Certified Ethical Hacker.
Metodologia
A metodologia de scanning é composta por sete etapas basicamente. Pessoalmente eu não concordo muito com essa ordem, principalmente com as etapas 3 e 7. Acho que no dia-a-dia isso não se aplica muito, mas essa série de posts é sobre a certificação CEH, então temos que nos adequar ao conteúdo proposto =/
Todos os exemplos nesse post serão utilizando o NMAP. O nmap é um software de port scanning de código aberto desenvolvido por Gordon Lyon (Fyodor). É um dos scanners mais famosos e utilizados no mundo. Ele é conhecido pela sua rapidez e pelas opções que dispõe. O Nmap é um programa CUI (Console User Interface), mas ele tem uma interface gráfica, o Zenmap. O software fornece diversos recursos para varredura de redes, incluindo detecção de hosts e serviço, além de detecção de sistemas operacionais. Esses recursos são extensíveis por scripts que fornecem detecção de serviço mais avançada, detecção de vulnerabilidades, entre outros recursos. O Nmap pode se adaptar às condições da rede, incluindo latência e congestionamento durante uma varredura.
Verificar Sistemas Ativos
Todas as informações necessárias sobre um sistema podem ser obtidas através do envio de pacotes ICMP. Uma vez que o ICMP não tem uma abstração de porta, ele não pode ser considerado um caso de varredura de porta. Nmap é uma ferramenta que pode ser usada para varreduras de ping, também conhecido como descoberta de hosts. Usando esta ferramenta você pode determinar os hosts ativos em uma rede. Ele realiza varreduras ping enviando os pedidos ICMP echo request para todos os hosts da rede. Se o host estiver ativo, ele envia uma resposta ICMP ECHO reply. Essa verificação é útil para localizar dispositivos ativos ou determinar se o protocolo ICMP está sendo bloqueado por algum firewall. A imagem seguinte mostra o exemplo de saída de uma varredura de ping usando Nmap:
# nmap -sn 192.168.26.194
Ping sweep
Ping sweep é uma técnica básica de scanning de redes para determinar qual o range de endereços IP estão ativos. Enquanto um ping único informa ao usuário se existe ou não um computador ativo na rede, o Ping sweep consiste em enviar ICMP Echo request para múltiplos hosts. Se um host está ativo, ele retorna um ICMP ECHO reply. O ping sweep está entre os métodos mais antigos e mais lentos para fazer a varredura de uma rede. Este utilitário é distribuído em quase todas as plataformas, um sistema que está ativo na rede responde a consulta de ping que é enviado por outro sistema.
Para entender o ping, você deve ser capaz de compreender um pacote TCP/IP. Quando um sistema envia um ping, um único pacote é enviado através da rede para um endereço IP específico. Este pacote contém 64 bytes, ou seja, 56 bytes de dados e 8 bytes de informações de cabeçalho do protocolo. Em seguida, o remetente aguarda um pacote de retorno do destino. Um pacote de retorno positivo é esperado somente quando as conexões são boas e quando o alvo está ativo. O ping também determina o número de saltos que se encontram entre os dois computadores e o tempo de ida e volta, ou seja, o tempo total gasto por um pacote para completar a viagem. O ping também pode ser utilizado para a resolução de nomes de host.
Usando o Nmap você é capaz de executar o Ping sweep. O ping sweep determina os endereços IP dos hosts ativos, bem como seu endereço MAC. Ele permite varrer múltiplos hosts e determinar os hosts ativos na rede. A figura abaixo mostra o resultado de uma varredura:
# nmap -sn -PE 192.168.26.0/24
Verificar Portas Abertas
Nessa etapa nós colocamos em prática as técnicas de scanning que aprendemos anteriormente. Eu não vou ficar explicando os parâmetros utilizados nos exemplos, mas já está bem intuitivo, basta ligar o que aprendemos antes com cada exemplo a seguir. Eu pretendo iniciar uma série de posts sobre o Nmap em breve, dai vou poder ir a fundo na ferramenta e explicar todos os detalhes.
TCP Connect / Full Open Scan
# nmap -sT 192.168.26.137 -p-
Stealth Scan / Half-open Scan
# nmap -sS 192.168.26.137
ACK Flag Scan
# nmap -sA 192.168.26.112 -p 445
Null Scan
# nmap -sN 192.168.26.125
Fin Scan
# nmap -sF 192.168.26.149
Xmas Scan
# nmap -sX 192.168.26.166
IDLE Scan
# nmap -Pn -p- -sI <ip.zombie> <ip.alvo>
UDP Scan
# nmap -sU -p 162-162 192.168.26.111
Scanning além do IDS
A maioria das técnicas de evasão de IDS conta com o uso de pacotes fragmentados que são remontados uma vez que eles alcançam o host de destino. A evasão de IDS também pode ocorrer com a utilização de hosts falsos.
Pacotes IP fragmentados – Os atacantes usam diferentes métodos de fragmentação para fugir do IDS. Com a ajuda do fragroute todos os pacotes que fluem a partir do seu host ou rede podem ser fragmentados. Isso também pode ser feito com a ajuda de um scanner de porta com a funcionalidade de fragmentação, tais como o Nmap.
# nmap -f 192.168.26.112
Source routing – Source routing é uma técnica pela qual o emissor de um pacote pode especificar a rota que um pacote deve tomar através da rede. Supõe-se que a origem do pacote conhece as possíveis rotas da rede e pode especificar o melhor caminho para o pacote.
# ping –j 10.71.10.254 4.2.2.2
Banner Grabbing
Banner grabbing é um método para determinar o sistema operacional ou versão de serviço rodando no host alvo. O banner grabbing é muito importante durante a atividade de hacking, pois proporciona uma maior probabilidade de sucesso no ataque, isto porque a maioria das vulnerabilidades são específicas do OS. Portanto, se você conhece o sistema operacional em execução no alvo você pode invadir o sistema explorando as vulnerabilidades conhecidas do sistema operacional.
Banner Grabbing Ativo
O banner grabbing ativo é baseado no princípio que a pilha IP de cada sistema operacional tem uma maneira única de responder a pacotes TCP/IP, que surge devido a diferentes interpretações que os fornecedores aplicam ao implementar a pilha TCP/IP no sistema operacional. No banner grabbing ativo uma variedade de pacotes malformados são enviados para o host alvo e as respostas são comparadas com uma base de dados.
Por exemplo, no Nmap o OS fingerprint ou banner grabbing é feito através de oito testes. Os oito testes são nomeados em T1, T2, T3, T4, T5, T6, T7, e PU (porta inacessível). Cada um destes testes é descrito abaixo:
- T1: Neste teste, um pacote TCP com as flags SYN e REC-echo ativas é enviado para uma porta TCP aberta.
- T2: Trata-se de enviar um pacote TCP sem nenhuma flag habilitada em uma porta TCP aberta. Este tipo de pacote é conhecido como um pacote nulo.
- T3: Trata-se de enviar um pacote TCP com as flags URG, PSH, SYN, e FIN habilitadas em uma porta TCP aberta.
- T4: Trata-se de enviar um pacote TCP com a flag ACK habilitada em uma porta TCP aberta.
- T5: Trata-se de enviar um pacote TCP com a flag SYN habilitada em uma porta TCP fechada.
- T6: Trata-se de enviar um pacote TCP com a flag ACK habilitada em uma porta TCP fechada.
- T7: Trata-se de enviar um pacote TCP com as flags URG, PSH e FIN habilitadas em uma porta TCP fechada.
- PU (porta inacessível): Trata-se de enviar um pacote UDP para uma porta UDP fechada. O objetivo é extrair uma mensagem de “porta ICMP inacessível” do alvo.
O último teste que o Nmap executa é nomeado TSeq para o teste de sequencialidade TCP. Este teste tenta determinar os padrões de geração dos números iniciais de sequência TCP, também conhecido como TCP ISN, os números de identificação IP (também conhecido como IPID) e os números de timestamp TCP. O teste é realizado através do envio de seis pacotes TCP com a flag SYN ativada para uma porta TCP aberta. O objetivo é encontrar padrões nos números de sequência iniciais que as implementações TCP escolhem ao responder a um pedido de conexão. Na imagem abaixo podemos ver um exemplo de OS Fingerprinting utilizando o Nmap:
Estes padrões podem ser classificados em vários grupos, tais como os 64K tradicionais (sistemas UNIX antigos), incrementos aleatórios (versões mais recentes do Solaris, IRIX, FreeBSD, UNIX Digital, Cray, e muitos outros) ou True “aleatório” (Linux 2.0.x, OpenVMS, AIX mais recente, etc.). Instalações do Windows usam um modelo “dependente do tempo”, onde o ISN é incrementado por um valor fixo para cada período de tempo.
Banner Grabbing Passivo
Como o banner grabbing ativo, o passivo também é baseado na implementação diferencial da pilha e as várias maneiras de um sistema operacional responder aos pacotes. Contudo, em vez de confiar no scanning do host de destino, o fingerprinting passivo captura pacotes do host de destino através de sniffing para estudar sinais indicadores que podem revelar o sistema operacional. As quatro áreas que são tipicamente observadas para determinar o sistema de funcionamento são:
- TTL – Qual time to live o sistema operacional definiu para o pacote.
- Tamanho da janela – Qual valor o sistema operacional definiu para o tamanho da janela.
- DF – O sistema operacional habilitou o bit “Don’t fragment data”?
- OS – O sistema operacional definiu o tipo de serviço, e em caso afirmativo, em qual?
O fingerprinting passivo não tem de ser totalmente preciso nem ser limitado a estas quatro assinaturas. No entanto, ao olhar para várias assinaturas e combinar informações a precisão pode ser melhorada. Abaixo segue um exemplo utilizando o utilitário telnet:
Scanning de Vulnerabilidades
O scanner de vulnerabilidade identifica vulnerabilidades e fraquezas de um sistema e de uma rede a fim de determinar como um sistema pode ser explorado. Semelhante a outros testes de segurança, como a varredura de porta e sniffing, o scan de vulnerabilidade também ajuda você a proteger a sua rede, determinando as brechas ou vulnerabilidades no seu mecanismo de segurança atual.
Este mesmo conceito pode também ser utilizado por invasores, a fim de encontrar os pontos fracos da rede alvo. Uma vez que o atacante encontrar qualquer ponto fraco, ele pode explorá-lo e entrar na rede. Ethical hackers podem usar este conceito para determinar os pontos fracos na segurança da aplicação/rede e corrigi-los antes que atacantes reais encontrem e explorem essas vulnerabilidades.
Nessus – O nessus é um scanner de vulnerabilidade que procura por bugs nos softwares, sistemas e redes. Esta ferramenta permite que uma pessoa descubra uma maneira de violar a segurança de um sistema ou rede. Cada teste de segurança é escrito com um plugin separado. Dessa maneira, o usuário pode facilmente adicionar testes sem ter que ler o código do motor do nessus. O nessus é dividido em duas partes. Um servidor, no qual realizar o ataque e o cliente, que é o front end. O servidor e o cliente podem ser executados em diferentes sistemas. Com isso, o usuário pode auditar a rede inteira do seu computador pessoal.
GFI LanGuard – O GFI LanGuard atua como um consultor de segurança virtual. Ele oferece gerenciamento de patch, avaliação de segurança e auditoria de serviços de rede. Ele também auxilia no inventário de ativos, gerenciamento de mudanças e análise de risco.
Qualys FreeScan – O Qualys FreeScan suporta alguns tipos de verificação diferentes, verificações de vulnerabilidade para malware, problemas de SSL e outras vulnerabilidades relacionadas à rede. O Patch Tuesday varre por patches ausentes em softwares. O SCAP verifica as configurações do computador em conformidade com a referência SCAP (Content Security Automation Protocol) fornecido pelo Instituto Nacional de Padrões e Tecnologia (NIST).
Outros scanners de vulnerabilidade são:
- Retina CS – http://www.beyondtrust.com
- Core Impact Professional – http://www.coresecurity.com
- MBSA – http://www.microsoft.com
- OpenVAS – http://www.openvas.org
- Security Manager Plus – http://www.manageengine.com
- Nexpose – http://www.rapid7.com
- Shadow Security Scanner – http://www.safety-lab.com
- Nsauditor Network Security Auditor – http://www.nsauditor.com
- SAINT – http://www.saintcorporation.com
- Security Auditor’s Research Assistant (SARA) – http://www-arc.com
Mapear a Rede
O mapeamento das redes em diagramas ajuda a identificar a topologia ou a arquitetura da rede alvo. O diagrama de rede também ajuda a traçar o caminho para o host alvo na rede. Ele também permite que você entenda a posição de firewalls, roteadores e outros dispositivos de controle de acesso. Com base no diagrama de rede o atacante pode analisar mecanismos da topologia e de segurança da rede alvo. Ele ajuda um atacante a ver os firewalls, IDS e outros mecanismos de segurança da rede alvo. Uma vez que o atacante tem esta informação, ele pode tentar descobrir as vulnerabilidades ou pontos fracos desses mecanismos de segurança. Na imagem abaixo podemos ver um exemplo de criação de diagrama utilizando o SolarWinds:
Preparar Proxies
Um proxy é um computador de rede que pode servir como um intermediário para a conexão com outros computadores. Você pode usar um servidor proxy em muitos aspectos, tais como:
- Para tornar a navegação anónima – Um proxy permite ocultar o endereço IP real do usuário, fazendo com que o destino acredite que o usuário real é o proxy.
- Para filtrar conteúdo indesejado – Como anúncios ou material “impróprio”.
Para fornecer alguma proteção contra-ataques de hackers – O uso do proxy permite filtrar o conteúdo e restringir o acesso a endereços maliciosos. - Para economizar largura de banda – Um proxy pode armazenar o conteúdo de um site já visitado pelo usuário, então, quando o usuário acessar a mesma página pela segunda vez o proxy irá fornecer o conteúdo do cache.
Quando você usa um proxy para solicitar uma página web a um servidor real, primeiro o browser envia o seu pedido para o servidor proxy. O servidor proxy em seguida, envia o seu pedido para o servidor real em seu nome, ele é um mediador entre você e o servidor real. Para um atacante, é mais fácil atacar um sistema do que esconder a fonte do ataque. Com isso o principal desafio para um atacante é esconder sua identidade de modo que ninguém possa localizá-lo. Para ocultar a identidade, o atacante usa um servidor proxy.
Com a ajuda do servidor proxy, um atacante pode mascarar o seu endereço IP para que ele possa invadir o sistema sem qualquer medo da repercussão legal. Quando o atacante usa um proxy para se conectar ao destino, o endereço de origem será gravado nos logs do servidor em vez do endereço de origem real do atacante.
Proxy Chain
O encadeamento de proxy ajuda o atacante a se tornar mais anônimo na internet. Seu anonimato depende do número de proxies usados para acessar uma aplicação. Se você usar um número maior de servidores proxy você vai ficar mais anônimo.
Quando o atacante solicita o primeiro servidor proxy, este servidor proxy por sua vez, solicita outro servidor proxy. O server1 procura retirar as informações de identificação do usuário e passa a solicitação para o próximo servidor proxy. Este por sua vez, pode novamente solicitar outro servidor proxy e assim por diante até chegar ao servidor de destino. Assim, forma-se a cadeia do servidor proxy para chegar ao servidor de destino, como mostrado na figura a seguir:
Algumas ferramentas de proxy são:
- Proxy Switcher – http://www.proxyswitcher.com
- Proxy Workbench – http://www.proxyworkbench.com
- TOR – https://www.torproject.org/
- CyberGhost – http://www.cyberghostvpn.com
- SocksChain – http://ufasoft.com
- Burp Suite – http://www.portswigger.com
Questionário
1.Which of the following lists the correct order of scanning methodology? a)Check for open ports, check for live systems, scan for vulnerabilities, banner grabbing, draw network diagrams, prepare proxies b)Check for open ports, check for live systems, scan for vulnerabilities, banner grabbing, prepare proxies, draw network diagrams c)Check for live systems, check for open ports, scanning beyond IDS, banner grabbing, scan for vulnerability, draw network diagrams, prepare proxies, scanning pen testing d)Check for live systems, scan for vulnerabilities, check for open ports, banner grabbing, prepare proxies, draw network diagrams
2.Which of the following is an example of a vulnerability scanner? a)Nessus and Retina b)Retina c)WinNuke d)Nessus
3.Sending ICMP ECHO requests to multiple hosts is known as a: a)Ping sweep b)Ping scan c)Ping forward d)Ping dragnet
4.Nmap is a tool that can be used for: a)Vulnerability scanning b)Ping scans c)Network traffic analysis d)Packet analysis
5.Which of the following is considered to be an ethical hacker's number one, undisputed choice for white hat port scanning? a)Nessus b)Nikto c)Nmap d)Kismet
6.Which of the following Nmap switches is known for how well it lights up? a)XMAS b)ACK c)FIN d)NULL
7.Which Nmap switch is for SYN scanning? a)-sS b)-sY c)-sN d)-PS
As respostas do questionário do post anterior são: 1. B / 2. A / 3. C / 4. A / 5. A / 6. C / 7. A
Bem pessoal é isso ai, espero que tenham curtido. No próximo post da série eu vou passar as respostas do questionário de hoje e iniciar o próximo módulo, Enumeration, abraços. Não esqueçam de curtir nossas páginas nas redes sociais, Facebook, G+ e seguir o Guia do Ti no Twitter. Compartilhem e comentem esse artigo, isso é muito importante para divulgação do nosso trabalho.
Referências
CEH v9: Certified Ethical Hacker Version 9 Study Guide CEH v9: Certified Ethical Hacker Version 9 Practice Tests https://tools.ietf.org/html/rfc793 https://en.wikipedia.org/wiki/Transmission_Control_Protocol https://en.wikipedia.org/wiki/Nmap https://en.wikipedia.org/wiki/Idle_scan https://www.greycampus.com/opencampus/ethical-hacking/scanning-methodology https://nmap.org/book/idlescan.html https://thesprawl.org/research/port-scanning/ https://nmap.org/book/man-port-scanning-techniques.html
- Metasploit Framework de cabo a rabo – Parte 6 - 4 de junho de 2018
- Metasploit Framework de cabo a rabo – Parte 5 - 28 de maio de 2018
- CEH – Scanning Networks – Parte 2 - 24 de maio de 2018