Archive | ferramentas 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.

Converterimagem .bin e .cue em .iso

As vezes ao fazer o download de algum arquivo, ele vem no famigerado formato .bin e .cue, esse formato não pode ser montado de maneira simples com o uso do mount (caso do .iso). Quem usa windows pode pode usar a versão full do nero ou outro software com suporte para essa formato.
Para variar existe um ferramenta simples e open-source que pode realizar essa função no Línux, o bchunk.
Você pode baixar o bchunk AQUI .

Também pelo instalar pelo repositorio da sua distro, se estiver usando Debian e derivados basta usar:

#aptitude install bchunk

O modo generico de usar o bchunk é esse:

$ bchunk arquivo.bin arquivo.cue arquivo.iso

Apos algum tempo (depende do tamanho do arquivo), será gerada uma imagem iso, no diretório corrente.

Criptografia de disco em linux

Uma boa pratica de segurança da informação é manter uma partição do disco criptografada, essa prática ajuda a dificultar o acesso do atacante a dados sigilosos. Como mostrei em outra postagem, com acesso fisico no computador alvo é fácil logar como root e ter acesso a todos os dados do sistema. Esse problema é facilmente resolvido com criptografia.
Em Lĩnux existem duas excelentes ferramentas: o Truecrypt com versões disponiveis para windows e Línux, e o dm-crypt que usa o suporte à criptografia do kernel apartir da versão 2.6.
Nesse post vou mostar a maneira mais simples para criar uma partição criptografada usando aes e ripemd160.

Primeiro use o crypsetup para criptografar a partição escolhida. Ele vai pedir para digitar a chave que vc deseja usar para criptografar a partição.

$sudo cryptsetup create label /dev/particao_escolhida

Agora é necessario criar um sistema de arquivo para a nova partição:

#mkfs.ext4 /dev/mapper/crypto

Pronto agora é só montar a partição com mount:

#mount /dev/mapper/label /mnt/

Para monta-la de novo apos reiniciar o sistema é só usar:

#cryptsetup create label /dev/particao_escolhida
#mount /dev/mapper/label /mnt/

Em outro post eu explicarei um pouco sobre o mecânismo e os algoritmos utilizados no cryptsetup.

Desenvolvento aplicações com PIC em Línux

PIC são microcontroladores fabricados pela Microchip, são usados inumeras aplicações embarcadas. Uma das desvantagens do uso de PIC para desenvolvimento em plataformas não Windows é a falta de suporte da Microchip, que não fornece ferramentas em outras plataformas. Para contornar esse obstaculo vou comentar sobre algumas ferramentas open-source que podem substituir a suite Microchip, no desenvolvimento de aplicações embarcadas.

Compiladores:

Como o gcc ainda não oferece suporte a arquitura PIC, temos as seguintes opções:

SDCC – Small Device C Compiler – Compilador que pode ser encontrado aqui . Tem suporte as seguintes arquiteturas: Intel 8051, Maxim 80DS390, Zilog Z80 ,Motorola 68HC08 MCUs e alguns PIC das familias 16 e 18.

gputils – GNU PIC Utilities – Na verdade é um pacote de ferramentas que incluem: um simulador (gpsim), um linker (gplink) e um compilador (gpasm). Pode ser encontrado aqui .

Gravador

Para gravação do arquivo .hex no dispositivo exite o picprog que pode ser encontrado aqui .

IDE

Se você não sente confortavel em usar o vim como editor, a solução é usar o Piklab. Essa IDE ajuda a juntar as etapas de escrita do codigo, compilação e gravação em um unico lugar.

Em outro post um mostro como criar uma apricação usando essas ferramentas.

Deletando arquivo definitivamente

Segundo informações do NiST (National Institute of Standards and Technology) para você realmente apagar um arquivo de um disco deve escrever por cima dele 30 vezes. Logo se você pensa que apos esvaziar a lixeira ou formatar o disco os dados foram perdidos para sempre voce esta enganado.
A prova de que é possivel recuperar os dados nessas situações foi realiza no post recuperação de arquivos com dd e foremost.
Se voce tem algum arquivo que por motivo voce quer que seja apagado definitivamente é só apaga-lo com o wipe. Esse aplicativo escreve valores aleatorios no espaço que o arquivo que voce quer apagar 30 vezes, logo é praticamente impossivel se recuperar essa informação. Para instala – lo precure os pacotes necessários no sua distro, caso não encontre, vc pode baixar os fontes desconpacta – los. Para install é só executar um ./cofigure, make, make install e pronto.

Para usa-lo é ainda mais simple:

$wipe [opções] arquivo