Archive | redes RSS for this section

Simulando redes Cisco com Dynamips

Dynamips é um emulador de roteadores Cisco Open Source, que funciona com arquitetura cliente – servidor. O modulo cliente é o Dynagen, que tem como função interpretar o arquivo de configuração da rede (arquivo com extensão .net, pode ser gerado manualmente ou usando o GNS3) e envia-lo ao servidor Dynamips para queo cenário seja emulado.

Instalação do Dynagen

Para instalar o Dynagen temos duas alternativa:

Usar o instalador de pacotes padrão de sua distribuição Línux. Exemplo:

Para derivados de Red Hat (Fedora, Centos, Red Hat):

#yum install dynagen

Para distribuições baseada em Debian:

#aptitude install dynagen

Caso a sua distribuição não tenha o Dynagen ou o Dynamips em seu repositório, podemos obter os pacotes  AQUI.

Faça o download do código fonte do Dynagen e execute os seguintes passos:

  1. Descompacte o pacote que contem o código fonte;
  2. Abra o terminal;
  3. vá ate a pasta que contem os fontes;
  4. Execute o arquivo configure. (Para executa-lo, digite ./configure, caso não tiver permissão execute: chmod +x configure, e em seguida ./configure);
  5. Se não ocorrer erros compile o Dynagen com make (isso pode demorar alguns minutos);
  6. Finalmente instale com make install;

Para usar o Dynamips não é necessário instala-lo (pois ele já vem compilado). Basta baixar o arquivo binário, dar permissão para execução e pronto:

$chmod +x dynamips.bin

Preparando o laboratório

O primeiro passo para montar um laboratório com o Dynamips é ter as imagens do IOS dos roteadores que deseja simular. Caso você não tenha as imagens do IOS do roteador, você pode fazer igual a um amigo do cunhado de uma conhecida do primo da minha vizinha e procurar no 4shared ou em torrent no isoHunt. Obtendo as imagens temos que criar um cenário para simular.

Criando cenários  para o Dynamips

Para criar cenários precisamos criar um arquivo de configuração com extensão .net. A estrutura desse arquivo é essa (Atenção os colchetes são para da sintaxe do arquivo!!! Os valores em itálico são variáveis e em negrito são constantes):

[endereço do host que esta executando o Dynamips]

[[ porta que o servidor Dynamips está utilizando ]]

Um arquivo pode conter vários modelos de router, para cada modelo deve se identificar o nome do modelo e a imagem.

[[Modelo do Router que deseja simular]]

image=path da imagem

[[ROUTER nome_do_route]]

model = modelo do router

console = porta para acesso via telnet

aux = porta auxiliar para acesso via telnet

Para fazer conexões entre os Router da rede devemos especificar as interfaces dos router que vamos usar para o conexão. exemplo:

e0/0 = R2 e0/0

Esse exemplo conecta a interface ethernet 0/0 do router que estamos configurando com outro router chamado R2.

Apos terminar de descrever o cenário desejado, devemos iniciar o Dynamips. Execute com a seguinte sintaxe:

$./dynamips -H 7200

-H => Habilitado o modulo hipervisor;

7200 => A porta que o servidor usará.

Com o dynamips rodando podemos executar o dynagem para enviar o cenário:

$dynagen CENARIO.net

Se não ocorrer nenhum erro no arquivo do cenário devera aparecer a seguinte mensagem do shell:

Network successfully loaded

Dynagen management console for Dynamips and Pemuwrapper 0.11.0
Copyright (c) 2005-2007 Greg Anuzelli, contributions Pavel Skovajsa

=>

Digite o comando list para lista os router da rede.

Para acessar um router da rede bastar usar o cliente Telnet:

$telnet 127.0.0.1 port_do_router

Tutorial sobre o wireshark

O Wireshark é um sniffer multi-uso que pode ser usado tanto para ver o trafego em portas USB como principalmente para o trafego de redes. É um software baseado na lib-pcap (ou winpcap para Windows) e pode ser encontrado aqui .

