The Art of Network Hunter (pt.1) – PCAPs don’t lie!

por DanielOI*

Na época que eu era Consultor de Segurança, fiz um curso ministrado por uma galera muito legal da RSA sobre uma solução interessante, o RSA NetWitness.

O NetWitness é uma ferramenta é muito poderosa e capaz de armazenar e fazer analises avançadas de tráfego de rede, mostrando de maneira “visível” as comunicações que estão acontecendo na rede corporativa, através de parsers criados em LUA script.

Essencialmente o NetWitness possui 2 módulos principais, NetWitness for Packets [ https://goo.gl/a1xk4H ] e NetWitness for Logs [ https://goo.gl/icv6Df ], o curso que fiz com meu amigo Xopis [ recomendo -> https://goo.gl/GtP3WC ] foi quase que inteiramente sobre o NetWitness for Logs, porém logo percebi que a parte divertida e que eu realmente iria me interessar do NetWitness, era o NetWitness “for Packets“, devido a sua maleabilidade no tratamento de pacotes de rede.

Durante esse curso eu escutei um termo muito legal, que fazia parte do meu cotidiano diário mas eu nem fazia ideia: “Network Hunter”

 Mas agora, o que é um Network Hunter?

O “Network Hunter” vai ser basicamente o profissional responsável por realizar a análise dos tráfegos de redes, sempre a procura de comportamentos anômalos, vazamentos de informações sensíveis a corporação, timeline, ataques de rede, resposta a incidente e etc.

Geralmente o NetHunter vai ter uma ênfase na identificarão e investigação de comportamentos maliciosos na rede com o intuito de prevenir ataques a corporação.

Alguns colaboradores da Symantec fizeram alguns artigos bem legais sobre algumas ameaças e como elas funcionam. Não vou me estender muito sobre, pois os artigos são públicos, eles foram divido em três partes :

• Parte 1 – Viruses and worms [ https://goo.gl/XpmZWa ]
• Parte 2 – Trojans and- other threats [ https://goo.gl/G5fEcW ]
• Parte 3 – Various types network attacks [ https://goo.gl/y951x4 ]

Eu realizei algumas pesquisas sobre do tema em questão, porém não encontrei muita coisa “prática” sobre o tema. Por isso, resolvi criar um post com o intuito de passar um pouco da ideia de como pode funcionar uma identificação de um ataque através da aplicação de técnicas de forense em rede/análise de pcap , mostrando que essas técnicas podem ser perfeitamente usadas para operações continuas, análise de ameaças e resposta a incidente e PRINCIPALMENTE JOGOS DE CTF.

Para esse post eu irei analisar um pcap que ganhei do pessoal da RSA durante o curso que fiz.

A Forbes fez um post sobre os 5 principais tipos de ataques que as empresas costumam sofrer [ https://goo.gl/5AiNfk ] e segundo eles, os ataques mais comuns realizados nas empresas são através de Malware/Ransomware. Partindo desse pressuposto, podemos dar início a nossa análise.

O primeiro passo da análise é identificar as principais extensões de arquivos maliciosos usados por atacantes. Nos links abaixo é possível verificar as extensões utilizadas em ataques em redes que utilizam plataforma Windows:

• File types and extensions that are common threat vectors in email attachments [ https://goo.gl/rCXrwS ]
• File Extensions That Are Potentially Dangerous on Windows [ https://goo.gl/psCX59 ]

Utilizando os link informados, você poderá gerar um arquivo de texto com algumas extensões maliciosas para facilitar os seus filtros durante sua análise.

Extensões de arquivos

Para agilizar todo o processo, iremos realizar as buscas somente com as principais extensões utilizadas pelos atacantes como .exe, .msi, .bat e .ps1. Antes de começar a realizar a forense no arquivo, você precisa verificar o tipo de arquivo que você irá analisar, conforme abaixo.

Detalhes do artefato

Para realizar essas verificações, você precisará utilizar o comando file, ele é o responsável por determinar o tipo de arquivo que você vai analisar. Conforme o retorno do comando, é possível validar que a forense irá ser realizada em um arquivo de dump de rede com o tamanho de 6.9GB.

Para realizar analise de arquivos com extensão .pcap, você pode usar ferramentas como:

• RSA NetWitness [ Pago ]
• tcpdump
• Wireshark
• Windump
• tshark
• Network Miner
• Fiddler
• Capsa
• nfcapd; nfpcapd; nfdump

No post, iremos utilizar somente o tcpdump e o Wireshark visto que eles são opensource. O primeiro comando que nós iremos utilizar será o tcpdump.

Filtrando filetype

O comando utilizado vai realizar uma busca com alguns filtros [ .exe | .msi | .bat | .ps1 ] no arquivo .pcap e redirecionar a saída para um arquivo de texto.

Após o termino do comando, você deverá realizar uma analise a procura de coisas anômalas no arquivo de texto como a imagem abaixo. Analisando a saída do arquivo, somente um arquivo incoerente foi encontrado, o “resume.pdf.exe”

Arquivo suspeito

Voltando para o arquivo PCAP, é possível verificar que o host 172.30.200.50 realizou um HTTP/GET para o IP 223.25.233.248 baixando o arquivo “resume.pdf.exe”. Renomear arquivos com outras extensões com o intuito de enganar as vítimas é uma pratica é muito comum entre os atacantes, logo tornando o arquivo “resume.pdf.exe” uma ameaça em potencial.

Filtrando arquivo suspeito

O próximo passo é realizar a extração do arquivo “resume.pdf.exe” do pcap. Para facilitar e agilizar o trabalho, você pode utilizar o tcpdump para isolar os pacotes oriundos dos hosts 172.30.200.50 e 223.25.233.248.

Isolando a origem do arquivo

Para isolar os hosts, você só precisa utilizar a opção “host” para filtrar o IP algo e o “-w” para gerar outro arquivo .pcap. Com os arquivos exponencialmente menores, fica mais fácil trata-los utilizando o wireshark. O Wireshark foi utilizado para realizar a extração do arquivo “resume.pdf.exe” e validarmos se o mesmo é malicioso ou somente um falso positivo.

Para realizar a extração, você deve ir em “File > Export Objects”.

Extraindo o arquivo suspeito

Uma vez que o arquivo foi extraído, você poderá realizar o procedimento anterior com o comando “file” para verificar o tipo de arquivo.

Detalhes do arquivo

Como pode ser visto, o “resume.pdf.exe” é um executável de 32bits para plataforma Windows e não um pdf. Você pode realizar um scan online para validar se o executável é ou um malware, no caso o site utilizado foi o https://www.virustotal.com e no https://www.hybrid-analysis.com

• Vírus Total -> https://goo.gl/hxwEN5

• Hybrid Analysis -> https://goo.gl/62xumAH

• Hybrid Analysis -> https://goo.gl/62xumAH

Como é possível verificar, o arquivo resume.pdf.exe foi identificado como um arquivo malicioso em ambos os sites.

Conclusão.

Até o momento é possível concluir que máquina 172.30.200.50 está possivelmente infectada com um malware que conforme análise do Hybrid Analysis, realiza requisições externas para o domínio www.gtishare.com [223.25.233.248].

Na segunda parte deste post, vamos realizar uma análise detalhada sobre quais ações o atacante fez após a vítima fazer o download do malware.

SSL/TLS

O Transport Layer Security, ou TLS, é um protocolo utilizado para fornecer privacidade e integridade de dados entre duas partes durante a comunicação pela Internet. É a tecnologia de segurança padrão para estabelecer um link criptografado entre um servidor web e um navegador/aplicação.

A criptografia Secured Socket Layer, ou SSL, foi desenvolvida pela Netscape em 1995 com o propósito de garantir privacidade, autenticação e integridade de dados nas comunicações pela Internet. Em 1999, a Internet Engineering Task Force (IETF) propôs uma atualização para SSL. Como esta atualização estava sendo desenvolvida pela IETF e a Netscape não estava mais envolvida, o nome foi alterado para TLS.

Em 2014, o SSL foi oficialmente considerado obsoleto devido à falta de atualizações e vulnerabilidades de segurança identificadas. A maioria dos navegadores modernos parou de oferecer suporte ao SSL, tornando-o incompatível com websites e serviços modernos. Os termos SSL e TLS agora são usados ​​indistintamente quando se referem a esta tecnologia. O TLS, ou Transport Layer Security, funciona de maneira similar para proteger seus dados online. É como um protocolo de segurança que cria um túnel confidencial entre seu dispositivo e um site ou serviço. Através desse túnel, as informações trafegam de forma criptografada.

Como o TLS funciona?

O objetivo principal do TLS é a Autenticação e a Confidencialidade, mas ele também fornece Integridade para os dados.

Durante o  processo de autenticação chamado handshake entre dois dispositivos em comunicação, o processo garante que ambos os dispositivos devam confirmar quem afirmam ser. Durante um handshake TLS, os dois lados em comunicação trocam mensagens para se reconhecerem, verificarem um ao outro, para então estabelecer os algoritmos de criptografia que usarão e assim concordar com as chaves de sessão. Caso alguma pessoa tente interceptar esses dados que serão criptografados verá apenas uma mistura distorcida de caracteres que é quase impossível de descriptografar. O SSL/TLS também assina digitalmente os dados para fornecer integridade dos dados, verificando se os dados não foram alterados antes de chegarem ao destinatário pretendido.

Passo a passo do TLS:

O handshake TLS consiste em três partes, começando com um cliente enviando uma solicitação SYN para um servidor que hospeda as informações que o cliente está procurando. O servidor então confirmará o recebimento da solicitação de sincronização do cliente enviando um SYN ACK  de volta ao cliente. Por último, o Cliente confirma o recebimento da mensagem de sincronização do servidor (ACK).

Quando um cliente, como um navegador da Web, inicia uma conexão TLS, com a mensagem ClientHello, ele especifica a versão mais alta do protocolo TLS que suporta, um número aleatório, uma lista de conjuntos de criptografia que suporta em ordem preferencial, métodos de compactação sugeridos e quaisquer extensões TLS, como ID de sessão, tickets de sessão, SNI, ALPN e assim por diante.

Depois de receber o ClientHello, o servidor escolhe os parâmetros para o handshake daqui para frente. O servidor então responde ao cliente escolhendo o seguinte: uma versão do protocolo, um número aleatório, um conjunto de criptografia, Certificado e um método de compactação. O servidor pode impor sua própria preferência de seleção do conjunto de cifras seguido de uma mensagem informando que a negociação do handshake foi finalizada.

O cliente então valida o Certificado em relação ao trusted store, o período de validade especificado no certificado e verifica a revogação pela Autoridade de Certificação emissora, a CA. O cliente pode responder com uma Troca de Chave do Cliente (Client Key Exchange), se necessário, seguida por uma mensagem Alterar Especificação de Cifra (Change Cipher Spec). Isto indica ao servidor que todas as mensagens futuras nesta conexão serão criptografadas e autenticadas com as informações previamente negociadas. Finalmente, o cliente envia uma mensagem Finished contendo o código de autenticação das mensagens de handshake anteriores.

O servidor então responde com sua própria mensagem Change Cipher Spec, indicando ao cliente que todas as mensagens futuras nesta conexão serão criptografadas e autenticadas com as informações previamente negociadas.

Finalmente, o servidor envia uma mensagem Finished contendo o código de autenticação das mensagens de handshake anteriores. O handshake TLS agora está completo e inicia-se a comunicação segura entre o cliente e a aplicação.

Ao final  da comunicação, cliente e servidor fecham o túnel privado e descartam a chave secreta compartilhada.

Referência

https://www.cloudflare.com/pt-br/learning/ssl/what-happens-in-a-tls-handshake

MITM com arpspoof, thc-ipv6 e SSLStrip

Os ataques à rede local do tipo man-in-the-middle, ou comumente conhecido como MITM, permitem ao atacante posicionar-se no meio da comunicação entre duas partes. Este ataque é útil para conduzir outros ataques, como sniffing(captura das informações) e session hijacking (sequestro de sessão).

Em um ataque MITM, a vítima não percebe a interceptação do tráfego e isso permite ao atacante a leitura e captura do tráfego entre as duas vítimas como também a alteração da informação para os fins de objetivo do ataque, sem a interrupção da comunicação do ponto de vista da vítima.

Em IPv4, um ataque man-in-the-middle pode ser executado de diversas formas, como com o envenenamento do cache ARP (ARP cache poisoning /ARP Spoofing) e a falsificação de mensagens ICMPv6 durante a descoberta de vizinhos e/ou o serviço DHCPv6.

arpspoof

Os equipamentos com função de gateway na rede possuem a responsabilidade de rotear os pacotes da rede local para outras redes dentro do domínio da empresa ou Internet. Ferramentas como arpspoof disparam mensagens ARP reply ao computador da vítima (em uma rede IPv4) falsificando o endereço MAC do gateway. Essa série de respostas ARP dizem ao nosso alvo que a máquina atacante é o gateway de destino. Desse modo, quando o alvo enviar o tráfego para o dispositivo de destino, o switch enviará os pacotes da vítima diretamente para a máquina do atacante.

THC-IPv6

O THC-IPv6 possui diversas ferramentas para spoofing (falsificação) em redes IPv6, forjando os pacotes de router advertisement (RA ou anuncio de roteadores), neighbor advertisement (NA ou anuncio de vizinhos), router solicitation (RS ou solicitação de roteadores) e neighbor solicitation (NS ou solicitação de vizinhos). Em ataques específicos MITM, o THC-IPv6 pode anunciar que a máquina do atacante é o roteador para os pacotes de solicitação (RS e NS) ou envia deliberadamente que possui a melhor rota padrão, assim o computador da vítima recebe o anúncio falso da máquina atacante e envia todos os pacotes que iriam direto ao roteador para a máquina atacante.

A RFC 4861, lista 3 (três) tipos de prioridades para rotas ensinadas aos computadores da rede local via mensagens ICMPv6 RA: baixa, média (padrão) e alta. Utilizando dessa implementação o THC-IPv6 consegue enviar uma atualização anunciando-se como o roteador em a rede com a mais alta prioridade.

Com o atacante personificando o gateway da rede tanto em redes IPv4 e IPv6, todo o tráfego não criptografado pode ser lido, modificado ou descartado, possibilitando outros tipos de ataques.

 SSLStrip

Uma vez que o atacante consegue se posicionar para capturar todo o tráfego da vítima e ler as informações que trafegam sem nenhum tipo de criptografia, algumas técnicas podem ser utilizadas para as conseguir acesso as credenciais através de serviços de rede que utilizam navegadores de Internet.

A grande maioria dos sites provedores de serviço tem gerado versões de suas páginas com o protocolo SSL que tem como objetivo criar um canal criptografado entre o servidor da aplicação e o cliente. O SSL é associado juntamente com outros protocolos para fornecer uma implementação segura de serviços e aplicações, como: SMTPS, IMAPS, e etc. Uma vez que o SSL é utilizado com o protocolo HTTP, ele é denominado como HTTP over SSL ou HTTPS.

Os atacantes atualmente utilizam de técnicas como sequestro de sessão (session hijacking) para explorar a comunicação de uma sessão valida da vítima. O roubo de sessão para o trafego HTTPS, também conhecido como SSL hijacking, trabalha em cima da conexão HTTP (não segura) para uma segura (HTTPS) intermediando a conexão SSL, antes dela correr. Geralmente um usuário ao acessar uma página digita apenas o nome da página sem o prefixo “http://” ou “https://”, os navegadores de Internet como o Internet Explorer, Chrome, Firefox, entre outros, adicionam automaticamente o prefixo ‘http://’ na requisição da página web. Se a página for HTTPS, o servidor web retornará uma mensagem ao host solicitando o redirecionamento para a versão https://”.

Usando como referência o site http://outlook.com , quando o navegador recebe a resposta de redirecionamento do servidor web, ele emite uma nova requisição para o site incorporado na resposta da mensagem de redirecionamento, em nosso caso https://outlook.live.com/owa/. O navegador então estabelecerá a conexão SSL / TLS com o site. O resto da comunicação acontece via HTTPS a partir de agora.

A ferramenta SSLStrip, escrita por Moxie Marlinspike, é bastante utilizada em um ataque man-in-the-middle para SSL Hijacking. O SSLStrip fecha uma sessão HTTP com a vítima e uma sessão HTTPS com a página web, capturando assim as informações que deveriam ser criptografadas. A vítima não receberá nenhuma informação do certificado da página segura e na barra de endereço do navegador o site exibirá o nome da página apenas com o prefixo HTTP enquanto o SSLStrip comunica-se em HTTPS com o servidor web.

Laboratório

Em um ambiente de testes, executamos as ferramentas arpspoof e SSLStrip com o objetivo principal de capturar as credenciais digitadas em páginas web.

Como preparação no Kali Linux é necessário habilitar o IP forwarding e configurar o iptables para redirecionar o tráfego HTTP para a porta que será utilizada pelo SSLStrip.

O próximo passo para iniciar o ataque inclui a execução das ferramentas arpspoof e o SSLStrip.

Com o ataque em execução, o SSLStrip irá registrar as credenciais inseridas em páginas que solicitam autenticação, tanto no acesso as páginas HTTP e HTTPS. Abaixo um exemplo da captura durante a autenticação em um serviço de e-mail da Microsoft utilizando o navegador Internet Explorer8.

Análise dos resultados

A execução dos testes em ambiente de laboratório simulando uma rede local de uma empresa demonstrou a facilidade que um atacante interno consegue capturar e modificar o tráfego da vítima.

Os testes para as máquinas alvo incluíram os sistemas operacionais Windows 7, Windows 10 e o Debian 9. Algumas funcionalidades de segurança incorporadas por padrão aos equipamentos e softwares utilizados no estudo serviram para mitigar o ataque, como a utilização do navegador Firefox que possui suporte nativo ao protocolo HSTS, que permite que a comunicação entre o servidor web e o navegador ocorra somente com criptografia e com certificado emitido por uma autoridade certificadora confiável.

A utilização de funcionalidades em switches como arp inspect (DAI) validam se a mensagem ARP é gerada pela máquina verdadeira.

Uma outra opção também surge em cenários que não é necessário a comunicação entre todas a máquinas da rede sendo possível efetuar a configuração em switches e access points para isolamento dos hosts entre si, permitindo apenas a comunicação entre hosts e equipamentos e servidores de rede.

Um usuário mais atento poderia também perceber que a pagina requisitada estaria trabalhando apenas em HTTP ao invés de HTTPS, visto que os provedores de serviço na Internet quase em sua totalidade trabalham com a versão segura do protocolo.

Apesar desse estudo utilizar-se de algumas técnicas exploradas há anos, elas ainda se tornam efetivas tanto em redes IPv4 quanto em redes IPv6, inclusive para captura do tráfego de outros serviços críticos.

Os ataques MITM atuam diretamente na privacidade do usuário pois coletam informações confidenciais através das técnicas citadas nesse trabalho. É relevante notar que a aplicação de políticas de segurança ajudaria a mitigar e isolar alguns cenários de ataque.

O objetivo final desse artigo é contribuir para que os responsáveis pela infraestrutura e segurança da tecnologia da informação estejam atentos aos riscos. Uma vez que esse tipo de ataque é comumente efetuado dentro da rede local, algumas ações podem ser facilmente adotadas contra dispositivos não cadastrados e contra o acesso indevido a rede da empresa através do uso de certificados digitais para validação da máquina e/ou usuário. Um outro ponto importante inclui o estudo da implementação do protocolo IPv6 em dispositivos como smartphones e usuários do sistema operacional Linux e Windows, pois os diferentes sistemas operacionais trazem implementações diferente das principais RFC’s que padronizam as implementações dos protocolos.

Referências

ORIYANO, Sean-Philip. CEHv9 – Certified Ethical Hacker Version 9 – Study Guide. Indianópolis: John Wiley & Sons,2017.
WEIDMAN, Georgia. Teste de Invasão – Uma introdução prática ao hacking. São Paulo: Novatec, 2014.

Acesso em 14/05/2018
http://techgenix.com/Understanding-Man-in-the-Middle-Attacks-ARP-Part1/
http://techgenix.com/Understanding-Man-in-the-Middle-Attacks-ARP-Part2/
http://techgenix.com/Understanding-Man-in-the-Middle-Attacks-ARP-Part3/
http://techgenix.com/Understanding-Man-in-the-Middle-Attacks-ARP-Part4/

Acesso em 15/05/2018
http://gutocarvalho.net/octopress/2012/11/29/entendendo-o-hsts/
https://www.cybrary.it/0p3n/sslstrip-in-man-in-the-middle-attack/

Fortigate: SSL-VPN

A utilização de soluções de VPNs estende o acesso a redes privadas através da conectividade remota para o fornecimento de comunicação segura entre os dispositivos.

Uma VPN estabelece um túnel entre dois dispositivos, que estão separados por uma rede pública insegura, como a Internet por exemplo, entregando acesso seguro para a rede privada. A VPN pode também ser utilizada na comunicação entre uma matriz e suas filiais, entre empresas para fornecimento de serviços ou para o estabelecimento do teletrabalho.

Existem diversos mecanismos para estabelecimento de VPNs e os principais para conectividade para o acesso remoto utilizam o SSL ou IPsec.

O FortiOS suporta a utilização de VPNs IPsec e SSL, assim como outros métodos menos seguros.

Uma VPN deve utilizar métodos seguros para que somente usuários autorizados possam estabelecer a comunicação e acessar os recursos da rede. A comunicação deve ter como premissa a criptografia do tráfego ( que não poderá ser lido quando interceptado por usuários não autorizados).

Neste artigo  faremos um breve resumo sobre SSL-VPN no FortiOS.

Protocolo SSL

O protocolo SSL é uma aplicação para criptografia de camada 7, que fornece comunicação segura pela Internet através de um navegador web, e-mail e outros tipos de tráfego.

O principal objetivo é providenciar tanto a privacidade, quanto a integridade dos dados, oferecendo comunicação segura entre as aplicações.

Por padrão o SSL para o tráfego web utiliza a porta TCP 443.

SSL-VPN

A solução de VPN quando baseada em SSL, oferece conectividade a determinados recursos internos da empresa, através de acesso remoto por um computador conectado a Internet, através de um software cliente ou um navegador web com criptografia SSL nativa.

O FortiOS permite dois modos para o estabelecimento de SSL-VPN e a escolha dependerá  do uso das aplicações pela VPN, conhecimento técnico dos usuários e/ou permissões administrativas em seus computadores.

  • SSL-VPN Web Mode: Requer unicamente um navegador web, mas possui limitação no número de protocolos. É o modo mais fácil de configuração.
  • SSL-VPN Tunnel Mode: Oferece suporte a grande maioria dos protocolos, mas requer a instalação de um software cliente VPN, um virtual network adapter, que pode ser utilizado com o FortiClient ou o módulo FortiSSL-VPN client.

Web Mode

O modo Web  permite ao usuário conectar em um portal no Fortigate (que atua como um servidor de proxy reverso) e então comunicar-se com a rede ou aplicação.

O portal web permite a configuração de bookmarks que contém todos os recursos disponíveis para acesso ao usuário. A principal vantagem do modo web é que o usuário não necessitará instalar nenhum software adicional. A desvantagem é que toda interação acontecerá através do navegador para os protocolos mais populares como HTTP, FTP e compartilhamento Windows.

1 – Os usuários remotos estabelecem um túnel seguro ao Fortigate utilizando HTTPS.

2 – Uma vez conectado, os usuários fornecem as credenciais para autenticação.

3 – O Fortigate irá exibir um portal SSL-VPN que contém os serviços e recursos de rede para acesso ao usuário.

Para configurar a SSL-VPN no modo Web utilize o cookbook abaixo:

https://docs.fortinet.com/document/fortigate/6.2.0/cookbook/579694/ssl-vpn-web-mode-for-remote-user

Tunnel Mode

A opção Tunnel Mode requer a instalação de um cliente SSL-VPN (FortiClient) para conexão ao Firewall. O FortiClient adiciona um virtual network adapter identificado como fortissl para o usuário que recebe dinamicamente um endereço IP do Fortigate na conexão da VPN. O tráfego será enviado encapsulado em um túnel SSL/TLS.

O modo Tunnel permite a comunicação de qualquer aplicação (quando permitida nas políticas do firewall) através do túnel.

1 – Os usuários remotos solicitam um túnel seguro ao Fortigate utilizando FortiClient.

2 – Os usuários fornecem as credenciais para autenticação.

3 – O Fortigate estabelece um túnel e atribui um endereço IP ao software client com um virtual network adapter (fortissl), durante o tempo da conexão.

4 – Após o estabelecimento da conexão é possível acessar os recursos de rede através do túnel criptografado.

Para configurar a SSL-VPN no modo Web utilize o cookbook abaixo:

https://docs.fortinet.com/document/fortigate/6.2.0/cookbook/954097/ssl-vpn-tunnel-mode

O Forticlient  com a SSL-VPN estabelecida, fará a criptografia dos dados ao Fortigate que ao receber o tráfego removerá a criptografia e encaminhará a comunicação ao dispositivos de destino.

Tunnel mode também permite o split tunneling, que encaminhará todo o tráfego de Internet diretamente para a Internet (sem encaminhá-lo ao túnel). O tráfego para a rede privada continuará sendo enviado através da VPN.

Referências

FortiGate Security Study Guide for FortiOS 6.2

Network Security Technologies and Solutions, Cisco press – Yusuf Bhaiji

Sniffers e Análise de pacotes na rede cabeada

Os sniffers são ferramentas que permitem capturar e scanear o trafego da rede, possibilitando ao administrador reunir informações, monitorar o uso de protocolos que não deveriam trafegar na rede e enfrentar de forma objetiva questões que afetam o desempenho de serviços.

A análise dos pacotes capturados permite o levantamento de questões como: “o tráfego da rede está normal”? “Existe alguma flag TCP não usual”?

Há também a possibilidade de analisarmos assinaturas de malwares, tráfego não criptografado e protocolos trocados entre dispositivos de rede para fins de aprendizado, laboratório, troubleshooting e ajustes.

A análise de pacotes pode ser dividida em 4 fases: gather (reunir), decode (decodificar), display (exibir) e analyze (analisar).

Os softwares de análise de pacotes reúnem e decodificam os bits recebidos pela placa de rede. Uma vez decodificada as informações por protocolo e fluxo, os sniffers exibem o resultado de uma forma legível ao administrador. A analise do tráfego capturado pode ser efetuada tanto em tempo real da captura ou com a utilização um arquivo pré-capturado.

A maioria dos programas utilizados para sniffer são bastante funcionais independentemente do SO ou o modo de exibição. Sniffers como Wireshark possuem um painel principal para exibição dos pacotes de entrada e alguns destaques, permitindo a utilização de filtros para visualizar apenas parte do tráfego que o administrador deseja analisar.

Podemos utilizar o bash (linux) para capturar o trafego de rede e salvar um arquivo .pcap para abrir posteriormente em um wireshark:

# Pegando todo o trafego 
tcpdump -i any -w file.pcap

#Filtrando uma porta TCP especifica
tcpdump -i any port 80 -w file.pcap

Cenários para a capturar os pacotes?

As principais formas de captura de pacotes são as seguintes:

– Host ou Servidor conectado a uma porta de Switch: Nesse cenário o administrador poderá conectar um host com um software de sniffer  e então visualizará (apenas) as mensagens direcionadas a aquela máquina, além de mensagens em broadcast, multicast na LAN.

– Host ou Servidor conectado a um TAP ou HUB: Um HUB ou TAP replica a comunicação de uma porta para todas as portas, nesse caso é possível visualizar todo o tráfego que passa pelo HUB utilizando um sniffer. Atualmente TAPs cada vez mais “inteligentes” permitem a otimização e seleção do tráfego copiado.

– Host ou Servidor conectado a uma porta de Switch com SPAN (espelhada): Uma porta espelhada direciona uma cópia do tráfego de uma determinada origem (porta ou VLAN) para a porta configurada com SPAN. Nesse tipo de cenário o administrador pode copiar todo o tráfego de um uplink/porta e direcionar para um servidor IDS ou máquina com sniffer.

– MAC Flooding: Utilizando ferramentas como o macof, um atacante pode inundar (flood) a rede de quadros Ethernet com endereços MAC falsos, esgotando a tabela CAM dos switches e forçando os equipamentos a entrar no modo fail-open, atuando assim como um HUB – alguns equipamentos reiniciam ou entram em modo de proteção nesses cenários.

– ARP Spoofing: Utilizando ferramentas como arpspoof (entre outras) o atacante consegue interceptar o tráfego entre 2 partes atuando como man-in-the-middle, podendo inclusive manipular o tráfego sem a percepção das vítimas.

Ataques passivos e ativos utilizando sniffing

sniffing pode ser classificado como ativo ou passivo. Normalmente, o sniffing passivo é considerado como qualquer tipo de captura onde o tráfego é apenas analisado e não há alteração no tráfego da rede. Já no sniffing ativo, o tráfego além de ser monitorado é também alterado pelo atacante.

A utilização de sniffers afeta os seguintes pontos da Segurança da Informação:

– Confidencialidade: Proteção dos dados contra divulgação não autorizada;

– Integridade:
 Proteção dos dados contra modificação não autorizada;

– Disponibilidade:
 Data e serviços disponíveis aos usuários autorizados;

– Autenticação:
 Verificação da identidade de um usuário ou equipamento.

Monitoração e defesa

A captura de informações da rede pode ser utilizada para o início de ataques contra a rede como também ser considerada ilegal – a menos que a ação tenha sido autorizada ou o administrador esteja monitorando a rede como empregado/contratado.

Existem algumas práticas para mitigar o sniffing:

– Desabilite portas não utilizadas em switches.

– Use criptografia no tráfego de rede sempre que possível, principalmente para informações sensíveis como e-mail, transações via web e configuração de equipamentos.

– Use funcionalidades de segurança em Switches como portsecurity, dhcp-snooping com dynamic arp inspection ip source guard para mitigar ataques como Mac flooding e ARP spoofing/poisoning.

– Utilize autenticação via 802.1x para rede cabeada e sem-fio.

– Crie uma rede segregada para serviços, usuários, usuários Guest e dispositivos BYOD.

– Cuide da segurança física dos equipamentos de rede.

Para finalizar, utilize ferramentas como IDS, SIEM, UBA, NBA, Syslog, SNMP, entre outros para monitoração do tráfego  e eventos na rede.

Referências

ORIYANO, Sean-Philip. CEHv9 – Certified Ethical Hacker Version 9 – Study Guide. Indianópolis: John Wiley & Sons,2017.

VICTOR HAYASHI – SEGURANÇA EM IOT – PODCAST #11

Nesse bate-papo com o Victor Hayashi, um dos escritores do livro Segurança em IoT, falamos sobre segurança em dispositivos de Internet das Coisas, aplicações residenciais, aplicações na indústria, livros, seu trabalho de mestrado, controle de acesso, cursos, arduino, hardwares e mais.

CheckPoint: Entendendo o Security Management Server

O Security Management Server (SMS) da CheckPoint é um componente central da plataforma on-premises de segurança do fabricante. Ele fornece uma interface centralizada para gerenciar e monitorar os firewalls (security gateways). O Security Management Server permite aos administradores configurar, gerenciar e aplicar políticas de segurança consistentes em todos os dispositivos Check Point.

Existem duas opções para implementação do SMS:

  • Appliance Check Point Quantum Smart-1
  • Open Server (virtualizado e instalado em hardware de terceiros)

O SMS faz parte da arquitetura de 3 camadas utilizada pela CheckPoint que inclui 3 componentes principais com as suas responsabilidades especificas:

SmartConsole: O SmartConsole é uma interface gráfica de usuário (GUI) que permite configurar e monitorar seus dispositivos de segurança da CheckPoint. Ele fornece uma visão abrangente do status de segurança da rede, incluindo o tráfego de rede, os logs de eventos e as configurações de segurança. O SmartConsole é utilizado para criar e gerenciar políticas de segurança no Security Management Server (SMS), aplicar atualizações de software e solucionar problemas de segurança.

O SmartConsole pode ser instalado em um desktop, como também ser utilizado em uma versão portable ou ser acessado no modo clientless, através de browser.

SMS: O SMS ( Security Management Server) é um servidor de gerenciamento de segurança que fornece uma plataforma centralizada para configurar e monitorar os Security Gateways em uma rede local ou em uma rede distribuída.

Security Gateway: O Security Gateway é um firewall de próxima geração (NGFW) que fornece proteção de perímetro para redes corporativas com uma ampla gama de recursos de segurança, incluindo prevenção de intrusões, filtragem de conteúdo, controle de acesso à rede, sandbox e criptografia.

Entre as atribuições e funções do Security Management Server ele é responsável por:

  • Banco de dados
    • O SMS hospeda um banco de dados PostgreSQL centralizado que armazena com segurança todos os dados gerenciados e os disponibiliza mediante solicitação.
  • Internal Certificate Authority (ICA)
    • O SMS inclui uma ICA (Internal Certificate Authority) que pode ser usada para emitir e gerenciar certificados digitais para dispositivos de segurança e usuários. Os certificados digitais são usados para autenticação, criptografia e outros fins de segurança, como a comunicação SIC entre os dispositivos CheckPoint.
  • Servidor de Logs
    • O SMS pode ser usado também para coletar e armazenar logs de eventos de dispositivos de segurança. Os logs de eventos podem ser usados para rastrear o tráfego de rede, identificar ameaças e responder a incidentes. De forma opcional é possível instalar um servidor SMS exclusivo para os logs.
  • Repositório de Licenças e Contratos
    • O SMS pode ser usado para armazenar informações sobre licenças de software e contratos de serviços. Essas informações podem ser usadas para gerenciar o licenciamento e os custos de segurança.
  • Monitoração
    • O SMS pode ser usado para monitorar os Security Gateways e exibir informações em tempo real como contadores, estatísticas de tráfego, uso de disco, CPU e memória. O monitoramento pode ser usado para detectar problemas de segurança e responder a incidentes.
  • Security Automation
    • O SMS pode ser usado para automatizar tarefas de segurança e o uso de APIs, permitindo aos desenvolvedores criarem scripts e efetuarem mudanças nas políticas de segurança utilizando CLI e web services.

Cenários de implementação do SMS

A implementação do SMS pode ser executada em duas topologias, modo standalone e distributed.

No modo standalone deployment o SMS e o Security Gateway são instalados no mesmo computador ou appliance. O SmartConsole é instalado em uma máquina Windows que então conecta ao Security Management Server para configuração e gerenciamento do Security Gateway.

O modo standalone é recomendável apenas em ambientes small businesses, devido as limitações de performance que ele pode gerar no security gateway.

O modo distributed deployment, o SMS e o Security Gateway são instalados em diferentes computadores ou appliance. O SmartConsole é instalado em uma máquina Windows que então conecta ao Security Management Server para configuração e gerenciamento dos Security Gateway.

Um Security Management Server é requerido mesmo se a implementação consiste em apenas um Security Gateway. Já um servidor SMS pode gerenciar múltiplos NGFWs.

Resumindo…

Em resumo Security Management Server da CheckPoint é um software/aplicação que centraliza o gerenciamento e monitoramento de dispositivos de segurança da CheckPoint, sendo um elemento fundamental na configuração e gestão de dispositivos Quantum.

Os administradores interagem com o Security Management Server por meio de uma interface gráfica chamada SmartConsole, que fornece ferramentas para configuração, monitoramento e relatórios.

Fortigate – Configurando o envio de logs para um segundo servidor

Em cenários que haja a necessidade de configuração de mensagens logs para um segundo servidor syslog por um Fortigate, acesse o Firewall via CLI e digite “config log syslogd2 setting“, para iniciar o setup.

Visualizando a configuração do serviço syslog no FortiOS

FGT # show log syslogd setting
config log syslogd setting
set status enable
set server "10.12.0.130"
set source-ip 10.12.0.1

Configurando o segundo serviço syslog no Fortinet

DNBRFGT # config log syslogd2 setting
set status enable
set server "192.168.0.130"
set source-ip 10.12.0.1

Até logo! 😉

DHCP Snooping

A feature DHCP Snooping permite a proteção da rede contra Servidores DHCP não autorizados.

Com o DHCP Snooping configurado, o Switch inspeciona as mensagens DHCP entre uma máquina cliente e servidor com a troca das mensagens: DHCP Discover, DHCP Offer, DHCP Request e o DHCP Ack, como o desenho abaixo:

O comando “ip dhcp snooping” configurado globalmente habilita o serviço no Switch.

Com o serviço habilitado, informe explicitamente qual VLAN deverá filtrar as mensagens DHCP Offer e DHCP Ack ; com o comando “ip dhcp snooping vlan vlan-range”.

ip dhcp snooping
! Habilitando o processo globalmente
ip dhcp snooping vlan 20
! Habilitando o dhcp snooping na vlan 20

Os comandos listados restringirão todas as portas do Switch na VLAN 20 como untrusted (não confiável). Filtrando todas as mensagens de oferta do serviço DHCP (a solicitação de serviço DHCP pela máquina cliente não sofrerá nenhuma restrição).

Para o funcionamento do “Servidor DHCP válido” deveremos configurar a porta do Servidor como trusted (confiável) , incluíndo as portas de UpLink.
No Exemplo, configuraremos o dhcp-snooping no Switch com a porta GigabitEthernet 1/8 conectada ao servidor DHCP válido como trust.

Configuração

Switch#conf t
Switch(config)#interface GigabitEthernet1/8
Switch(config-if)#ip dhcp snooping trust

Visualisando

O DHCP-Snooping constrói uma tabela que contém o endereço IP liberado pelo servidor DHCP vinculado ao endereço MAC.

Switch# show ip dhcp snooping binding
MacAddress   IpAddress      Lease(sec) Type  VLAN  Interface
00:FF:16:89:E6:88 192.168.20.2 86250   dhcp-snooping  10  Gi1/12

Switch# show ip dhcp snooping
Switch DHCP snooping is enabled
DHCP snooping is configured on following VLANs:
20
DHCP snooping is configured on the following Interfaces:
Insertion of option 82 is enabled
   circuit-id format: vlan-mod-port
    remote-id format: MAC
Option 82 on untrusted port is not allowed
Verification of hwaddr field is enabled
Interface                    Trusted     Rate limit (pps)
------------------------     -------     ----------------
GigabitEthernet 1/8          yes         unlimited
GigabitEthernet 1/12         no          unlimited

Dúvidas e sugestões, deixe um comentário! ;)

Referências
https://supportforums.cisco.com/pt/blog/153731

Identificação e Autenticação

No mundo digital, onde armazenamos uma quantidade enorme de dados confidenciais, a segurança cibernética se tornou uma preocupação primordial e proteger os dados e sistemas contra acessos não autorizados é crucial para empresas e indivíduos. O controle de acesso lógico garante que apenas usuários legítimos e autorizados possam acessar aplicativos, recursos e informações confidenciais. A identificação e autenticação são dois processos importantíssimos nesse controle para garantir  a confidencialidade, integridade e disponibilidade dos dados.

Identificação

A identificação se refere ao processo de estabelecer a identidade de um indivíduo ou entidade. Um usuário deve fornecer sua identidade a um sistema para iniciar o processo de autenticação, autorização e auditoria. O processo de fornecer uma identidade pode envolver digitar um nome de usuário, exibir dados biométricos, como face, impressões digitais, utilizar um Smartcard etc. O principal objetivo é que durante a autenticação o usuário deve demonstrar identidades exclusivas.

Autenticação

A autenticação, é o processo de verificar a identidade de um usuário antes de conceder acesso a um sistema, aplicativo ou recurso, comparando uma ou mais informações fornecidas em uma base de dados com identidades validas, como contas de usuários. AS informações de autenticação utilizadas para verificar a identidade é privada de precisa ser protegida.

Imagine uma conta de e-mail,  ao inserir seu nome de usuário e senha, você está fornecendo suas credenciais de autenticação. O sistema verifica se essas informações correspondem a um usuário real e, se tudo estiver correto, permite seu acesso à conta bancária.

Identificação e autenticação acontecem juntos, fornecendo inicialmente a identidade e então providenciando a autenticação. Imaginando que um usuário reivindica uma identidade (usuário diego.dias@email.com) mas não prova sua sua identidade ( com uma senha) e mesmo assim consegue acesso a um sistema, não há formas de provar que o usuário é Diego Dias, pois qualquer um que o conhece poderá se passar por ele.

Autorização e Accouting

Dois elementos adicionais de segurança no controle de acesso aos sistemas são: a autorização que permite acesso aos recursos após o processo de autenticação e contabilidade que audita todos as ações de um usuário ao acessar um sistema como leitura, modificação ou remoção de um arquivo, por exemplo.

Um efetivo sistema de controle de acesso requer um mecanismo forte de identificação e autenticação assim como os serviços de autorização e contabilidade. Em contraste se um usuário não acesso o sistema com suas credenciais, mesmo que os logs registrem os eventos e acesso ao sistema, não será possível identificar quais usuários executaram determinadas ações.

Fatores de autenticação

Os fatores de autenticação são os elementos que comprovam sua identidade durante o processo de autenticação. Tradicionalmente, o fator mais comum era a senha, mas com o aumento das ameaças cibernéticas, métodos mais robustos e seguros se tornaram necessários.

Atualmente, os fatores de autenticação podem ser categorizados em três tipos principais:

1. Algo que você sabe: Essa categoria inclui senhas, PINs, padrões de desbloqueio e perguntas de segurança. São informações que você deve memorizar e manter em sigilo.

2. Algo que você tem: Nesse caso, a autenticação se baseia em um objeto físico em sua posse, como um token de segurança, cartão inteligente ou smartphone com aplicativo autenticador. Ao tentar acessar o sistema, um código único é gerado no dispositivo e deve ser inserido para completar o processo.

3. Algo que você é: Essa categoria utiliza características biométricas, como impressão digital, reconhecimento facial ou íris, para verificar sua identidade. São métodos altamente seguros, pois dependem de características únicas do seu corpo.

Autenticação Baseada em Localização, Ausência e Contexto

Em adição aos 3 principais métodos de autenticação podemos adicionar outros métodos

Algo que você é: Essa categoria inclui localização do usuário por tipo de dispositivo e  localização geográfica.

Autenticação baseada em contexto: trabalha com o atendimento de requisitos para o processos de autenticação como  localização, horário, tipo de dispositivo, etc.

Algumas soluções podem basear o processo de autenticação baseado em algo que você não é, como por exemplo, mesmo com as credenciais corretas um sistema pode não autenticar o acesso a determinado sistema caso a geolocalização seja suspeita. Dispositivos moveis também podem solicitar o uso de gestos como mover as mãos, mover a  cabeça, conectar pontos ou sorrir.Esse método é referido como algo que você faz.

Fator Único vs. Multifator: Qual a Melhor Escolha?

A autenticação por fator único (FA) utiliza apenas um único fator, geralmente uma senha, para verificar a identidade do usuário. Apesar de sua simplicidade, esse método é considerado menos seguro, pois se baseia em um único ponto de falha.

Já a autenticação multifator (MFA) combina dois ou mais fatores de autenticação, tornando o processo de login significativamente mais seguro. Mesmo que um dos fatores seja comprometido, os outros ainda fornecem camadas de proteção adicionais.

A MFA é altamente recomendada para proteger contas confidenciais, como bancos online, e-mails e sistemas corporativos. Diversos serviços online, como Google, Facebook e Amazon, oferecem opções de MFA para aumentar a segurança de suas contas.

Implementando a Autenticação em Sua Vida Digital

Para garantir a segurança de seus dados e sistemas, siga estas dicas para implementar a autenticação em sua vida digital:

  • Ative a MFA em todas as contas importantes: Priorize contas bancárias, e-mails, mídias sociais e qualquer outro serviço que armazene informações confidenciais.
  • Utilize senhas fortes e exclusivas: Crie senhas complexas com combinações de letras maiúsculas e minúsculas, números e símbolos, evitando reutilizá-las em diferentes plataformas.
  • Considere a autenticação biométrica: Se disponível, utilize a autenticação por impressão digital, reconhecimento facial ou íris para maior segurança.
  • Mantenha seus softwares atualizados: Atualize regularmente o sistema operacional, navegadores e aplicativos para garantir que as últimas medidas de segurança estejam implementadas.
  • Esteja atento a phishing e outras técnicas de engenharia social: Tenha cuidado com emails, mensagens ou sites suspeitos que solicitam suas credenciais.

Lembre-se: a segurança cibernética é um processo contínuo. Mantenha-se informado sobre as novas ameaças e práticas de segurança para garantir que seus dados e sistemas estejam sempre protegidos.

Ao implementar os fatores de autenticação de forma adequada, você construirá um escudo robusto contra invasores cibernéticos, protegendo seu mundo digital e garantindo a tranquilidade de saber que suas informações estão seguras.