Introdução ao firewall do Mac OSX IPFW

Todos os sistema operacionais baseados em Unix possuem ferramentas nativas de firewall. No caso do Mac OS X não é diferente ele vêm embutido no Kernel do SO. Para usuários não experientes é possível habilitar o recurso através do painel de controle System Preference/Security na Aba firewall marcando simplesmente para ativar o recurso. Mas isto não é tudo, a interface gráfica não é tão poderosa quanto todas as opções que podem ser exploradas no shell, e para isso podemos utilizar o ipfw ( Ip Firewall ) do Mac OSX. Continue reading…

TCPtrack - ferramenta para monitoramento de rede


Sniffer TCPTrack

O tcptrack é um sniffer que pode monitorar qualquer tipo de conexão TCP que estejam acontecendo em sua máquina, abaixo estou demonstrando como utilizar a ferramenta para monitorar conexões de suas interfaces de rede:

Plataforma utilizada para o teste:
Debian Gnu/Linux 4.0 ( Etch ) - Kernel 2.6.22

Hardware:
Pentium III 500 Mhz
128 MB RAM
HD 10 GB

Primeiramente vamos instalar o pacote do tcptrack, para usuários do Debian ou Ubuntu a tarefa é muito simples utilizando o APT.

#apt-get install tcptrack

depois de instalado é muito simples utilizar, as flags de comando do software são:

-d: Monitora apenas conexões que foram iniciadas depois do tcptrack ter iniciado;
-f: Controla a velocidade de atualização dos relatórios do tcptrack;
-i: Especifica qual a interface de rede será iniciada para o monitoramento;
-p: Não inicia o sniffer com interfaces em promiscuo mode;
p: Pausa o sniffer
q: fecha o programa
s: habilita e desabilita o ordenação

Exemplos de utilização:

- Sniffando todas as conexões TCP vindas da interface eth0

# tcptrack -i eth0


- Sniffar conexões vindas do eth0 com destino a 10.45.165.2

# tcptrack -i eth0 src or dst 10.45.165.2

- Sniffar todas conexões com destino a 22 porta padrão OpenSSH

# tcptrack -i eth0 port 22

É isso ai está ai nossa dica para quem precisa monitar conexões TCP até…

Encriptando com algoritmos Blowfish e MD5 através da web.

Neste site abaixo você poderá encontrar ferramentas para encriptar frases através dos algoritmos Blowfish e MD5SUM:

http://webnet77.com/cgi-bin/helpers/blowfish.pl 

Regras de Iptables para bloque ataques Brutal Force no OpenSSH

iptables -A INPUT -p tcp –syn –dport 22 -m recent –name sshattack –set

iptables -A INPUT -p tcp –dport 22 –syn -m recent –name sshattack
–rcheck –seconds 60 –hitcount 3 -j LOG –log-prefix ‘SSH REJECT: ‘

iptables -A INPUT -p tcp –dport 22 –syn -m recent –name sshattack
–rcheck –seconds 60 –hitcount 3 -j REJECT –reject-with tcp-reset

iptables -A FORWARD -p tcp –syn –dport 22 -m recent –name sshattack
–set

iptables -A FORWARD -p tcp –dport 22 –syn -m recent –name sshattack
–rcheck –seconds 60 –hitcount 3 -j LOG –log-prefix ‘SSH REJECT: ‘

iptables -A FORWARD -p tcp –dport 22 –syn -m recent –name sshattack
–rcheck –seconds 60 –hitcount 3 -j REJECT –reject-with tcp-reset

Whois pela Web

Nestes site voc? poder? usar t?cnicas de Whois on-line:

http://www.networksolutions.com
http://arin.net
http://c64.org~nr/xwhois

Introdu??o ao Nessus

Artigo retirado do Dicas-L da Unicamp:

Colabora??o: Alexandre Takahashi

O Nessus ? uma excelente ferramenta designada para testar e descobrir falhas
de seguran?a (portas, vulnerabilidades, exploits) de uma ou mais m?quinas.

Estas falhas ou problemas podem ser descobertos por um grupo hacker, um ?nico
hacker, uma empresa de seguran?a ou pelo pr?prio fabricante, podendo ser de
maneira acidental ou proposital, O Nessus ajuda a identificar e resolver estes
problemas antes que algu?m tire vantagem destes com prop?sitos maliciosos.