Usando o wireshark
É provavelmente o sniffer de redes mais usado do mundo, isso provavelmente se deve aos seguintes fatos:

  • É um sniffer multiplataforma pode ser executado em ambiente Windows ou Unix LIke;
  • Não necessidade de nenhuma configuração complexa para seu funcionamento;
  • Tem uma interface gráfica amigável;

Para iniciar um captura você deve escolher qual interface de rede será usada para a captura do trafego daa rede (em LInux o wireshark deve ser executado por um usurio com poderes de root, pois ele ira alterar o modo da interface de rede escolhida para promiscuo – nesse estado o sistema não apenas captura os pacotes direcionados para sua placa de rede, como tambem todos os outros pacotes que estiverem trafegenado pela rede no momento).

Para iniciar uma nova captura vá em Capture->Interface, escolha uma interface de rede e clique em start.

Para parar a captura vá em Capture->stop.

Filtros

Além das característica s que cita anteriormente outro atrativo do wireshark é a facilidade de criar filtros para os pacotes capturado. Essa aplicação é util para criação de estatistas ou analise do trafego de rede.

Exemplo de alguns filtros comuns são:

ip.src == ip1 and  ip.dst == ip2

Só exibe os pacotes que tiveram a ooriigem em ip1 e destino em ip2

tcp.port == porta1

Lista todos os pacotes tiveram origem ou destino na porta1.

http

Lista todos os pacotes http .

Você também pode  usar a função Expression para criar filtros mais específicos.

Analise

Se vocẽ quiser analisar o fluxo de informação  de maneira mais detalhada pode usar as opções Analyze -> Follow TCP Stream ou Follow UDP Stream.

Estatisticas

No wireshark é possível criar basicamente 2  tipo de fluxo que mostra a direção do fluxo de rede e gráfico de trafego.

Para criar um gráfico de fluxo clique Statistics-> Flow grafics.

Usando o Kismet

O Kismet é um poderoso sniffer para rede wi-fi. É uma ferramenta útil tanto por crackers para colher pacotes de uma rede como por um administrador para verificar vulnerabilidade existente. O kismet poder ser baixado AQUI , ou baixando do repositório de sua distro.

Se estiver usando Debian e derivados:

#aptitude install kismet

Se estiver usando Red Hat e derivados:

#yum install kismet

Apos   a instalação deve-se configurar o arquivo kismet.conf da seguinte maneira:

# vim /etc/kismet/kismet.conf

Nesse exemplo eu optei por usar o vim, mas você pode escolher o editor de sua preferencia.

Altere a linha

source=rt8180,wlan0,addme

onde:

rt8180 é o driver da minha placa wireless;

wlan0 é o nome da interface de rede wireless;

addme é o nome que você quer a dar o conexão.

Apos realizar as configurações necessárias, o kismet pode ser executado (lembrete, deve-se executar o kismet sem esta conectado a nenhuma rede wireless):

Os pacotes são armazenados em /var/log/kismet/ para uma analise posterior.

Teste de comparação de ferramentas de segurança

Esse artigo foi escrito por mim e pelo Lucas Trombeta para a de disciplina segurança de dados, cursada no terceiro trimestre de 2009 na UFABC.

Nesse trabalho estamos avaliando as ferramantas de auditoria de segurança mais populares.

Ferramentas utilizadas:

Nessus

É um scanner de vulnerabilidade desenvolvido e comercializado pela Tenable Networks, que tem como principal caracterisca um arquitetura cliente-servidor. A partir da versão 3 o Nessus conta com versões do servidor para windows e sistema baseados em Unix. O cliente também pode ser executado tanto em windows, quanto em ambiente Unix.

Nesse trabalho foi usada a versão para uso não comercial disponível no site da Tenable.

OpenVAS

O OpenVAS (Open Vulnerability Assessment System) é um scanner de segurança de redes com um cliente em interface gráfica. O núcleo é composto por um servidor que realiza um teste de vulnerabilidade na rede (NVTs) para detecção de problema de segurança em aplicações e sistemas remotos.

O servidor openVAS esta disponível apenas para sistema operacionais baseados em Unix (Línux, BSDs, Solaris), mas uma fez instalado em um servidor unix, pode realizar um scanner um scan em qualquer máquina. O cliente esta disponível para línux e windows.

