GitHunt
TA

taqtiqa-mark/Kathara-Setup

Information on how to setup the laboratory environment using Kathará

Instituto Superior Técnico, Universidade de Lisboa

Segurança Informática em Redes e Sistemas

Guia de Configuração - Kathará

Objectivo

O objectivo deste guia é apresentar o Kathará, descrever como se instala e verificar o seu funcionamento básico.

O que é o Kathará

O Kathará é uma ferramenta que permite simular redes de computadores e que será usada como base para os laboratórios e o projeto.
Vamos utilizar o Kathará para simular redes e comparar protocolos e configurações alternativas.

Em poucas palavras, o Kathará permite criar várias máquinas - que são concretizadas por contentores de Docker - e escolher como estão ligadas em domínios de colisão (collision domains), isto é, pontos da rede simulada em que os pacotes chegam a todos os computadores por difusão (broadcast), e que são concretizados por Docker Bridge Networks.

Este vídeo faz uma apresentação do Kathará:

https://www.youtube.com/watch?v=ionEpKjv3Vk

Instalação do Kathará

O Kathará está instalado nos computadores do laboratório, em Ubuntu GNU/Linux.
Para aceder aos computadores do laboratório use o username "seed" e a password "dees".

Para instalar o Kathará no seu PC, faca o download da versão "Latest Stable Release" de

https://www.kathara.org/#download

e siga os passos indicados em

https://github.com/KatharaFramework/Kathara/wiki

Teste básico

O objetivo deste teste básico e verificar que o Kathará está corretamente instalado.
Vamos criar uma rede em que temos 2 computadores fisicamente ligados ao mesmo switch e confirmar que se conseguem "pingar" mutuamente.

  1. Clone este repositório git para a sua máquina
git clone 'git@github.com:tecnico-sec/Kathara-Setup.git'
  1. Observe o conteúdo do ficheiro lab.conf de modo a compreender porque é gerada a rede entre os 2 pcs.

  2. Execute o laboratório mudando para o directório que contém o ficheiro lab.conf e executando o comando lstart (kathara lstart).
    Observe o arranque dos dois contentores Docker.
    Verifique que os scripts bash pc1.startup e pc2.startup são executado após o arranque das respetivas máquinas.

  3. Em cada máquina, obtenha o seu endereço IP dentro da rede 1.2.0.0/24.

ip addr
Máquina IP address
pc1
pc2
  1. "Pingue" as máquinas mutuamente.
# iex: no pc1
ping 1.2.0.2
# ctrl+c para parar o comando 
  1. Feche o laboratório, executando o comando lclean (kathara lclean).
    Isto vai apagar o conteúdo das máquinas e parar de corrê-las.

Guardar e observar o tráfego entre máquinas

Vamos agora proceder a guardar o tráfego de um ping entre máquinas do ponto de vista dos pacotes que chegam a interface de rede de cada máquina e posteriormente observá-lo no anfitrião.

  1. Na pasta onde está o ficheiro lab.conf, a pasta shared e uma pasta persistente partilhada entre todas as máquinas e o anfitrião. Vamos utilizá-lo para despejar o tráfego de rede que chega à interface de rede de cada pc.
  2. Para o fazer, vamos começar por criar essa pasta no anfitrião.
# Dentro da pasta que contém lab.conf: 
mkdir shared
  1. Inicie o laboratório:
lstart
  1. Execute o comando tcpdump nas máquinas respetivas para começar a guardar o tráfego que chega à interface eth0 dentro dos ficheiros respetivos na pasta shared:
# pc1:
tcpdump -s 0 -i eth0 -U -w /shared/pc1.pcap &

# pc2:
tcpdump -s 0 -i eth0 -U -w /shared/pc2.pcap &
  1. Na máquina pc1, "pingue" a máquina pc2 e de seguida "pingue" um endereço que não existe:
# pc1:
ping -c 1 1.2.0.2
ping -c 1 1.2.0.3
  1. Pare os laboratórios, executando no host pc lclean. Espere um pouco para garantir que os ficheiros pc1.pcap e pc2.pcap ficam gravados (pode ver se têm mais de 0 bytes na pasta shared).

  2. Corra o programa Wireshark e abra um dos pacotes para observar o conteúdo do ping entre o pc1 e pc2 do ponto de vista dos pacotes que chegam ao pc1 e ao pc2 quando estes estão ligados no mesmo domínio de colisão do Kathará.

  3. Que componente físico de rede teria o mesmo comportamento que o Kathará simula num domínio de colisão?

Referências

taqtiqa-mark/Kathara-Setup | GitHunt