O Nessus ? distribu?do sob os termos da Licen?a P?blica Geral GNU, o suporte
t?cnico pago para o Nessus pode ser visto no site
http://www.tenablesecurity.com.

Uma das principais caracter?sticas do Nessus ? a sua tecnologia
cliente-servidor, onde os servidores podem ser alocados em pontos estrat?gicos
da rede, permitindo testes de v?rios pontos diferentes. Um cliente central ou
m?ltiplos clientes podem controlar todos os servidores. A parte servidor do

Nessus est? dispon?vel para a maioria das plataformas *nix (atualmente existe
uma vers?o comercial do Nessus chamada NeWT para Windows, podendo ser avaliada
por 7 dias sem custo) rodando tamb?m no MAC OS X e IBM/AIX, por?m a instala??o
no Linux se mostra mais simples, essas caracter?sticas fornecem uma grande
flexibilidade para o analista que realizar? os testes. A parte cliente esta
avali?vel para Windows e Linux. A parte Servidor executa os testes enquanto a
parte cliente permite a configura??o e emiss?o de relat?rios.

Este pequeno tutorial ? baseado no artigo INTRODUCTION TO NESSUS escrito por
Harry Anderson em tr?s partes

- http://www.securityfocus.com/infocus/1741 - parte 1
- http://www.securityfocus.com/infocus/1753 - parte 2
- http://www.securityfocus.com/infocus/1759 - parte 3

Obtendo o Nessus
================

O Nessus pode ser obtido no formato rpm, mas recomenda-se baixar os fontes e
compil?-los, para obter os fontes ou execut?veis, acesse http://www.nessus.org
e baixe os seguintes arquivos:

1. nessus-libraries-1.x.x.tar.gz;
2. nessus-core-1.x.x.tar.gz;
3. libnasl-1.x.x.tar.gz;
4. nessus-plugins-1.x.x.tar.gz;

Instalando o Nessus
===================

A instala??o do Nessus ? simples. Primeiro ? necess?rio ter algum S.O *nix.
Segundo, a instala??o de alguns programas de terceiros ? recomendada: NMAP um
dos mais conhecidos port scanners do mercado, Hydra software para teste de
senhas fracas, Nikto para verifica??o de cgi/.script. Estes s?o os melhores
softwares em suas respectivas categorias e s?o uma boa op??o para incrementar
as funcionalidades do Nessus. Quando instalados no PATH antes do Nessus, ser?o
automaticamente adicionados as funcionalidades deste.

Descompacte os arquivos utilizando o comando

tar xvzf < >

Dentro de cada diret?rio que for criado, execute os seguintes comandos na
ordem das pastas acima:

./configure
./make
./makeinstall

Obs.: ? fortemente recomendado o uso de ./configure enable-cipher ao
configurar o nessus-libraries, para ativar o layer de criptografia.

Outro m?todo para instalar o Nessus ? utilizando a instala??o autom?tica
atrav?s do Lynx (Web Browser em texto, incluso na maioria das distribui??es

Linux) a sintaxe para isto ?:

lynx -source http://install.nessus.org | sh

Este comando instala a parte Server na maioria das plataformas (*nix) sem
necessidade de outros passos. Recomendamos ,por?m , que a instala??o seja
feita atrav?s do download dos fontes e compila??o dos mesmos.

Configura??o
============

Ap?s a instala??o do servidor, deve-se seguir alguns passos:

Adicionar um novo usu?rio:

nessus-adduser

O modo de autentica??o pode variar ,sendo que a autentica??o de senha
encriptada ? o mais recomendado, o pr?ximo passo ? informar regras para este
usu?rio (Ex.: um usu?rio pode ser restrito a fazer scan somente de endere?os
IP s espec?ficos).

Criar um certificado
====================

Um certificado ? requerido para encriptar o tr?fego entre o cliente e o
servidor.

nessus-mkcert.

Plug-ins
========

Os plug-ins do Nessus s?o escritos usualmente em NASL (Nessus Attack Scripting
Language), linguagem nativa do nessus, designada especificamente para testes
de vulnerabilidade. Cada plug-in ? espec?fico para uma determinada
vulnerabilidade conhecida e/ou para testar as melhores pr?ticas do mercado. Os
plug-ins NASL efetuam o teste atrav?s do envio de um c?digo espec?fico para o
alvo, comparando os resultados com as vulnerabilidades armazenadas e
conhecidas por este plug-in. Al?m do NASL existem scripts em C e Perl com
finalidades espec?ficas que n?o podem ser feitas facilmente utilizando o NASL.