Em sua versão 2.0.3 apresenta aproximadamente 15.300 scripts, para avaliação de vulnerabilidades.

Retina

É um software desenvolvido e comercializado pela eEye Digital Security. Tem como principais características:


  • Facilidade de uso;
  • Só é executavel em plataforma windows;
  • Auxilia na gestao de politicas de segurança.

Para uso nesse trabalho foi testada a versão trial do Retina.

Secure WIN Auditor™(SWA)

É um software desenvolvido e comercializado Secure Bytes. Basicamente é muito parecido com o Retina, foi desenvolvido para plataformas windows e Solaris.

Descrição do cenário de teste:

Para execução dos testes, foi criada uma rede de máquina virtuais com as seguintes características:

Nome da máquina :FreeBSD
Sistema operacional : FreBSD 7.2-RELEASE
Endereço ip: 192.168.1.9

Nome nome da máquina: Windows1
Sistema Operacional: Windows XP sp1
ip: 192.168.1.1.7

Nome: Win server 2003
Sistema Operacional: windows server 2003 Standart Edition sp2
Endereço ip: 192.168.1.4

Nome: Centos server
Sistema Operacional: Centos 3.8 Kernel: 2.4.21-50.EL
Endereço ip:192.168.1.10

Para criação do cenário foi usado o virtual Box 3.04

Descrição do experimento

Por se tratar de uma comparação entre ferramentas de plataformas diferentes, resolvemos desenvolver um experimento comparando o Nessus com OpenVAS e outro Comparando o Retina ao Secure Auditor. Abaixo são apresentados os teste e os resultados colhidos.


Comparação Nessus vs Openvas

Por se tratarem de duas ferramentas multiplataformas foram realizados teste contra toda as máquinas do cenário.

Resultados encontrados:

Máquina: Win server 2003

Number of vulnerabilities :

Nessus Openvas
Open ports 5 5
Low 17 2
Medium 0 1
High 2 1

Máquina: Windows1

Nessus OpenVAS
Open ports 8 6
Low 23 4
Medium 2 2
High 12 1

Máquina: Freebsd

Nessus Openvas
Open ports 10 10
Low 22 2
Medium 1 1
High 0 0

Máquina: Centos Server

Nessus Openvas
Open ports: 10 10
Low : 33 3
Medium : 5 5
High 0 0

Detecção de Sistema operacional:

