Módulo 11 - Aulas 3 e 4
Tarefas
No final deste módulo você deve submeter em um ÚNICO arquivo PDF os seguintes prints:
- Atividade 11.6: passo 9.
- Atividade 11.7: passo 6.
- Atividade 11.8: passo 7.
- Atividade 11.9: passo 13.
- Atividade 11.10: passo 10.
Atividade 11.6 – Explorando o ACL no Firewall do Windows Server 2022
Nesta atividade vamos usar o Windows Server 2022 (cliente) para explorar e configurar a ACL no Firewall.
1) Vamos começar inicializando o Windows Server 2022 (cliente).
2) Clique onde está escrito “Type here to search”, escreva “Windows Defender Firewall with Advanced Security” e clique no botão “Windows Defender Firewall with Advanced Security”. Veja que foi aberta uma Janela com as configurações do Firewall do Windows Server 2022.
3) No campo da esquerda, clique em “Inbound Rules”. Essas regras controlam o tráfego que entra no computador ou servidor. Elas permitem ou bloqueiam conexões de entrada de acordo com os critérios especificados. Por exemplo, você pode criar uma regra para permitir que um programa específico aceite conexões de outros dispositivos em sua rede local.
4) No campo da esquerda, clique em “Outbound Rules”. Essas regras controlam o tráfego que sai do computador ou servidor para outros dispositivos ou servidores na rede ou na Internet. É possível permitir ou bloquear conexões de saída com base em critérios específicos. Por exemplo, você pode criar uma regra para bloquear o acesso a determinados sites ou serviços.
5) No campo da esquerda, clique em “Connection Security Rules”. Essas regras são usadas para configurar e gerenciar conexões seguras entre o computador local e outros dispositivos ou redes. Elas são frequentemente utilizadas em cenários de VPN (Rede Virtual Privada) ou em comunicações criptografadas para garantir a segurança dos dados transmitidos.
6) No campo da esquerda, clique em “Monitoring”. Essa seção permite que você visualize informações detalhadas sobre o tráfego de rede e as regras de firewall em tempo real. É possível verificar quais conexões estão sendo permitidas ou bloqueadas pelo firewall e identificar possíveis problemas de segurança.
7) Agora, expanda o campo “Monitoring” e clique em “Firewall”. O subcampo "Firewall" (Firewall) dentro da seção de monitoramento oferece recursos para acompanhar o funcionamento e o impacto das regras de firewall configuradas no sistema. Dentro dessa seção, você pode encontrar informações como:
- Conexões Permitidas (Allow): Mostra uma lista das conexões de rede que foram permitidas pelas regras de entrada e saída do firewall. Essas conexões são consideradas seguras e foram autorizadas pelo firewall para comunicar-se com o sistema.
- Conexões Bloqueadas (Block): Apresenta uma lista das conexões que foram bloqueadas pelo firewall com base nas regras de entrada e saída. Essas conexões são consideradas inseguras ou não autorizadas e foram impedidas de acessar o sistema.
- Regras de Firewall em Vigor: Exibe uma lista de todas as regras de firewall que estão ativas no momento e aplicadas ao sistema. Isso permite verificar quais regras estão sendo efetivamente usadas para permitir ou bloquear o tráfego de rede.
- Detalhes das Conexões: Ao selecionar uma conexão específica, é possível obter informações mais detalhadas sobre ela, como o programa ou aplicativo envolvido na comunicação, o endereço IP e a porta utilizada, bem como o tipo de tráfego (entrada ou saída).
8) Expanda o campo “Monitoring” e clique em “Connection Security Rules”. As "Connection Security Rules" são usadas para estabelecer e gerenciar conexões seguras entre o computador local e outros dispositivos ou redes. Elas são comumente empregadas em cenários de VPN (Rede Virtual Privada) ou em comunicações criptografadas para garantir a segurança dos dados transmitidos pela rede. Dentro dessa seção de monitoramento, você pode encontrar informações como (pode ser que no seu laboratório este campo esteja vazio):
- Conexões Estabelecidas: Exibe uma lista das conexões seguras que foram estabelecidas com sucesso de acordo com as regras de segurança de conexão. Isso inclui conexões VPN ou outras conexões protegidas por criptografia.
- Conexões Descartadas: Mostra uma lista das tentativas de conexão que foram descartadas ou bloqueadas pelas regras de segurança de conexão. Isso pode indicar possíveis tentativas de acesso não autorizado ou atividades suspeitas na rede.
- Detalhes das Conexões: Ao selecionar uma conexão específica, é possível obter informações mais detalhadas sobre ela, como os dispositivos ou redes envolvidos na comunicação, o método de autenticação utilizado e o status da conexão (estabelecida ou descartada).
9) Expanda os campos “Monitoring” --> “Security Associations” --> “Main Mode”. Esta é uma seção que permite acompanhar e visualizar informações relacionadas às negociações de segurança estabelecidas durante o processo de estabelecimento de uma conexão VPN (Rede Virtual Privada) usando o protocolo IKE (Internet Key Exchange) no modo principal (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!). Quando um dispositivo cliente tenta se conectar a uma VPN que utiliza o modo principal, ocorrem as seguintes etapas:
- Autenticação: Nesta etapa, os dispositivos cliente e servidor trocam informações para autenticar suas identidades. Isso garante que apenas dispositivos autorizados possam estabelecer a conexão VPN.
- Negociação de Chave: Durante essa fase, os dispositivos cliente e servidor concordam com os parâmetros de criptografia a serem utilizados na comunicação. Isso inclui o algoritmo de criptografia, o tamanho da chave e outros detalhes de segurança.
- Estabelecimento da Conexão: Após a conclusão das etapas anteriores, a conexão VPN é estabelecida, e os dispositivos podem começar a trocar dados de forma segura e criptografada.
A seção "Main Mode" dentro das "Security Associations" exibe informações sobre essas negociações de segurança realizadas no modo principal. Ela inclui detalhes como os endereços IP dos dispositivos envolvidos, os parâmetros de criptografia acordados, informações sobre a autenticação bem-sucedida e o status geral da conexão VPN.
10) Expanda os campos “Monitoring” --> “Security Associations” --> “Quick Mode”. Esta é uma seção que permite acompanhar e visualizar informações relacionadas às negociações de segurança após o estabelecimento inicial de uma conexão VPN (Rede Virtual Privada) usando o protocolo IKE (Internet Key Exchange). Após o estabelecimento da conexão VPN no modo principal (Main Mode), o Quick Mode entra em ação para realizar negociações adicionais e estabelecer as chamadas "Security Associations" (Associações de Segurança) de maneira mais rápida e eficiente. As "Security Associations" são conjuntos de parâmetros de segurança que governam a comunicação segura entre os dispositivos da VPN. O Quick Mode tem como principais funções:
- Renovação das Chaves: As chaves de criptografia e autenticação têm um tempo de vida útil limitado. O Quick Mode possibilita a renovação dessas chaves periodicamente, garantindo a segurança contínua da comunicação.
- Gerenciamento de Tráfego: Nesta fase, são definidas as regras específicas para o tráfego de dados que será protegido pela VPN. Isso inclui identificar quais endereços IP, portas e protocolos terão suas comunicações criptografadas.
- Verificação de Integridade: O Quick Mode também inclui verificações de integridade para garantir que os dados transmitidos não tenham sido modificados ou corrompidos durante a transmissão.
A seção "Quick Mode" dentro das "Security Associations" exibe informações sobre essas negociações de segurança realizadas nesse estágio da comunicação VPN. Ela inclui detalhes sobre as chaves e parâmetros de segurança renovados, bem como informações sobre o tráfego que está sendo protegido pela VPN.
11) Feche todas as janelas. Agora você conhece os principais campos das configurações avançadas do Firewall do Windows Server 2022!
Atividade 11.7 – Bloqueando sites usando iptables no Kali Linux
Nesta atividade, vamos usar o Kali Linux para bloquear o site globo.com.br usando o iptables no Terminal.
Vamos começar inicializando nosso Kali Linux.
1) Abra o Terminal e execute o seguinte comando para ser super usuário:
┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:
2) Abra o Mozilla Firefox (“Aplicativos” --> “Navegador Web”) e digite “Ctrl + Shit + p” para abrir no modo anônimo.
3) Acesse o site (não esqueça do .br e não escreva “https\://”):
www.globo.com.br
Veja que o site é carregado normalmente.
4) Feche todas as janelas do Mozilla Firefox.
5) No Terminal, digite o seguinte comando para bloquear o site da Globo:
┌──(root㉿kali)-[~]
└─# iptables -A INPUT -s globo.com.br -j DROP
O comando mostrado acima possui os seguintes parâmetros:
- iptables: É o comando utilizado para configurar o netfilter, que é o firewall padrão do kernel Linux.
- -A INPUT: Esta parte adiciona uma nova regra à chain (cadeia) de regras INPUT. A chain INPUT é responsável por processar pacotes que chegam ao sistema local.
- -s globo.com.br: Aqui, o argumento -s especifica o endereço IP ou nome de host de origem. Nesse caso, estamos usando o nome de host "globo.com.br". O iptables irá resolver esse nome de host para o endereço IP correspondente.
- -j DROP: Esta opção indica o alvo (target) da regra, ou seja, o que deve ser feito com os pacotes que correspondem a esta regra. Neste caso, o alvo é DROP, que descarta os pacotes que se encaixam na regra, bloqueando-os.
6) Vamos ver as regras do iptables (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):
┌──(root㉿kali)-[~]
└─# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP all -- 186-192-83-5.prt.globo.com anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (1 references)
target prot opt source destination
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target prot opt source destination
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Veja que todas as conexões do site da Globo (.br) estão bloqueadas.
7) Repita os passos 2 e 3. Desta vez, veja que o site da Globo não carrega!
8) Volte ao Termina porque vamos retirar a regra de bloqueio do site da Globo no iptables:
┌──(root㉿kali)-[~]
└─# iptables -D INPUT -s globo.com.br -j DROP
O comando mostrado acima possui os seguintes parâmetros:
- iptables: É o comando utilizado para configurar o netfilter, que é o firewall padrão do kernel Linux.
- -D INPUT: Esta parte indica que queremos deletar (remover) uma regra da chain (cadeia) de regras INPUT. A chain INPUT é responsável por processar pacotes que chegam ao sistema local.
- -s globo.com.br: Aqui, o argumento -s especifica o endereço IP ou nome de host de origem. Nesse caso, estamos usando o nome de host "globo.com.br". O iptables irá resolver esse nome de host para o endereço IP correspondente.
- -j DROP: Esta opção indica o alvo (target) da regra que foi adicionada anteriormente e que agora será removida. Neste caso, o alvo é DROP, que descarta os pacotes que se encaixam na regra.
9) Vamos ver as regras do iptables novamente:
┌──(root㉿kali)-[~]
└─# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain DOCKER (1 references)
target prot opt source destination
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
target prot opt source destination
DOCKER-ISOLATION-STAGE-2 all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
target prot opt source destination
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Veja que não existem bloqueios.
10) Volte ao Mozilla Firefox e veja que o site da Globo finalmente abre! Feche o Mozilla Firefox.
Parabéns! Agora, você sabe como bloquear e desbloquear sites usando o iptables no Linux!
Atividade 11.8 – Redirecionando requisições DNS usando iptables no Kali Linux
Nesta atividade, vamos usar o Kali Linux para redirecionar requisições DNS para o IP loopback (127.0.0.1) usando o iptables no Terminal. Com isso, causaremos uma negação de serviço que não deixará carregar nenhum site no navegador. Vamos dar continuidade a Atividade anterior.
Vamos começar inicializando nosso Kali Linux.
1) Abra o Terminal e execute o seguinte comando para ser super usuário:
┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:
2) Abra o Mozilla Firefox (“Aplicativos” --> “Navegador Web”) e digite “Ctrl + Shit + P” para abrir no modo anônimo.
- Acesse o site:
https://www.facebook.com/
Veja que o site é carregado normalmente.
4) Feche todas as janelas do Mozilla Firefox.
5) Redirecionar solicitações de DNS para um IP local: Primeiro, você precisa redirecionar as solicitações de DNS para um endereço IP local, como o IP loopback (127.0.0.1), que não responde a solicitações de DNS. Para redirecionar as solicitações de DNS para o IP loopback, você pode adicionar a seguinte regra no iptables:
┌──(root㉿kali)-[~]
└─# iptables -t nat -A OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:53
O comando mostrado acima possui os seguintes parâmetros:
- iptables: É o comando utilizado para configurar o netfilter, que é o firewall padrão do kernel Linux.
- -t nat: Esta parte indica que a regra será aplicada à tabela de tradução de endereços de rede (NAT - Network Address Translation). Essa tabela é usada para configurar redirecionamentos de pacotes em nível de IP.
- -A OUTPUT: Aqui, o argumento -A indica que queremos adicionar (-A) uma nova regra à chain (cadeia) de regras OUTPUT. A chain OUTPUT é responsável por processar pacotes de saída do sistema local.
- -p udp: Esta opção especifica o protocolo dos pacotes que a regra se aplica, que neste caso é o UDP (User Datagram Protocol).
- --dport 53: Esta parte especifica que a regra se aplica a pacotes que têm a porta de destino (destination port) igual a 53. A porta 53 é a porta padrão usada para solicitações e respostas de DNS (Domain Name System).
- -j DNAT --to-destination 127.0.0.1:53: Essa opção indica o alvo (target) da regra. Neste caso, o alvo é DNAT, que realiza a tradução de endereço de destino (Destination NAT). A opção --to-destination especifica o endereço IP e a porta para o qual os pacotes serão redirecionados, que é o IP loopback (127.0.0.1) na porta 53.
6) Repita os passos 2 e 3. Desta vez, veja que o site do Facebook não carrega por problema de DNS com o seguinte aviso: Hmm. We’re having trouble finding that site.
7) Vamos ver as regras de redirecionamento de DNS do iptables (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):
┌──(root㉿kali)-[~]
└─# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DOCKER all -- anywhere anywhere ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DOCKER all -- anywhere !loopback/8 ADDRTYPE match dst-type LOCAL
DNAT udp -- anywhere anywhere udp dpt:domain to:127.0.0.1:53
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 172.17.0.0/16 anywhere
Chain DOCKER (2 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Veja que a regra de saída de DNS redireciona a conexão para o IP loopback 127.0.0.1.
8) Agora, vamos eliminar a regra que gera indisponibilidade de conexão DNS para deixar as conexões normais:
┌──(root㉿kali)-[~]
└─# iptables -t nat -D OUTPUT -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:53
O comando mostrado acima possui os seguintes parâmetros:
- iptables: É o comando utilizado para configurar o netfilter, que é o firewall padrão do kernel Linux.
- -t nat: Esta parte indica que a regra está presente na tabela de tradução de endereços de rede (NAT - Network Address Translation). Essa tabela é usada para configurar redirecionamentos de pacotes em nível de IP.
- -D OUTPUT: Aqui, o argumento -D indica que queremos deletar (remover) uma regra da chain (cadeia) de regras OUTPUT. A chain OUTPUT é responsável por processar pacotes de saída do sistema local.
- -p udp: Esta opção especifica o protocolo dos pacotes a que a regra se aplica, que neste caso é o UDP (User Datagram Protocol).
- --dport 53: Esta parte especifica que a regra se aplica a pacotes que têm a porta de destino (destination port) igual a 53. A porta 53 é a porta padrão usada para solicitações e respostas de DNS (Domain Name System).
- -j DNAT --to-destination 127.0.0.1:53: Essa opção indica o alvo (target) da regra que será removida. Neste caso, o alvo é DNAT, que realiza a tradução de endereço de destino (Destination NAT). A opção --to-destination especifica o endereço IP e a porta para o qual os pacotes foram redirecionados, que é o IP loopback (127.0.0.1) na porta 53.
9) Veja como ficaram as regras de redirecionamento de DNS do iptables:
┌──(root㉿kali)-[~]
└─# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DOCKER all -- anywhere anywhere ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DOCKER all -- anywhere !ip-127-0-0-0.ec2.internal/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- ip-172-17-0-0.ec2.internal/16 anywhere
Chain DOCKER (2 references)
target prot opt source destination
RETURN all -- anywhere anywhere
Veja que a antiga regra de redirecionamento não está mais listada.
10) Atualize a janela anônima do Mozilla Firefox e veja que o site do Facebook é carregado normalmente! Feche o Mozilla Firefox e o Terminal.
Parabéns! Agora você sabe o poder do correto uso do DNS e como pode causar indisponibilidade de acesso por meio do iptables.
Atividade 11.9 – Usando OpenVPN no Kali Linux
Nesta atividade, vamos usar o Kali Linux para navegar na internet usando uma VPN aberta, conhecida como OpenVPN. O OpenVPN é uma solução de código aberto amplamente utilizada para implementação de redes privadas virtuais (VPNs). Ele opera em um modelo cliente-servidor e é conhecido por sua confiabilidade, segurança e flexibilidade. O OpenVPN utiliza o protocolo SSL/TLS para estabelecer uma conexão segura e criptografada entre o cliente (dispositivo do usuário) e o servidor VPN.
Vamos começar inicializando nosso Kali Linux.
1) O VPNBook é um serviço VPN gratuito que utiliza a tecnologia OpenVPN para oferecer aos usuários uma conexão segura e anônima à Internet. Ele fornece acesso a servidores VPN localizados em diferentes países, permitindo que os usuários naveguem na web de forma privada e segura, além de contornar restrições geográficas. Abra o Mozilla Firefox (“Aplicativos” --> “Navegador Web”) e acesse o site:
https://www.vpnbook.com/
2) Dentro do site, desça até encontrar a seção “Free OpenVPN and PPTP VPN” e clique na aba “OpenVPN”
3) Serão listados múltiplos servidores, os quais são atualizados constantemente.
4) Escolha um dos servidores que não comecem com “Download US”, isso para evitar a escolha de um servidor dos Estados Unidos. No caso deste exemplo, foi escolhido o servidor “Download CA149 Server OpenVPN Config Bundle”. Anote o usuário e senha que aparece abaixo dos links dos servidores.
5) Veja que um arquivo foi baixado para a pasta “Downloads”.
6) Abra o Gerenciador de Arquivos “Thunar” (“Aplicativos” --> “Gerenciador de Arquivos”) e navegue até a pasta “/home/aluno/Downloads/”.
7) Clique com o botão direito no arquivo baixado (o nome dele começa com “vpnbook”) e clique em “Extrair aqui”. Veja que uma pasta nova foi criada, ela contém os arquivos necessários para a conexão via OpenVPN.
8) Abra o Terminal e execute o seguinte comando para ser super usuário:
┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:
9) Navegue até a pasta onde os arquivos do passo 7 foram extraídos. No meu caso foi:
┌──(root㉿kali)-[~]
└─# cd /home/aluno/Downloads/vpnbook-openvpn-ca149/
10) Estabeleça a conexão VPN com o seguinte comando, substituindo o trecho “vpnbook-ca149-” pelo correspondente ao arquivo baixado no passo 7 (o usuário e senha estão no site acessado no passo 1):
┌──(root㉿kali)-[/home/aluno/Downloads/vpnbook-openvpn-ca149]
└─# openvpn --config vpnbook-ca149-tcp80.ovpn
11) Verifique que a conexão foi estabelecida ao visualizar a última linha:
┌──(root㉿kali)-[/home/aluno/Downloads/vpnbook-openvpn-ca149]
└─# openvpn --config vpnbook-ca149-tcp80.ovpn
2025-12-05 23:19:51 DEPRECATED: --persist-key option ignored. Keys are now always persisted across restarts.
2025-12-05 23:19:51 WARNING: Compression for receiving enabled. Compression has been used in the past to break encryption. Compression support is deprecated and we recommend to disable it completely.
2025-12-05 23:19:51 DEPRECATED OPTION: --cipher set to 'AES-256-CBC' but missing in --data-ciphers (DEFAULT). OpenVPN ignores --cipher for cipher negotiations.
2025-12-05 23:19:51 Note: '--allow-compression' is not set to 'no', disabling data channel offload.
2025-12-05 23:19:51 OpenVPN 2.7_rc2 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] [DCO]
2025-12-05 23:19:51 library versions: OpenSSL 3.5.4 30 Sep 2025, LZO 2.10
2025-12-05 23:19:51 DCO version: N/A
Enter Auth Username: vpnbook
Enter Auth Password: •••••••
2025-12-05 23:20:12 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
2025-12-05 23:20:12 TCP/UDP: Preserving recently used remote address: [AF_INET]144.217.253.149:80
2025-12-05 23:20:12 Socket Buffers: R=[131072->131072] S=[16384->16384]
...
2025-12-05 23:20:13 /usr/libexec/openvpn/dns-updown
setting DNS using resolv.conf file
2025-12-05 23:20:13 dns up command exited with status 0
2025-12-05 23:20:13 Data Channel: cipher 'AES-256-GCM', peer-id: 11, compression: 'lzo'
2025-12-05 23:20:13 Timers: ping 5, ping-restart 30
2025-12-05 23:20:13 Protocol options: protocol-flags cc-exit tls-ekm dyn-tls-crypt
2025-12-05 23:20:15 net_route_v4_add: 144.217.253.149/32 via 192.168.98.1 dev [NULL] table 0 metric -1
2025-12-05 23:20:15 net_route_v4_add: 0.0.0.0/1 via 10.12.0.57 dev [NULL] table 0 metric -1
2025-12-05 23:20:15 net_route_v4_add: 128.0.0.0/1 via 10.12.0.57 dev [NULL] table 0 metric -1
2025-12-05 23:20:15 net_route_v4_add: 10.12.0.1/32 via 10.12.0.57 dev [NULL] table 0 metric -1
2025-12-05 23:20:15 Initialization Sequence Completed
12) Volte ao Mozilla Firefox, abra uma nova aba e acesse o seguinte site para ver sua localização:
https://whatismyipaddress.com/
13) Veja que sua saída à Internet foi efetuada pelo país de saída escolhido no passo 4! No meu caso foi (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):
My IP Address is:
IPv4: ? 144.217.253.149
IPv6: ? Not detected
My IP Information:
ISP: OVH Hosting Inc.
Services: Network Sharing Device
City: Trois-Rivières
Region: Quebec
Country: Canada
14) Volte ao Terminal interrompa a conexão com “Ctrl + c”.
- Agora, você não está mais conectado a OpenVPN. Volte ao Mozilla Firefox, atualize o site do passo 12 e veja que seu IP é do Brasil. No meu caso foi:
My IP Address is:
IPv4: ? 200.129.249.14
IPv6: ? Not detected
My IP Information:
ISP: Rede Nacional de Ensino e Pesquisa
Services:
City: Barra do Garças
Region: Mato Grosso
Country: Brazil
- Apague a pasta que baixou no passo 4 e na sequência feche o Mozilla Firefox e o Terminal:
┌──(root㉿kali)-[/home/aluno/Downloads/vpnbook-openvpn-ca149]
└─# cd /home/aluno/Downloads
┌──(root㉿kali)-[/home/aluno/Downloads]
└─# ls
cacert.der vpnbook-openvpn-ca149 vpnbook-openvpn-ca149.zip
┌──(root㉿kali)-[/home/aluno/Downloads]
└─# rm -r *
zsh: sure you want to delete all 2 files in /home/aluno/Downloads [yn]? y
Parabéns! Agora você sabe como usar a ferramenta OpenVPN no Kali Linux!
Atividade 11.10 – Bloqueando pacotes ICMP provenientes do Windows Server 2022 no Kali Linux
Nesta atividade, vamos usar o Kali Linux para bloquear pacotes ICMP usando o iptable. A máquina de onde são enviados os pacotes é o Windows Server 2022 (cliente).
1) Vamos começar inicializando o Windows Server 2022 (cliente).
2) Clique onde está escrito “Type here to search”, escreva “cmd” e clique no botão “Command Prompt”. Veja que foi aberta a janela do Command Prompt.
3) Confira o seu IP com o seguinte comando:
C:\Users\Administrator>ipconfig
Windows IP Configuration
Ethernet adapter Ethernet 2:
Connection-specific DNS Suffix . : ec2.internal
Link-local IPv6 Address . . . . . : fe80::919a:6c84:9a17:42e3%7
IPv4 Address. . . . . . . . . . . : 192.168.100.3
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.100.1
Veja que neste caso, o IP de rede do Windows Server 2022 (cliente) é 192.168.100.3.
4) Minimize a VM do Windows Server 2022 (cliente).
5) Inicialize o Kali Linux.
6) Abra o Terminal e execute o seguinte comando para ser super usuário:
┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:
7) No Kali Linux, confira seu IP de rede local:
┌──(root㉿kali)-[~]
└─# ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:90:bb:01:fc txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 6 overruns 0 carrier 0 collisions 0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 9001
inet 192.168.100.1 netmask 255.255.255.0 broadcast 192.168.98.255
inet6 fe80::104d:70ff:fef0:ab8b prefixlen 64 scopeid 0x20<link>
ether 12:4d:70:f0:ab:8b txqueuelen 1000 (Ethernet)
RX packets 189669 bytes 44982448 (42.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 298986 bytes 1412762927 (1.3 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Loopback Local)
RX packets 945 bytes 88589 (86.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 945 bytes 88589 (86.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Veja que neste caso, o IP de rede deste Kali Linux é 192.168.100.1 via a interface eth0.
8) Minimize a VM do Kali Linux e maximize a do Windows Server 2022 (cliente). Ainda no CMD, envie pacotes ICMP por meio do Ping para o Kali Linux com IP 192.168.100.1:
C:\Users\Administrator>ping 192.168.100.1
Pinging 192.168.100.1 with 32 bytes of data:
Reply from 192.168.100.1: bytes=32 time<1ms TTL=64
Reply from 192.168.100.1: bytes=32 time=1ms TTL=64
Reply from 192.168.100.1: bytes=32 time<1ms TTL=64
Veja que o Windows Server 2022 (cliente) recebe respostas do Kali Linux com sucesso!
9) Minimize a VM do Windows Server 2022 (cliente) e maximize a do Kali Linux. Implemente a regra para descartar os pacotes ICMP recebidos. Isso impedirá que o Kali Linux responda a pings de outros dispositivos na rede - Windows Server 2022 (cliente):
┌──(root㉿kali)-[~]
└─# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
O comando mostrado acima possui os seguintes parâmetros:
- iptables: Comando para configurar as regras do iptables.
- -A INPUT: Adiciona a regra à cadeia de entrada (tráfego recebido pelo sistema).
- *-p icmp: Especifica o protocolo ICMP.
- --icmp-type echo-request: Especifica o tipo de mensagem ICMP, neste caso, Echo Request (ping).
- -j DROP: Ação a ser tomada se a regra for correspondida, que é descartar o pacote (não responder ao ping).
10) Minimize a VM do Kali Linux e maximize a do Windows Server 2022 (cliente). Tente novamente pingar o Kali Linux (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):
C:\Users\Administrator>ping 192.168.100.1
Pinging 192.168.100.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 192.168.100.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
Veja que agora, o Windows Server 2022 (cliente) não recebe respostas do ping emitido ao Kali Linux. Isso acontece porque a regra de bloqueio de respostas de ping está funcionando no Kali Linux!
11) Minimize a VM do Windows Server 2022 (cliente) e maximize a do Kali Linux. Agora, vamos remover a regra que executa o bloqueio ICMP:
┌──(root㉿kali)-[~]
└─# iptables -D INPUT -p icmp --icmp-type echo-request -j DROP
12) Minimize a VM do Kali Linux e maximize a do Windows Server 2022 (cliente). Tente novamente pingar o Kali Linux:
C:\Users\Administrator>ping 192.168.100.1
Pinging 192.168.100.1 with 32 bytes of data:
Reply from 192.168.100.1: bytes=32 time<1ms TTL=64
Reply from 192.168.100.1: bytes=32 time=1ms TTL=64
Reply from 192.168.100.1: bytes=32 time<1ms TTL=64
Reply from 192.168.100.1: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.100.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
Veja que o ping do Windows Server 2022 (cliente) ao Kali Linux voltou a funcionar porque a regra de bloqueio foi removida no Kali Linux! Encerre as VMs Windows Server 2022 (cliente) e do Kali Linux.
Parabéns! Agora você sabe como usar o iptables para bloquear pacotes ICMP em uma rede local!