Isto n?o quer dizer que voc? est? limitado a lista de plug-ins existentes,
podendo escrever um plug-in espec?fico para sua empresa utilizando o NASL.

Antes de iniciar um scan os plug-ins devem ser atualizados. Isto pode ser
feito atrav?s do comando nessus-update-plugins. Os plug-ins do Nessus s?o
semelhantes ?s defini??es da maioria dos antiv?rus e o update deve ser feito
com freq??ncia, visto que novas vulnerabilidades s?o descobertas todos os
dias.

Executando
==========

O Nessus est? agora instalado e atualizado.

A maneira mais simples e r?pida para iniciar o servidor ? digitar
nessusd D (Ir? rodar como daemon, acrescentando & ao final, executar? em
Background).

Pode-se ainda iniciar o servidor de maneira que somente determinada
esta??o consiga conectar-se, para tanto utilize

nessusd -listen 192.168.0.100

ou

nessusd -a 192.168.0.100.

Conectando ao Nessus
====================

Para utilizar o Nessus ? necess?rio se conectar ao servidor com o cliente. H?
,basicamente, tr?s clientes. A GUI para *nix ? instalada juntamente com o
servidor, pode-se tamb?m utilizar o nessus atrav?s de linha de comando (sendo
poss?vel passar par?metros) e h? tamb?m o cliente para Windows (NessusWX).

A conex?o ao servidor ? feita fornecendo o endere?o IP do servidor, um usu?rio
e senha e clicando no bot?o login. Abaixo as telas de conex?o da GUI para *nix
e do NessusWX.

A conex?o utilizando o NessusWX ? similar, por?m utiliza os menus
Communications | Conect (F4).

O cliente se conecta atrav?s de uma conex?o SSL e efetua o download dos
plug-ins instalados no servidor.

Na primeira conex?o, o certificado SSL ? baixado e uma verifica??o deste ?
requerida. Esta verifica??o assegura que no futuro a conex?o seja feita com o
servidor pretendido.

Utilizando o Nessus
====================

Plug-ins
========

Um dos aspectos mais ?bvios e importantes do Nessus s?o os plug-ins. A escolha
destes ? crucial para um scan bem sucedido. A maioria dos plug-ins s?o muito
bem escritos e raramente apontam um falso positivo ou falso negativo, contudo
alguns poucos n?o seguem esta linha. Um exemplo ? o plug-in que testa a
vulnerabilidade Windows IIS RFP s MSDAC /RDS (esta vulnerabilidade utiliza o
arquivo %system%/msadc/msadcs.dll e compromete todo o sistema nos servidores

IIS 4.0 sem o patch de corre??o), verifica somente a exist?ncia do arquivo,
n?o verificando a vers?o do Windows, nem a aplica??o do patch para esta
vulnerabilidade. Habilitando este plug-in, haver? muitos falso positivo na
maioria dos servidores rodando IIS.

Isto ocorre tamb?m em ferramentas comerciais, sendo que a diferen?a entre elas
? que nas ferramentas comerciais, n?o ? poss?vel examinar os m?todos
utilizados para scan, dificultando identificar um falso positivo.

Escolha dos Plug-ins
====================

Os plug-ins podem ser agrupados de diversas maneiras. Uma delas ? agrupar por
categoria. O mais importante ? que alguns desses plug-ins s?o classificados
como perigosos/nega??o de servi?o (DoS). Estes plug-ins executam um ataque DoS
e afetam os sistemas que possuem esta vulnerabilidade, n?o h? grandes danos ao
sistema afetado, mas por se tratar de um DoS, a reinicializa??o do alvo ser?
necess?ria. Fica, portanto, desnecess?rio dizer que executar o scan com estes
plug-ins habilitados deve ser feito com extrema cautela, principalmente em
ambientes de produ??o.

Note que o autor do plug-in decide se este ? perigoso ou n?o, como antes, a
maioria destes ? muito bem classificada e alguns poucos n?o o s?o. (um exemplo
? o rpc_endpoint mapper plug-in) que faz um ataque DoS mas n?o est? listado
como perigoso.