Nessus OpenVAS
Win server 2003 Microsoft Windows Server 2003 Service Pack 2 Microsoft Windows 2003 Server Enterprise Edition (accuracy 100%)
Microsoft Windows 2003 Server Standard Edition (accuracy 100%)
Microsoft Windows XP SP2 (accuracy 100%)
Windows1 Microsoft Windows XP,
Microsoft Windows XP Service Pack 1
Microsoft Windows 2003 Server Enterprise Edition (accuracy 95%)
Microsoft Windows 2003 Server Standard Edition (accuracy 95%)
Microsoft Windows XP SP2 (accuracy 95%)
Microsoft Windows XP SP1 (accuracy 95%)
Microsoft Windows XP (accuracy 95%)
Microsoft Windows 2000 Server Service Pack 4 (accuracy 95%)
Microsoft Windows 2000 Server Service Pack 3 (accuracy 95%)
Microsoft Windows 2000 Server Service Pack 2 (accuracy 95%)
Microsoft Windows 2000 Server Service Pack 1 (accuracy 95%)
Microsoft Windows 2000 Server (accuracy 95%)
Microsoft Windows 2000 Workstation SP4 (accuracy 95%)
Microsoft Windows 2000 Workstation SP3 (accuracy 95%)
Microsoft Windows 2000 Workstation SP2 (accuracy 95%)
Microsoft Windows 2000 Workstation SP1 (accuracy 95%)
Microsoft Windows 2000 Workstation (accuracy 95%)
Freebsd FreeBSD 7.0 FreeBSD 5.4 (accuracy 90%)
FreeBSD 5.3 (accuracy 90%)
FreeBSD 5.2.1 (accuracy 90%)
FreeBSD 5.2 (accuracy 90%)
FreeBSD 5.1 (accuracy 90%)
FreeBSD 5.0 (accuracy 90%)
FreeBSD 4.11 (accuracy 90%)
FreeBSD 4.10 (accuracy 90%)
FreeBSD 4.9 (accuracy 90%)
FreeBSD 4.8 (accuracy 90%)
FreeBSD 4.7 (accuracy 90%)
FreeBSD 4.6.2 (accuracy 90%)
FreeBSD 4.6 (accuracy 90%)
FreeBSD 4.5 (accuracy 90%)
FreeBSD 4.4 (accuracy 90%)
Centos server Linux Kernel 2.4 on CentOS 3 Linux Kernel 2.6.11 (accuracy 100%)
Linux Kernel 2.6.10 (accuracy 100%)
Linux Kernel 2.6.9 (accuracy 100%)
Linux Kernel 2.6.8 (accuracy 100%)
Linux Kernel 2.6.7 (accuracy 100%)
Linux Kernel 2.6.6 (accuracy 100%)
Linux Kernel 2.6.5 (accuracy 100%)
Linux Kernel 2.6.4 (accuracy 100%)
Linux Kernel 2.6.3 (accuracy 100%)
Linux Kernel 2.6.2 (accuracy 100%)
Linux Kernel 2.6.1 (accuracy 100%)
Linux Kernel 2.6.0 (accuracy 100%)
Linux Kernel 2.4.30 (accuracy 100%)
Linux Kernel 2.4.29 (accuracy 100%)
Linux Kernel 2.4.28 (accuracy 100%)
Linux Kernel 2.4.27 (accuracy 100%)
Linux Kernel 2.4.26 (accuracy 100%)
Linux Kernel 2.4.25 (accuracy 100%)
Linux Kernel 2.4.24 (accuracy 100%)
Linux Kernel 2.4.23 (accuracy 100%)
Linux Kernel 2.4.22 (accuracy 100%)
Linux Kernel 2.4.21 (accuracy 100%)
Linux Kernel 2.4.20 (accuracy 100%)
Linux Kernel 2.4.19 (accuracy 100%)
Linux Kernel 2.0.36 (accuracy 100%)
Linux Kernel 2.0.34 (accuracy 100%)
Linux Kernel 2.0.30 (accuracy 100%)

Retina vs Secure Auditor.

Win server 2003:

Retina Secure Auditor
Open Port 9 4
Low 31 5
Medium 26 3
High 75 19
Retina Secure Auditor
Open Port 20 5
Low 2 0
Medium 0 0
High 11 5


Detecção de sistema operacional

Retina Secure Auditor
Windows1 windows xp Windows XP
Win Server 2003
Windows server 2003 service pack 2
Windows server 2003 service pack 2

Conclusão

No decorrer desse trabalho procuramos comparar algumas das ferramentas mais conhecidas de auditoria de vulnerabilidade de redes, ao todo testamos 3 comerciais e uma opensuorce. Ao analisar os dados podemos verificar que o Nessus de longe é a ferramenta mais sofisticada e completa das 4, apresentado como vantagens os fato de ser capaz de analisar redes mista e conseguir resultados melhores que o retina e Secure Auditor em sistemas operacionais plataforma de plataforma windows. A vantagem do retina é o fato de fazer um scan mais completo ma máquina que esta instalado, dai o fato de ser a ferramenta que mais encontrou vulnerabilidades na máquina win server 2003.

Referencias:

Nessus – http://www.tenablesecurity.com/solutions/
Secure Auditor – http://www.secure-bytes.com/
OpenVAS – http://www.openvas.org/
Retina – http://www.eeye.com/Home.aspx

Aula pratica de nessus

Como instalar o nessus  no ubuntu.

#apt-get install nessus-dev libnessus2 nessus-plugins nessusd

Para iniciar o servidor nessus:

#/etc/init.d/nessusd start

Antes de iniciar o cliente nessus, você tem que criar um novo usuario:

#nessus-adduser

Apos criar o novo usuário . Inicie o cliente nessus.

Digite Vuln no menu de pesquisa do kde.

Ao abrir o cliente

Configure o nessus do seguinte modo:

host: localhost

Fazer os exercicios praticos do openvas.
Exercicio de openvas

Aula prática de OpenVAS