Outra maneira de se agrupar os plug-ins ? por fam?lia (Windows, FTP, SNMP,
etc) por?m como determinar se a vulnerabilidade atinge apenas o Windows ou
apenas o ftp? Isto pode causar falsos positivos ou falsos negativos, mas
tamb?m possui suas vantagens, como isolar certas vulnerabilidades.

Outro ponto importante a se observar ? que mesmo um plug-in n?o perigoso
pode derrubar a m?quina alvo, visto que ele envia dados fora do padr?o
esperado, ou seja, sempre haver? o risco, embora raro, de se descobrir um novo
DoS n?o documentado.

Os plug-ins perigosos s?o identificados com um triangulo ao lado da caixa de
sele??o.

No NessusWX n?o h? nenhuma marca??o especial para os plug-ins perigosos, sendo
o bot?o Enable Non-DoS ? a ?nica op??o para n?o habilitar esses plug-ins.

Safe-check
==========

A op??o safe-chek desabilita a parte perigosa dos plug-ins que possuem esta
compatibilidade, fazendo com que o m?todo de ataque seja passivo (apenas
identificando a banner com a vers?o do software por exemplo). Por?m, como
efetua um teste passivo, pode causar falsos positivo ou negativo, em
contrapartida, habilitar esta op??o n?o ir? derrubar a m?quina alvo se esta
estiver vulner?vel.

Port Scanning
=============

O port scanning ? o processo pelo qual portas ativas para um endere?o IP s?o
identificadas. Cada porta ? designada para uma aplica??o espec?fica (SMTP 25,
SSH 22, etc).

O Nessus ? um scanner simples, e somente executa o teste se o programa
espec?fico para este testes for encontrado, por exemplo, se em uma maquina X
for encontrado somente um servidor Web executando (porta 80), ent?o somente os
testes para servidores Web ser?o executados. O Nessus possui ainda um plug-in
chamado services, que identifica os servi?os executados na m?quina, portanto,
mudar a porta do servi?o n?o impedir? que o Nessus o identifique e execute
somente os plug-ins selecionados pelo usu?rio e que s?o pertinentes a este
servi?o.

H? muitas op??es no Nessus referente a port scan. O Nessus pode trabalhar
interativamente com o NMAP (bastando que este seja instalado antes do Nessus),
possui um scanner interno e um ping scan customiz?vel. A escolha do tipo de
scan e dos plug-ins que ser?o utilizados dependem da situa??o e do ambiente,
bem como do que se quer testar.

Layer 7 - path para o Netfilter Iptables

Layer 7 ? um update para o NetFilter Iptables que classifica pacotes na 7 camada do modelo OSI 7, HTTP,FTP, P2P entre outros, para saber mais sobre este path verifique o link abaixo:

http://l7-filter.sourceforge.net/

Exemplo de script de firewall para Netfilter Iptables

SCRIPT DE FIREWALL
=============

# !/bin/bash
# Script do Firewall / Gateway de Internet
# Utilizando iptables e squid

# Script iniciada automaticamente atraves do link simbolico em:
# /etc/rc.d/init.d/firewall -> chamado atraves do servico IPTABLES

# Fazendo Flush
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X

# Carregando os Modulos do Kernel
#modprobe ip_tables
#modprobe ipt_LOG

# Variaveis do firewall
CONFIAVEL1=192.168.0.30
CONFIAVEL2=192.168.0.50
REDEMASQ=192.168.0.0/24

# Pol?ica Padr? de Acesso
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -s $REDEMASQ -p tcp –dport 3128 -j ACCEPT
#iptables -A INPUT -s $REDEMASQ -p tcp –dport 8080 -j ACCEPT
iptables -A INPUT -s $REDEMASQ -p tcp –dport 53 -j ACCEPT
iptables -A INPUT -s $REDEMASQ -p udp –dport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp –dport 111 -j DROP
iptables -A INPUT -i eth0 -p tcp –dport 3128 -j DROP
# Habilitando a prote?o contra “TCP SYN COOKIES”
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Ocultando a rota de origem dos pacotes (evita spoof)
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done

# Evita atques de spoof (na rede interna)
# Em alguns casos de roteamento esta linha dever?ser desativada

for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done

# Permisses de acesso ao firewall
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
# Permite acesso de SSH via Internet
iptables -A INPUT -i eth0 -p tcp –dport 2222 -j ACCEPT

# Trocando o intervalo de portas locais
PORT_INI=61000
PORT_FIM=65095
echo $PORT_INI $PORT_FIM > /proc/sys/net/ipv4/ip_local_port_range

# Criando perfil de acesso administrativo (apenas por SSH)
iptables -N ADMIN
iptables -A ADMIN -i eth1 -p tcp –dport 2222 –syn -j LOG –log-level info
–log-prefix “[Acesso Admin]: “
iptables -A ADMIN -i eth1 -p tcp –dport 2222 –syn -j ACCEPT

iptables -A ADMIN -i eth0 -p tcp –dport 2222 –syn -j LOG –log-level info
–log-prefix “[Acesso Admin EXTERNO]: “
iptables -A ADMIN -i eth0 -p tcp –dport 2222 –syn -j ACCEPT

# Aplicando a permiss? de acesso ssh a CONFIAVEL 1 e 2
iptables -A INPUT -i eth1 -s $CONFIAVEL1 -j ADMIN
iptables -A INPUT -i eth1 -s $CONFIAVEL2 -j ADMIN

# Para tratar as quedas dos roteadores ADSL
GW=`route | grep default | awk ‘{print $2}’`
iptables -A INPUT -i eth0 -s 200.204.179.228 -p tcp ! –syn -j ACCEPT

# Compartilhando o acesso ?Internet
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $REDEMASQ -o eth0 -j MASQUERADE
#PROXY TRANSPARENTE
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT
–to-port 3128

# Permitindo requisi?es de DNS
iptables -A FORWARD -o eth0 -s $REDEMASQ -p tcp –dport 53 -j ACCEPT
iptables -A FORWARD -o eth0 -s $REDEMASQ -p udp –dport 53 -j ACCEPT

# Bloaquear pacotes com estado “novo/inv?ido” que saiam pela eth1
# Permitir pacotes com estado “estabelecido/reinicidente”
iptables -A FORWARD -o eth1 -m state –state NEW,INVALID -j DROP
iptables -A FORWARD -o eth1 -m state –state ESTABLISHED,RELATED -j ACCEPT

# Permitindo qualquer solicita?o de Internet que parta da rede
192.168.0.0/24
iptables -A FORWARD -i eth1 -s $REDEMASQ -j ACCEPT

# Bloqueia qualquer pacote (forward) que n? liberado por regras anteriores
iptables -A FORWARD -j DROP

# Bloqueando o logando sinais de ping ao firewall
iptables -N LPI
iptables -A LPI -m limit –limit 5/hour –limit-burst 3 -p icmp –icmp-type
echo-request -j LOG –log-level info –log-prefix “Log ping: “
iptables -A LPI -j REJECT –reject-with icmp-port-unreachable
iptables -A INPUT -p icmp –icmp-type echo-request -j LPI

# Bloqueia qualquer pacote (input) que n? liberado por regras anteriores
iptables -A INPUT -j DROP

Erro de login “System Boot in progress - please wait “

Caso voc? um dia tenha este problema voc? entra com a senha do usu?rio comun e o sistema pede para aguardar alguns minutos e depois diz que o tempo para login este esgotado, verifique se exite um arquivo chamado

/etc/nologin e /etc/nologin.boot, caso tenha remova os dois arquivos.

Desta forma voc? poder? logar normalmente.

Flag Ntop

Nesta dica estarei mostrando como gerenciar uma rede atrav?s do Ntop explicando algumas de suas Flags

#ntop -i eth0 -u ntop - w 3000 -N -e -a /var/log/ntop-acess-http.log -t 0 -l -d

Vamos as explica??es:

-i = Interface de Rede no qual o Ntop ir? monitorar

-u = Usu?rio no qual o Ntop ir? usar para iniciar os logs

-w = Porta no qual o Ntop ir? usar para acessar seus logs

-N = Caso o Nmap esteja instalado na m?quina ele ser? usado pelo Ntop.

-e = Habilita o n?mero m?ximo de tabelas quando visualizado em modo Browser.

-a = muda o diret?rio no qual o Ntop ir? logar os acessos via navegador ao mesmo.

-t 0 = Muda o niv?l de estrat?gia de logs no Ntop.

-l = Iniciar mod de debug

-d = Inicia o Ntop em modo background