O OpenVAS (Open Vulnerability Assessment System) é um scanner de segurança de redes com um cliente em interface gráfica. O núcleo é composto por um servidor que realiza um teste de vulnerabilidade na rede (NVTs) para detecção de problema de segurança em aplicações e sistemas remotos.

OpenVAS um software livre e um fork do Nessus. Logo é uma excelente opção de ferramenta para uso em auditorias.

Estrutura do OpenVAS

Instalação

O OpenVAS-Server só esta disponível para línux ou Freebsd, o cliente esta disponivel para Línux, Freebsd e Windows.

Nesse postei irei demonstrar a instalação no Debian e no Fedora.

Instalação no Debian:

# apt-get install libopenvas2
# apt-get install libopenvas2-dev
# apt-get install libopenvasnasl2
# apt-get install libopenvasnasl2-dev
# apt-get install openvas-server
# apt-get install openvas-server-dev

Instalação no Fedora:

Para instalação no Fedora é necessário adicionar o repositório atomicorp.


Usando o Lynx (yum -y install lynx):
lynx -source http://www.atomicorp.com/installers/atomic.sh | sh

Usando o Wget:
wget -q -O – http://www.atomicorp.com/installers/atomic.sh | sh

Apos isso execute:

#yum install  openvas-client.x86_64

#yum install  openvas-server.x86_64

Lembrando que estou usando um sistema operacional compativel com a arquitetura x86_54.

No decorrer do processo de instalação o yum ira encontrar as dependências necessárias para a instalação correta dos pacote.

Por se tratar de um software com arquitetura cliente – servidor, o server pode ser instalado em uma máquina da rede e ser acessado pelo cliente que roda em outra máquina. É claro que isso é arriscado, pois alguem estiver monitorando as informações da rede, vai ter acesso as informações trocadas entre o cliente e o servidor OpenVAS.

Para manter a segurança durante o uso do OpenVAS é recomendada a criação de um certificado, para cliente e servidor trocarem informações por ssl. Para gerar um certificado de segurança use:

#openvas-mkcert

Ao executar esse script, você terá que responder uma serie de perguntas relativas a duração do certificado e localização geográfica.

Criando novo usuário.

Para criar um novo usuário, execute:

#openvas-adduser

Você terá que escolher o tipo de autenticação do usuário, se será por senha (pass) ou cerificado (cert), essa opção faz a mesma coisa que openvas-mkcert-client.

Executando o OpenVAS

Para executar o OpenVAS, primeiro deve se iniciar o servidor:

#/etc/init.d/openvasd start

Apos a inicialização do servidor OpenVAS,  execute o OpenVAS-client.

OpenVAS Cliente

Para executar um scan:

1-click em new.

2- Use o scan assistent para configurar o scan (icone de boia braco e vermelho).

3- Ao Abrir o assistente informe o nome do projeto, o escopo, o alvo e no final execute.

4- Na tela de conexão informe o endereço ip do servido OpenVAS, o login e senha para utiliza. Em caso de acesso remoto e altamente aconselhado o uso de certificados para comunicação em cliente e servidor.

5-Apos preencher os campos click em ok para começar o scan.

Ao termino do scan é gerado um relatório sobre as principais vulnerabilidades encontradas na rede.

Exercicios

inicie o OpenVAS-server com o comando:

#/etc/init.d/openvasd start

Depois abra o OpenVAS cliente.

Crie um novo projeto. File->New.

Use o scan assistent para configurar o novo scan. File->Scan assintent.

No passo 1 preencha o nome do scan, passo 2 preencha o escopo do scan.

No passo 3, você preenche o alvo, pode ser um endereço ip de um host remoto ou um rede. Apos seguir os passos execute o scan.

Rode o wireshark na maquina alvo e visualize os pacotes enviado pelo OPenVAS.

2- Configure o iptables na máquina alvo para não aceitar pacote que passem para placa de rede.

#iptables -P INPUT drop

#iptables -P OUTPUT drop

Execute o OpenVAS novamente contra a máquina alvo. Verifique o resultado.

3- Execute o OpenVAS contra a máquina alvo. E insira as regras acima no iptables da máquina alvo.

Verifique o resultado.