UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO ROTEIRO PARA REALIZAÇÃO DE TESTES DE PENETRAÇÃO EM CENÁRIOS TURN-KEYS Área de Segurança de Informações por Odilo Schwade Junior Fabrício Bortoluzzi, M. Sc. Orientador Itajaí (SC), novembro de 2010

2 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO ROTEIRO PARA REALIZAÇÃO DE TESTES DE PENETRAÇÃO EM CENÁRIOS TURN-KEYS Área de Segurança de Informações por Odilo Schwade Junior Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Fabrício Bortoluzzi, M. Sc. Itajaí (SC), novembro de 2010

3 AGRADECIMENTOS A entrega deste projeto finaliza o percurso de um caminho que vem sido percorrido durante cinco anos. Os meses de estudo, sem as pessoas aqui mencionadas, não seriam passados com tanta alegria e ensinamentos como foram. Minha mãe, em especial, foi a pessoa que esteve sempre ao meu lado. Agüentando as crises de mal humor, as noites sem dormir, entre outros inconvenientes que vieram durante este caminho. Sempre nos ajudamos em todos os momentos que passamos e sempre serei eternamente grato por todos seus ensinamentos que moldaram a pessoa que sou hoje. Obrigado, te amo mãe. Agradeço com muito carinho, Tio Juca e Tia Adri que me passaram muitos ensinamentos e sempre colaboraram para que eu chegasse a este momento. A minha prima-irmã e melhor amiga Julia que me aturou varias vezes, na maioria delas reclamando, mas sempre esteve comigo demonstrando seu apoio e me alegrando nos momentos difíceis. Ao Tio André que me aconselhou corretamente em diversas situações, que com certeza nunca esquecerei. Obrigado Tio Sandro, que sempre me ajudou estando por perto nos momentos em que precisei. Agradeço meus avós maternos Vô Antonio e Vó Ana, Tia Ana Paula, Tio Lucas e Tia Mariana. Agradeço, Pai e Scheila, pelo esforço e apoio que me deram durante todos esses anos, mesmo estando a mais de mil quilômetros de distancia. Meu mano, Fê que sempre se interessou pelo meu caminho na faculdade, sempre pedindo como andava meu TCC. A meus avós paternos, Vô Ivo e Vó Laura e a todos meus tios e primos. Um agradecimento muito especial a Ana Cláudia Minela, élêéfe, minha melhor amiga que sempre esteve comigo, que conversou durante as madrugadas de estudo, aconselhou, cobrou, comemorou e me deu forças para continuar e cumprir este objetivo. Com certeza sem ela, muitas coisas teriam ficado para trás. Agradeço a meu amigo, mestre, professor e orientador Fabrício, que colaborou muito durante a faculdade, proporcionando oportunidades, conselhos e a visão da área que me interessou profissionalmente. Obrigado ao Prof. Luca, Marlei e demais colaboradores da UNIVALI. Um obrigado aos colegas Felipe, Fernando, Lennon, Alexandre, Antonio e Romulo pela suas participações e amizades durante a maioria do tempo que passamos na academia. Agradeço a Deus, pela oportunidade que me proporcionou. Esta etapa está sendo finalizada, porém é apenas uma porta que se abre para novos desafios. Muito obrigado. All you need is love.. (The Beatles 1967). ii

4 You may say, I'm a dreamer But I'm not the only one I hope some day You'll join us And the world will be as one! (John Lennon, 1971) iii

5 SUMÁRIO LISTA DE ABREVIATURAS... vi LISTA DE FIGURAS... vii LISTA DE TABELAS... ix RESUMO... x ABSTRACT... xi 1 INTRODUÇÃO PROBLEMATIZAÇÃO Formulação do Problema Solução Proposta OBJETIVOS Objetivo Geral Objetivos Específicos METODOLOGIA ESTRUTURA DO TRABALHO FUNDAMENTAÇÃO TEÓRICA SEGURANÇA DE INFORMAÇÕES Confidencialidade Integridade Disponibilidade Alvos de proteção Ameaças Tipos de atacantes Tipos de ataques Formas de prevenção de ataques ESTATÍSTICAS TESTE DE PENETRAÇÃO Levantamento de Informações ou Reconhecimento Identificação de vulnerabilidades Verificação de vulnerabilidades Obter acesso privilegiado Manter acesso Limpar as evidências PROJETO CENÁRIOS TURN-KEYS AMBIENTE DE EXECUÇÃO ROTEIRO DE PENTESTING iv

6 4 DESENVOLVIMENTO DO ROTEIRO DE TESTES DE PENETRAÇÃO FLUXOGRAMA DO ROTEIRO PROPOSTO ROTEIRO DE TESTE DE PENETRAÇÃO Identificação de vulnerabilidades Verificação e exploração das vulnerabilidades Obter acesso privilegiado CONCLUSÕES REFERÊNCIAS BIBLIOGRÁFICAS GLOSSÁRIO A ROTEIRO DE TESTE DE PENETRAÇÃO CENÁRIO PWNOS. 75 A.1 IDENTIFICAÇÃO DE VULNERABILIDADES A.1.1 Varredura com NMap A.1.2 Varredura com Nessus A.1.3 Análise do serviço Webmin A.2 VERIFICAÇÃO E EXPLORAÇÃO DAS VULNERABILIDADES A.2.1 Vulnerabilidade OpenSSH/OpenSSL A.2.2 Vulnerabilidade Webmin A.2.3 Explorando as vulnerabilidades encontradas para obter acesso ao sistema 84 A.3 OBTENDO ACESSO PRIVILEGIADO AO SISTEMA B ROTEIRO DE TESTE DE PENETRAÇÃO CENÁRIO DE-ICE NIVEL B.1 IDENTIFICAÇÃO DE VULNERABILIDADES B.1.1 Varredura com NMap B.2 VERIFICAÇÃO E EXPLORAÇÃO DAS VULNERABILIDADES B.3 OBTENDO ACESSO PRIVILEGIADO AO SISTEMA C ROTEIRO DE TESTE DE PENETRAÇÃO CENÁRIO DE-ICE NIVEL C.1 IDENTIFICAÇÃO DE VULNERABILIDADES C.1.1 Varredura com NMap C.1.2 Varredura com Nessus C.1.3 Analisando as informações das páginas do servidor Apache C.2 VERIFICAÇÃO E EXPLORAÇÃO DAS VULNERABILIDADES C.2.1 Utilizando a técnica Fuzz testing C.3 OBTENDO ACESSO PRIVILEGIADO AO SISTEMA D FLUXOGRAMA DE ROTEIRO DE TESTE DE PENETRAÇÃO 118 v

7 LISTA DE ABREVIATURAS CIDR CGI DHCP DLL DNS FTP HTTP ICMP IDS IMAP IP IPS J2EE LAN MAC PDF POP3 SMTP SNMP SO SQL SSH TCC TCP TI UDP UNIVALI VNC Classless Inter-Domain Routing Common Gateway Interface Dynamic Host Configuration Protocol Dynamic-link library Domain Name System File Transfer Protocol Hypertext Transfer Protocol Internet Control Message Protocol Intrusion Detection System Internet Message Access Protocol Internet Protocol Intrusion Prevention System Java 2 Enterprise Edition Local Area Network Media Access Control Portable Document Format Post Office Protocol Simple Mail Transfer Protocol Simple Network Management Protocol Sistema Operacional Structed Query Language Secure Shell Trabalho de Conclusão de Curso Transmission Control Protocol Tecnologia de Informação User Datagram Protocol Universidade do Vale do Itajaí Virtual Network Computing vi

8 LISTA DE FIGURAS Figura 1. Total de incidentes reportados ao CERT.br por ano Figura 2. Tentativa de Phishing tentando passar-se pelo Banco Bradesco Figura 3. Vulnerabilidades em extensões para navegadores web Figura 4. Índice de incidentes reportados ao CSI Figura 5. Comando whois no endereço 38 Figura 6. Opções do Nmap para passar através de Firewall e IDS, entre outros Figura 7. NMap identificando serviços Figura 8. Tunel SSH sem detecção de mecanismos de defesa Figura 9. Damn Vulnerable Linux Figura 10. WebGoat vulnerabilidades web Figura 11. PnwOS iniciado Figura 12. Projeto Hackerdemia Figura 13. Laboratório de Testes Figura 14. Backtrack Linux com a ferramenta Metasploit Figura 15. Fluxograma do roteiro Figura 16. Varredura em faixa de IPs Figura 17. Exemplo varredura com CIDR Figura 18. Varredura específica em IP Figura 19. Configuração plugins Nessus Figura 20. Relatório de varredura do Nessus Figura 21. Módulo de busca do Exploit-DB (2010) Figura 22. Módulo de busca do Inj3ct0r (2010) Figura 23. Busca de exploit no Metasploit Figura 24. Exploit-DB (2010) busca por exploits para escalonamento de privilégios Figura 25. Inj3ct0r (2010) busca por "Local Root Exploit" Figura 26. Varredura em rede com NMap Figura 27. NMap encontra maquina ativa Figura 28. NMap com alguns parâmetros opcionais Figura 29. Retorno da varredura do NMap mostrando serviços e versões Figura 30. Página inicial disponibilizada na máquina alvo Figura 31. Formulário mostrado na iteração com o site hospedado na máquina alvo Figura 32. Erro de função include() do PHP Figura 33. Arquivo /etc/passwd incluído na página Figura 34. Relatório do Nessus indicando vulnerabilidade de alto risco no serviço SSH Figura 35. Detalhes da vulnerabilidade no OpenSSH/OpenSSL gerada pelo Nessus Figura 36. Interface de autenticação do serviço Webmin Figura 37. Modulo Webmin/file_disclosure do Metasploit Figura 38. Retorno do conteúdo do arquivo /etc/shadow pelo exploit do Webmin Figura 39. Arquivo configuração OpenSSH Figura 40. Retorno do conteúdo da chave pública do usuário "obama" através do Metasploit Figura 41. Encontrado chave publica do usuário obama Figura 42. Acesso remoto do usuário obama ao sistema Figura 43. Obtido acesso privilegiado ao sistema Figura 44. Varredura de rede com o NMap Figura 45. Resultado da varredura a uma faixa de IPs Figura 46. Varredura especifica a maquina alvo vii

9 Figura 47. Pagina inicial da maquina Figura 48. Lista de s Figura 49. Lista de s e possíveis usuários de sistema para cada colaborador Figura 50. Falha ao conectar ao serviço FTP Figura 51. Usuário "bbanter" possui senha igual ao login Figura 52. Acesso remoto obtido com o usuário "bbanter" Figura 53. Conteúdo do arquivo /etc/passwd Figura 54. Conteúdo do arquivo /etc/group Figura 55. Senha do usuário "aadams" é encontrada Figura 56. Acesso remoto com o usuário "aadams" Figura 57. Conteúdo do arquivo /etc/shadow Figura 58. John The Ripper quebra a senha do usuário root Figura 59. Acesso do usuário root Figura 60. NMap varrendo a rede Figura 61. Máquinas ativas reconhecidas pela varredura do NMap Figura 62. Varredura especifica nos IPs finais 100 e Figura 63. Resultado da análise do Nessus Figura 64. Vulnerabilidades de alto risco encontradas pelo Nessus Figura 65. Lista de s da empresa fictícia Figura 66. Página com documentos internos Figura 67. JBroFuzz testando diretórios web pessoais Figura 68. Diretórios encontrados pelo JBroFuzz Figura 69. Nikto encontra diretório oculto.ssh Figura 70. Diretório.ssh do usuário contendo chaves públicas Figura 71. Configurações de chaves públicas e acesso remoto ao sistema Figura 72. Conteúdo do arquivo /etc/passwd Figura 73. Conteúdo do arquivo /etc/group Figura 74. enviado com senha em texto plano Figura 75. Mensagem de automática de lembrete de senha do usuário "pirrip" Figura 76. Arquivo /etc/shadow alterado Figura 77. Acesso com usuário root obtido Figura 78 Fluxograma: Identificação de Vulnerabilidades Figura 79 - Fluxograma: Verificação e exploração de Vulnerabilidades Figura 80 - Fluxograma: Obter acesso privilegiado ao sistema viii

10 LISTA DE TABELAS Tabela 1. Atividade maliciosa por país ix

11 RESUMO SCHWADE JUNIOR, Odilo. Roteiro para realização de testes de penetração em cenários turnkeys. Itajaí, f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, Itajaí, O crescente aumento em incidentes reportados do mundo digital é considerado significativo com a dependência que o uso de tecnologias traz a todos seus usuários. As atividades rotineiras são cada vez mais realizadas com o uso de sistemas e da Internet. Os hackers utilizam o avanço das tecnologias e da sua dependência para sofisticar seus métodos para acesso não autorizado a informações. Estratégias de negócio estão em jogo, à confiança de um usuário ou de um cliente. Diferentes tipos de ataques continuam a surgir e seus métodos de execução se tornam mais aprimorados. Os profissionais que pretendem manter as premissas da segurança de informações utilizam técnicas para tentar sustentar seus ambientes tecnológicos livres de ameaças, porem sempre convivemos com o risco de comprometimento pelo ataque de um hacker. Este trabalho é demonstra as etapas de execução de um teste que pode analisar as vulnerabilidades e ameaças que um ambiente pode conter. Através do teste de penetração, um administrador de sistemas consegue buscar por falhas em sua rede de computadores ou sistema computacional e propor uma solução para que não seja vitima de um ataque e prejudique as informações armazenadas e transmitidas. Palavras-chave: Teste de penetração. Segurança de informações. Hacker ético. x

12 ABSTRACT The numbers of reported incidents on the cyber-world have been increased considering the dependency of the use of technology by all the users. The daily activities are more often realized using systems and the internet. Hackers use the evolution of technology and it dependency to sophisticate the methods to gain unauthorized access to information. Business strategies and costumer trust are compromised. Different kinds of attacks have been shown and the implementation method becomes more refined. Professionals who try to keep the information security using techniques to keep his technological environment free from threats, but there will be always risks posed by hackers. This project demonstrate the phases to running a test that can analyze the vulnerabilities and threats that an environment can contain. With the penetration testing a System Administrator can look deeper for flaws in his network or information system and find a solution to not become the next victim of an attacker that can compromise the information stored and transmitted on his infrastructure.. Keywords: Penetration Testing. Information Security. Ethical Hacker. xi

13 1 INTRODUÇÃO A necessidade por segurança de informações é almejada em todos os sistemas computacionais. A tendência de interconexão entre sistemas e a dependência do uso da Internet como meio de transporte acabam por expor as informações a inúmeras ameaças, como o roubo, invasão e a danificação dos dados. Quanto mais valiosa é uma informação, mais atraente ela passa a ser para o hacker mal intencionado. Segundo estatísticas os incidentes de varredura de portas, recusa de serviços, invasão por worms e por ataques automatizados praticamente dobram a cada ano desde No ano passado, mais de 358 mil tentativas de ataques foram registradas (CERT.br, 2010) Incidentes Figura 1. Total de incidentes reportados ao CERT.br por ano Fonte: Adaptado de CERT.br (2010) Este cenário deixa evidente a necessidade de se empregar práticas para evitar que eventuais falhas nos componentes de redes, sistemas e comportamento pessoal comprometam a inteireza das informações hospedadas nas infra-estruturas de computação. Foram definidas cinco propriedades que devem ser observadas no trato de informações (LANDWEHR, 2001): Confidencialidade: garantir que a informação digital está protegida e não pode ser acessada sem autenticação adequada;

14 Integridade: garantir que a informação digital não pode ser modificada sem autenticação adequada; Disponibilidade: garantir que a informação digital está disponível e acessível aos usuários legítimos sempre que necessário; Autenticação: garantir que o indivíduo é quem ele afirma ser; e Não repúdio: garantir que um terceiro independente registrou a ocorrência de uma transação ou evento. Existem diversas formas de colocar a segurança de informações em prática. A montagem de firewalls é interessante no bloqueio das conexões indesejadas entre uma rede de computadores e o enlace de acesso à Internet. Os antivírus objetivam evitar danos aos sistemas operacionais e documentos de trabalho dos computadores. Os sistemas de detecção de intrusões alertam quando uma atividade suspeita é detectada. Os potes de mel (do inglês: honeypots) oferecem sistemas simulados, propositalmente inseguros, para que seja possível observar o comportamento de um atacante frente ao sucesso de uma invasão. Por fim, a política de segurança é o instrumento gerencial que formaliza como deve ser o comportamento humano dos colaboradores de uma organização quando manipulam informações em sua rotina de trabalho. Cada uma destas ferramentas de segurança cumpre com uma ou mais propriedades da segurança de informações. Por exemplo, o detector de intrusões tenta evitar violações da premissa de disponibilidade quando alerta o administrador de que uma tentativa de ataque de recusa de serviços está iniciando, ou ainda, o antivírus impede violação da premissa de integridade quando detecta a atividade de um vírus de macro em um documento do editor de textos. Uma prática mais recente que vem se tornando comum para os administradores de rede é o teste de penetração (do inglês: penetration test, ou abreviadamente pentest, pentesting). O pentest consiste em uma série de testes realizados pelo administrador de redes com o objetivo de tentar invadir seus próprios sistemas em busca das mesmas falhas que um intruso exploraria. Um teste de penetração pode ser considerado bom se ele consegue desvendar falhas em um sistema antes que um intruso realmente mal intencionado obtenha sucesso. O roteiro de pentesting pretende guiar a execução de um teste de penetração em cenários pré-programados, conhecidos por turn-keys. A técnica de pentest alinhada com a infra-estrutura de uma organização pode contribuir indiretamente para a preservação de todas as cinco premissas de segurança de informações. 13

15 1.1 PROBLEMATIZAÇÃO A demonstração do cenário atual do uso de tecnologias faz com que os usuários dependentes motivem-se a preocupar-se com a segurança das informações transmitidas nas redes e sistemas de computadores. Com opção de testes de penetração em sistemas, o administrador de redes é capaz de utilizar técnicas para encontrar um foco de ameaça antes que um intruso mal intencionado seja capaz de realizar um ataque. Este projeto propõe um roteiro para realização de testes de penetração para compreender o funcionamento da técnica em ambientes vulneráveis. O pentesting alinhado com as praticas de segurança de infra-estrutura tornam os ambientes tecnológicos capazes de suportar incidentes causados por um atacante Formulação do Problema Os sistemas e redes computacionais são cada vez mais importantes para o armazenamento, processamento e transmissão das informações. A maioria das atividades profissionais é realizada através do trabalho em documentos contendo estratégias ou informações de clientes, por exemplo. Extratos bancários são visualizados em computadores pessoais conectados a internet. A dependência ilustrada nestes eventos requer cuidados com as informações, afinal não é desejado que um intruso, sem autorização, visualize movimentações financeiras ou estratégias de um negócio. Para verificar falhas, há a estratégia de se testar a infra-estrutura em busca de vulnerabilidades que possam ser utilizadas para realização dos ataques e reconhecer se ela é capaz de servir de meio para uma invasão. A técnica chamada de pentesting é conhecida por conseguir demonstrar aonde uma vulnerabilidade pode se tornar uma ameaça. Para obter sucesso, o administrador de redes precisa conhecer os diferentes métodos para se executar um pentest e como ele se comporta nos ambientes de TI. Cada infra-estrutura e sistema computacional têm suas particularidades, assim é necessário compreender as técnicas que são utilizadas para poder prever as maneiras que um atacante poderia explorar uma falha e adequá-las a cada ambiente. 14

16 1.1.2 Solução Proposta A proposta deste projeto é estudar as etapas para execução de um teste de penetração e como estes se comportam nos ambientes tecnológicos. A definição do roteiro terá base nas principais ameaças e vulnerabilidades encontradas em sistemas computacionais simulados por cenários turnkeys. Este projeto também pretende ter fins didáticos para administradores de redes e pesquisadores da área de segurança de informação. 1.2 OBJETIVOS Os objetivos deste trabalho serão atingidos através do cumprimento de um objetivo geral e cinco objetivos específicos Objetivo Geral O objetivo geral deste trabalho é elaborar um roteiro para a realização de testes de penetração em redes de computadores e sistemas computacionais baseado em cenários turn-keys Objetivos Específicos Os objetivos específicos deste trabalho são: 1. Pesquisar e realizar uma revisão bibliográfica sobre a área de segurança de informações em geral e a de testes de penetração em específico. 2. Identificar as vulnerabilidades que ameaçam as redes de computadores e sistemas computacionais. 3. Elaborar um roteiro dos testes de penetração. 4. Testar a aderência do roteiro de testes em cenários turn-keys. 5. Documentar o trabalho de conclusão de curso e divulgar os resultados obtidos através de um artigo científico. O cumprimento dos objetivos específicos propostos deve permitir que o objetivo geral seja alcançado com extrema satisfação, tornando a realização deste trabalho de pesquisa uma fonte de consulta para administradores de redes, acadêmicos, professores e comunidade de tecnologia em geral. 15

17 1.3 Metodologia Para que os objetivos deste projeto sejam alcançados, opta-se pela realização de um levantamento bibliográfico sobre os conceitos de Segurança de Informações, a fim de se identificar os tipos de ameaças e vulnerabilidades que uma rede de computadores ou sistema computacional pode conter. Também se faz necessário um estudo dos tipos de ataques e dos perfis de indivíduos que os realizam. Um estudo estatístico de vulnerabilidades foi proposto para identificar os focos de incidentes recentes, compreendendo ainda mais as novas ameaças aos ambientes tecnológicos. O estudo do teste de penetração terá papel fundamental para, posteriormente, desenvolver um roteiro que será aplicado a cenários turn-keys simulando sistemas reais vulneráveis, permitindo a observação da exploração de uma vulnerabilidade como um intruso mal intencionado faria, comprometendo as informações de uma organização. 1.4 Estrutura do trabalho Esta pesquisa está dividida em 5 partes: Introdução, Fundamentação Teórica, Projeto, Desenvolvimento do Roteiro de Teste de Penetração e Conclusões. Na Introdução são abordados brevemente os conceitos de segurança de informações, uma amostra dos incidentes digitais reportados ao comitê gestor da internet no Brasil e brevemente os objetivos de um teste de penetração e deste projeto. A Fundamentação Teórica aprofunda os conceitos de segurança de informações. Expõe os perfis dos atacantes e dos principais ataques além de uma estatística dos principais incidentes reportados por entidades de segurança digital. Os conceitos de um pentesting são abordados para posterior definição de um roteiro. Na parte de Projeto são demonstrados os cenários turn-keys e determinado as etapas de roteiro para realização de um teste de penetração, como e onde este será aplicado. Na parte de Desenvolvimento do roteiro de teste de penetração, foi realizada a análise dos roteiros gerados para cada cenário turn-key e gerado um fluxograma e um roteiro de similaridades de ações realizadas, gerando por fim um roteiro genérico. Na parte de Conclusões, foram expostas as considerações finais a respeito do trabalho e recomendações para trabalhos futuros. 16

18 2 FUNDAMENTAÇÃO TEÓRICA A tecnologia da informação transformou a rotina de trabalho das pessoas de tal forma que seu uso tornou-se imprescindível mesmo para realização das tarefas mais triviais. Utilizando os recursos que a computação proporciona, a simplicidade de utilização dos sistemas e a comodidade de realizar algumas tarefas tornam a tecnologia uma dependência. Com a dependência tecnológica, são armazenadas nos recursos computacionais informações pessoais, confidenciais que requerem certo cuidado. Indivíduos passam seus dias buscando acessar essas informações confidenciais sem permissão, muitas vezes por curiosidade, mas também para ganhos financeiros. Esta dependência tecnológica faz emergir uma das principais preocupações naturais do homem: a sua segurança (BORTOLUZZI, 2004). Esta é a abordagem da revisão, aprofundando-se na subárea de penetration testing. Demonstrando as ameaças à segurança, técnicas já utilizadas para conter essas ameaças e por fim como utilizar as técnicas de pentesting para testar as vulnerabilidades que possam ser exploradas por um hacker mal intencionado. 2.1 Segurança de Informações Segundo a International Organization for Standardization (ISO, 2005) a informação é um ativo importante, é essencial para os negócios de uma organização e, como conseqüência, necessita ser adequadamente protegida. Com os sistemas cada vez mais interconectados, as informações são expostas a uma grande variedade de ameaças e vulnerabilidades. Um sistema é definido como seguro quando as informações que ele armazena e transporta são acessíveis por todas as pessoas que possuem autorização para tal. Já se o usuário consegue alterar um sistema para que ele permita acessos que deveriam ser negados, então este sistema é denominado inseguro (BISHOP, 2003). A segurança de informações é baseada em três principais premissas (LEHTINEN, 2006): Confidencialidade; Integridade; e Disponibilidade. 17

19 Os dados são considerados confiáveis se eles são mantidos de forma obscura para todos, mas pessoas autorizadas conseguem acessá-los. Dados tem integridade quando permanecem idênticos aos seus estados quando o ultimo usuário autorizado a manuseá-los, parou de utilizá-los. São considerados disponíveis quando são acessíveis a usuários autorizados quando desejado (LEHTINEN, 2006) Confidencialidade Um sistema seguro é aquele que não autoriza que a informação seja exposta para aqueles que não têm acesso autorizado a esta (LEHTINEN, 2006). A necessidade de manter a informação como segredo vem do uso de computadores em áreas de risco como no governo ou empresas (BISHOP, 2002). Pode-se exemplificar esta afirmação fazendo uma analogia com o que acontece no exército, onde somente alguns cargos de alta patente têm acesso a informações privilegiadas, como coronéis e generais, diferente de soldados que possuem um cargo de baixa patente que não os qualifica para o acesso a tais informações. Também, no mundo dos negócios, empresas guardam suas informações como estratégias de negócio ou dados de clientes, pretendendo que estas não sejam acessadas por quem não tem autorização, arriscando-se a danos em sua reputação e até prejuízos financeiros. Outra preocupação com a confidencialidade é a proteção do fluxo de tráfego contra a análise. Isto faz que um intruso não consiga observar a origem e o destino, a freqüência, o tamanho e outras características do tráfego em um sistema de comunicação (STALLINGS, 2008). Um atacante não deve ser capaz de interceptar uma mensagem e lê-la (ZWICKY, 2000) Integridade Um sistema computacional seguro deve preservar continuamente a integridade das informações mantidas nele. Isto significa que o sistema não deve permitir a corrupção das informações ou o acesso não autorizado a estas, seja ele por má intenção ou acidentalmente, expondo-as a modificações (LEHTINEN, 2006). Esta premissa visa assegurar também a veracidade dos dados (o conteúdo da informação) e a integridade da origem (a fonte dos dados, também chamada de autenticação). A fonte da informação deve sustentar sua precisão na credibilidade e na confiança que as pessoas colocam na informação (BISHOP, 2002). 18

20 Os mecanismos de integridade são divididos em duas classes (BISHOP, 2002): Mecanismos de prevenção: procuram manter a integridade das informações, bloqueando as tentativas não autorizadas de alterar os dados ou qualquer tentativa de modificação não autorizada as informações. Mecanismos de detecção: não tentam prever violações de integridade, mas sim reportar que a integridade dos dados já não é mais confiável. Normalmente analisam eventos do sistema (ações de usuários ou sistemas) tentando detectar anomalias. A diferença entre os dois mecanismos é que enquanto o mecanismo de prevenção procura bloquear modificações das informações, o mecanismo de detecção serve como informante ao administrador de redes ao detectar alguma ação irregular nas informações Disponibilidade Disponibilidade refere-se à capacidade de utilizar as informações ou os recursos desejados (BISHOP, 2002). Um sistema de computação deve manter a informação disponível para os usuários, isto significa que, desde o hardware até o software, deve ser mantido trabalhando de forma eficiente e que o sistema seja capaz de recuperar-se rapidamente e completamente se algum desastre ocorrer (LEHTINEN, 2006). O principal aspecto da disponibilidade para a segurança é que algum individuo pode deliberadamente negar o acesso aos dados ou a um serviço, tornando-o indisponível (BISHOP, 2002). Isto fica bem visível quanto à recusa de serviço (do inglês, Denial of Service, abreviadamente DoS), onde massivos envios de pacotes podem desabilitar um serviço, como por exemplo um servidor web. Os ataques de DoS serão descritos adiante. Disponibilidade é também um aspecto de confiabilidade, bem como do projeto do sistema computacional, pois um sistema indisponível é tão ruim como não ter um sistema (BISHOP, 2002) Alvos de proteção Estar seguro é estar livre de ameaças (LANDWEHR, 2001). Para manter a segurança das nossas informações devemos ter em mente o que devemos proteger. Quando se está conectado a internet coloca-se três objetos em risco (ZWICKY, 2000): 19

21 Dados: A informação contida nos computadores; Recursos: os computadores e seus poderes de processamento ou armazenamento, largura de banda, etc.; e Reputação. Como abordado anteriormente, é habitual usuários manterem várias informações em seus computadores pessoais ou que utilizam para trabalho. É possível entender que se um invasor obtiver sucesso em um ataque a uma dessas máquinas, as informações contidas nesses computadores estarão comprometidas. Essas informações podem ser secretas, como por exemplo, planos de negócio de uma empresa, o que pode trazer um alto risco ao cair nas mãos de pessoas indesejadas. As pessoas tendem a focar sobre os riscos associados a segredos, e é verdade, pois esses geralmente são os altos riscos (ZWICKY, 2000). Os servidores de banco de dados são serviços que armazenam as informações em uma infraestrutura tecnológica, considerado assim um alvo atrativo para atacantes. Ao obter acesso privilegiado, um intruso é capaz de manipular as estrutura de dados para encontrar as informações que está em busca. Se um atacante tem acesso privilegiado dentro da rede de trabalho local de uma empresa, ele naturalmente está em uma posição muito mais vantajosa para seus ataques. Pode realizar varreduras na velocidade do barramento local, pode tentar autenticar-se através de força bruta e muitas vezes obtêm acesso a portas de conexão que de outro modo estariam filtradas por um firewall. Mesmo se as informações não forem secretas, haverá conseqüências caso sejam destruídas ou modificadas, e o custo poderá ser maior do que o suportável. Mas o mais grave é a perda de confiança dos utilizadores, do cliente ou de um investidor nos seus sistemas e dados e, conseqüentemente, a perda de confiança em sua organização, afetando sua reputação (ZWICKY, 2000). Dependendo do negócio da organização, o acesso não autorizado as informações pode trazer várias conseqüências, incluindo altos custos para recuperação de um dado modificado, perdas de clientes e em últimos casos o fim da mesma. Como será descrito adiante, a motivação do intruso para realização do ataque, pode ser objetivada pelo conteúdo da informação que este busca. 20

22 2.1.5 Ameaças Uma vulnerabilidade é um ponto onde o sistema é suscetível a ataque já uma ameaça é um possível perigo ao sistema. Esse perigo pode ser uma pessoa (cracker ou espião), um objeto (uma peça defeituosa do equipamento), ou um até evento natural (fogo ou enchente) que pode explorar uma vulnerabilidade dos sistemas (LEHTINEN, 2006). Uma ameaça é uma potencial violação de segurança. Não é necessário realmente ocorrer uma violação para que haja uma ameaça. O fato de que a violação poder ocorrer significa que as ações que poderiam causar essa ocorrência devem ser protegidas (BISHOP, 2002). A segurança de computadores se preocupa em identificar vulnerabilidades em sistemas e protegê-las contra as ameaças (LEHTINEN, 2006) Tipos de atacantes A classificação dos atacantes é identificada da seguinte forma (ZWICKY, 2000): Aventureiros: pessoas entediadas que buscam por diversão. Invadem sistemas pensando que você tem interesse nos dados, ou porque seria divertido usar os computadores sem ter o acesso autorizado ou até por não terem nada melhor pra fazer. São curiosos, normalmente não modificam ou comprometem as informações a qual tiveram acesso; Vândalos: hackers que invadem sistemas realmente para causar danos. Fazem isso normalmente pelo prazer de destruir ou até por não gostar dos princípios do alvo e para demonstrarem seu desgosto por este; Competidores: atacantes que competem entre si tentando invadir o maior número de sistemas. Quanto maior for a dificuldade ou a reputação do sistema invadido mais pontos conseguem. É nesta classificação que entram os conhecidos por script kiddies, que são iniciantes que utilizam programas escritos por hackers mais experientes, ainda assim tornam-se ameaças a sistemas considerados inseguros; e Espiões profissionais: são atacantes que possuem um grande conhecimento, normalmente maior do que os outros já citados. Tem a capacidade de criar suas próprias ferramentas para suceder o ataque e o roubo da informação deve acontecer sem deixar rastros. É raro acontecer à espionagem computacional por conta dos 21

23 vastos recursos para proteção dos dados, mas um espião profissional pode ser contratado por uma empresa para conseguir informações de uma concorrente. É certo que, para cada tipo de atacante existe um nível de proteção adequado. A problemática está centrada no valor da informação. Quanto mais valiosos forem os dados, mais hackers estarão interessados em obtê-los e maior será a presença dos espiões profissionais entre eles. Então, é preciso haver mais e melhores mecanismos de segurança para proteção dessas informações (BORTOLUZZI, 2004). Ainda na linguagem do mundo da computação hackers são classificados da seguinte forma (AMAN, 2006): Black Hats (traduzido do inglês, Chapeis Pretos): são intrusos que identificam e exploraram vulnerabilidades nos sistemas e redes de computadores, na maioria das vezes com intenções maliciosas. Entre eles há dois extremos: script kiddies e crackers. O cracker é apto a desenvolver ferramentas de invasão ou causadoras de danos, pois possuem grande conhecimento de informática, enquanto o script kiddie faz o uso destas ferramentas, geralmente inconscientes de como elas realmente funcionam e como elas podem afetar um sistema. Desta forma são considerados os hackers do mal; e White Hats (traduzido do inglês, Chapeis Brancos): são os hackers do bem, que usam seus conhecimentos para desenvolver e aplicar novas formas de defesas contra os ataques dos Black Hats. Enquanto os Black Hats criam novas ferramentas e técnicas para invasão os White Hats respondem com as formas de bloqueio dos ataques. É neste grupo que se espera que os administradores de redes e sistemas se encontrem. A diferença entre os dois grupos é a permissão (WILHELM, 2010). Enquanto os Black Hats não possuem permissão para invadir um sistema e o fazem, os White Hats procuram identificar as vulnerabilidades que seu inimigo pode utilizar para atacar seus ambientes. Nesta simbologia, os profissionais de pentesting vestem o chapéu branco. 22

24 2.1.7 Tipos de ataques O objetivo deste capítulo é expor brevemente os tipos de ataques que ameaçam as infraestruturas de TI e os usuários de computadores. Entre eles estão os ataques de negação de serviço, worms, vírus, trojans, engenharia social e invasão. Ataques DoS e DDoS O ataque de negação de serviço (do inglês, denial of service, ou abreviadamente DoS) ou o ataque de negação de serviço distribuído (do inglês, distributed denial of service, abreviadamente DDoS) é a tentativa de um hacker impedir usuários legítimos de acessarem um serviço, normalmente esgotando os recursos do servidor que o hospeda fazendo com que este fique indisponível para acesso dos usuários. O recurso alvo do ataque pode ser largura de banda, capacidade de processamento, memória, capacidade de armazenamento em disco ou até a combinação de todos (MEHMUD; ZNATI, 2009). Noticias sobre ataques sincronizados contra servidores de grandes empresas da área de TI mostram que os ataques de DoS podem paralisar os serviços de internet por várias horas. Protegerse contra ataques de DoS é muito difícil se um invasor começa seu ataque invadindo vários computadores desprotegidos em todo o mundo, utilizando-os como computadores zumbis para executar um ataque sincronizado a um alvo (TÓTH; HORNÁK; TÓTH, 2008). Pode-se notar que este é um cenário de ataques de negação de serviço distribuído, onde o invasor consegue tomar posse de diversas máquinas conectadas a internet, infectadas pelo próprio, tornando-as assim parte de uma rede de zumbis (também conhecidas por botnets) tendo em mãos uma grande quantidade de recursos para tornar um alvo indisponível. Os ataques de DoS e DDoS são classificados em três básicas categorias básicas (LEVINE; KESSLER, 2002): O primeiro tipo visa tornar os computadores e as redes indisponíveis, limitando os recursos que são essenciais para que estes possam operar. Recursos que podem ser capacidade de processamento, memória, largura de banda, acesso a outras redes de computadores e até recursos ambientais como ar fresco para refrigeração ou energia; 23

25 O segundo pretende alterar informações de configuração. Isso porque computadores configurados de modo inadequado ou até com pouca capacidade podem falhar ou operar de maneira não desejada; e Por último, os ataques físicos que podem destruir ou alterar os componentes de redes ou computadores. Para se precaver destes é necessário uma política de segurança física, para proteção da infra-estrutura de TI. O primeiro ataque de negação de serviço reportado foi chamado de Bombing. Um usuário recebeu inúmeras mensagens de esgotando assim a capacidade de armazenamento do servidor. Além de esgotar o espaço em disco, o ataque pode retardar a entrega de mensagens e causar sobrecarga no servidor de correio eletrônico, comprometendo a disponibilidade do serviço para os usuários (LEVINE; KESSLER, 2002). Outra variação dos ataques de recusa de serviço é o Buffer Overflow, onde um hacker explora um espaço alocado não verificado em um programa e substitui o código do programa pelo seu próprio. Quando o programa sobrescrito executa o código alterado provoca o efeito de alteração do funcionamento do sistema como o atacante pretendia ou causa a finalização do programa, tornando-o indisponível (DONALDSON, 2002). Os ataques de negação de serviço são inteiramente destinados a impedir o usuário de utilizar os seus recursos computacionais (ZWICKY, 2000). Vírus, Worms e Cavalos de Tróia Vírus de computadores, programas cavalos de tróia e worms são uma grande preocupação para os usuários de computadores. Esse tipo de ataque vem custando milhões de dólares por ano para empresas e instituições governamentais (NEUBAUER; HARRIS, 2002). Um vírus de computador é um programa que se insere em um ou mais arquivos (programas hospedeiros) e executa alguma ação maliciosa (BISHOP, 2002). O vírus entra em ação somente quando o programa hospedeiro é executado (LEHTINEN, 2006). Os vírus de computadores se espalham pelo sistema infectado, indo da memória pra o disco rígido ou de um pendrive para a memória e assim por diante. Ele degrada o desempenho do sistema, além de outros danos que pode causar como, por exemplo, a exclusão de dados (LEHTINEN, 24

26 2006). O uso de softwares antivírus é uma das maneiras de se precaver contra vírus, mantendo-o sempre atualizado com o banco de dados do desenvolvedor. Um vírus de computador infecta outros programas. O worm, uma variante do vírus, é um programa que se espalha entre diferentes computadores, criando cópias de si mesmo em cada um (BISHOP, 2002). O worm é capaz de se propagar automaticamente através de redes, enviando cópias de si mesmo de computador para computador. Diferente do vírus, o worm não embute cópias de si mesmo em outros programas ou arquivos e não necessita ser explicitamente executado para se propagar. Sua propagação se dá através da exploração de vulnerabilidades existentes ou falhas na configuração de softwares instalados em computadores (CERT, 2006). Então ao contrário de um vírus, que se anexa a um programa hospedeiro, um worm mantém a sua independência, e não modifica outros programas. Como um vírus, no entanto, um worm pode incluir instruções maliciosas que causam dano ou mal, além de qualquer inconveniente que pode causar com a mobilização dos recursos da rede para que ele se mantenha e reproduza (LEHTINEN, 2006). Lembrando a mitologia clássica de Homero a obra Ilíada, o programa de código malicioso Cavalo de Tróia (do inglês, Trojan Horse, ou abreviadamente trojan), é um fragmento de código escondido dentro de um programa que executa uma ação disfarçadamente (LEHTINEN, 2006). O trojan é normalmente recebido como um "presente" (por exemplo, cartão virtual, álbum de fotos, protetor de tela, jogo, etc.), que além de executar funções para as quais foi aparentemente projetado, também executa outras funções normalmente maliciosas e sem o conhecimento do usuário (CERT, 2006). Um trojan inteligente, não vai deixar vestígios de sua presença, pode permanecer por tempo indefinido em um software confiável e pode até ser programado para se autodestruir antes de ser detectado (LEHTINEN, 2006). 25

27 Engenharia Social O termo engenharia social ganhou uma grande atenção na comunidade de TI sendo conhecido por um processo social/psicológico onde um indivíduo consegue obter informações de outro individuo sobre uma organização alvo (THORNBURGH, 2004). A engenharia social pode ser considerada como ataque contra pessoas ou a exploração do fator humano (LAFRANCE, 2004). Tornou-se muito conhecida com o famoso hacker e hoje consultor de segurança Kevin David Mitnick. A engenharia social usa a influência e a persuasão para enganar as pessoas e convencê-las de que o engenheiro social é alguém que na verdade ele não é, ou pela manipulação. Como resultado, o engenheiro social pode aproveitar-se das pessoas para obter as informações com ou sem o uso da tecnologia (MITNICK, 2003). Este ataque é derivado de uma característica humana: a confiança. As pessoas têm tendência em simpatizar com alguém que alega estar com problemas ou diz ser uma pessoa de confiança, sem verificar a credibilidade desta informação. Um engenheiro social sabe e prevê que isso o ajuda no ataque (KEE, 2008). Este cenário de ataque é também muito visto hoje, nas redes de computadores, com uma variante chamada phishing. O phishing é uma mensagem não solicitada que se passa por comunicação de uma instituição conhecida, como um banco, empresa ou site popular, e que procura induzir usuários ao fornecimento de dados pessoais e financeiros. Inicialmente, este tipo de mensagem induzia o usuário ao acesso a páginas fraudulentas na Internet. Atualmente, o termo também se refere à mensagem que induz o usuário à instalação de códigos maliciosos, além da mensagem que, no próprio conteúdo, apresenta formulários para o preenchimento e envio de dados pessoais e financeiros (CERT, 2006). O engenheiro social cria uma mensagem ou página tentando ao máximo se assemelhar ao remetente forjado, o que faz com que as pessoas confiem no conteúdo. Como pode ser visto na Figura 2. 26

28 Figura 2. Tentativa de Phishing tentando passar-se pelo Banco Bradesco O atacante supõe que o usuário possui uma conta no Banco Bradesco e espera que o usuário clique no link proposto que o levará para um site falso onde o atacante pretende conseguir informações sobre a conta da vítima. Para usuários leigos isto é um grande problema, pois um ataque de phishing pode comprometer o computador utilizado ou até disponibilizar informações confidenciais para o atacante. Invasão Os ataques mais comuns a sistemas são as invasões, com uma invasão o atacante está habilitado a usar o sistema comprometido se passando pelo usuário legítimo (ZWICKY, 2000). A invasão é um ataque bem sucedido que resulte no acesso, manipulação ou destruição de informações em um computador (CERT, 2006). Existe três tipos principais de um atacante conseguir invadir um sistema (WILSON, 2001): Invasão física: quando um atacante tem acesso físico ao sistema. Podendo utilizar técnicas para se tornar administrador do sistema ou até desmontar o computador para, por exemplo, obter acesso aos arquivos do disco rígido através de outro computador. 27

29 Invasão de sistemas: também conhecido como escalonamento de privilégios, quando o usuário possui uma conta no sistema e utiliza técnicas para se tornar administrador. Se o sistema não se mantém atualizado, há uma grande chance de um atacante utilizar uma falha conhecida para conseguir privilégios adicionais de administrador em sua conta. Invasão remota: consiste em um atacante invadir o sistema remotamente através da internet, normalmente o invasor começa sem privilégios especiais. Um Sistema Detector de Intrusões tem sua principal preocupação com esse tipo de ataque. Os invasores podem utilizar desde ataques de engenharia social, simples adivinhação (tentar nome de usuários e senhas até encontrar o correto), ou até utilizando de falhas de softwares para conseguir acesso sem precisar de credenciais (ZWICKY, 2000) Formas de prevenção de ataques Os administradores de redes e sistemas computacionais utilizam várias técnicas para prevenção de incidentes em seus ambientes tecnológicos. Os Sistemas de Detecção de Intrusão (do inglês Instrusion Detection System, abreviadamente IDS) contêm regras que detectam anomalias em sistemas e alertam o administrador de sistemas. O firewall é um serviço que, também através de regras, consegue bloquear conexões indesejadas. As políticas de segurança são documentos que pretendem fornecer direção e apoio gerenciais para a segurança de informações. Divulgada a todos os colaboradores uma política de segurança deve declarar o comprometimento da gerência e estabelecer a abordagem da organização quanto à gestão da segurança de informações (ISO, 2005). Sistemas detectores de intrusão Sistemas detectores de intrusão são aplicações distribuídas que analisam eventos em uma rede para identificar anomalias (KEMMERER, 2005). Os IDSs devem ser precisos, adaptáveis e extensíveis (LEE; STOLFO, 2000). Quando um IDS é devidamente implantado, ele pode fornecer alertas indicando que um sistema está sob ataque, mesmo se aquele sistema não está vulnerável para aquele ataque específico 28

30 (MCHUGH; CHRISTIE; ALLEN, 2000). Estes alertas podem ajudar a propor soluções para resistência de um tipo de ataque. Um IDS ainda pode servir para testar a configuração de outros mecanismos de segurança como o um firewall (MCHUGH; CHRISTIE; ALLEN, 2000). Firewall Nas redes computacionais, os firewalls atuam como a linha de frente na defesa contra trafego malicioso e indesejado (SALAH, SATTAR, et al., 2009). O firewall é um componente ou um conjunto de componentes que restringe o acesso entre uma rede protegida e a internet ou entre outros conjuntos de redes (ZWICKY, 2000). Segundo Cheswick (2005), firewall é uma coleção de componentes colocados entre duas redes que, atuando em conjunto, possui as seguintes propriedades: Todo tráfego de dentro para fora e vice-versa deve passar através do firewall; Apenas o tráfego autorizado, como os definidos pela política de segurança local, terão permissão para passar; e O firewall deverá ser imune a penetração. Isso faz com que o firewall seja o limitador entre uma rede outra, principalmente entre uma rede local e a Internet. Entretanto um firewall não pode proteger a rede de computadores das seguintes situações (BORTOLUZZI, 2004): Funcionários mal intencionados, pois o firewall não é ponto de choque em conexões com origem e destino na própria LAN; Novas ameaças: uma vez que a configuração do firewall é estática, novas ameaças irão requerer novas filtragens e até que isso aconteça, outros mecanismos devem suprir tal deficiência; e Vírus e conteúdo da camada de aplicação: o firewall se restringe à análise do endereço IP e das portas lógicas, ele não pode impedir o alastramento de vírus e similares. 29

31 O firewall examina as requisições a rede e decide se pode ser feita através de testes baseados em regras. Se a requisição pode ser aceita, ela é feita, caso contrário é recusada (STAMP, 2006). Os sistemas de firewalls são comuns em infra-estruturas de redes, seu uso por administradores de redes faz com que apenas tráfego autorizado seja transmitido. Entretanto, outra ferramenta utilizada para manter a segurança das informações é a política de segurança. Políticas de segurança A principal finalidade de uma política de segurança é estabelecer uma direção, uma teoria que uma organização quer alcançar que pode ser discutida em documentos de diferentes quantidades de legibilidade (ZWICKY, 2000). Deve ser estabelecida uma política clara, alinhada com os objetivos do negócio e que demonstre apoio e comprometimento com a segurança da informação por meio da publicação e manutenção de uma política de segurança da informação para toda a organização (ISO, 2005). Uma política de segurança deve basicamente conter (ZWICKY, 2000): Explicações: deve ser explicita e compreensiva sobre o porquê estas decisões estão sendo tomadas; Responsabilidades: deve definir as expectativas e responsabilidades de todos os colaboradores; Linguagem casual: importante que a política seja escrita de forma amigável e compreensível; Autoridade: deve especificar quem tem autoridade para tomar uma decisão ou fazer uma indicação; Prever exceções: uma política pode não cobrir um evento futuro, portanto deve se especificar as ações que serão tomadas para uma exceção; Previsão de revisões: podem ocorrer mudanças na organização a qual a política não abrange, sendo necessária uma revisão; e Questões específicas de segurança: quem tem direito de acesso, como pode perder e ganhar direito a acesso, como os dados financeiros serão protegidos, qual o método para conter vírus em computadores pessoais, entre outros. 30

32 2.2 Estatísticas O crescimento do acesso a Internet e da tecnologia trás um número elevado de incidentes no mundo inteiro. Os kits de ferramentas dos criminosos estão evoluindo rapidamente para utilizar novas tecnologias que aumentam a sofisticação do ataque deixando até mesmo os usuários mais experientes alheios aos riscos (MCAFEE, 2010). O relatório de atividades maliciosas de Symantec (2010) demonstra que muitas dessas atividades estão no nível de aplicação, passando de arquivos PDF infectados até vulnerabilidades encontradas em browsers. O relatório foi baseado em sistemas de segurança mantidos pela empresa. As informações dos países com maiores atividades maliciosas são baseadas em ataques identificados por IDSs, IPSs ou firewalls. A Tabela 1 foi criada a partir de métricas de análise de atividades maliciosas por país, ataques baseados na web, países de origem dos ataques baseados na web, violação de dados que poderiam levar ao roubo de identidade por setor, violação de dados que poderiam levar ao roubo de identidade por causa, computadores infectados por bots e ameaça de atividade (proteção e mitigação). Tabela 1. Atividade maliciosa por país Ranking Global Porcentagem Rank de atividades 2009 Código Zumbis de Hospedeiros Origem de País Malicioso Spam de Phising Bots ataques 1 1 USA 19% 23% China 8% 9% Brasil 6% 4% Alemanha 5% 6% Índia 4% 3% Reino Unido 3% 5% Rússia 3% 2% Polônia 3% 3% Itália 3% 3% Espanha 3% 4% Fonte: Adaptado de Symantec (2010). Identifica-se que os Estados Unidos e a China mantêm-se no topo da tabela. São considerados os países com mais atividades maliciosas no mundo. O Brasil passou da quinta posição para a terceira. Isto ocorre pelo fato do crescimento da infra-estrutura de internet e do uso de banda larga no país. Mas outro fato possível foi o worm Downadup (também conhecido como 31

33 Conficker), que infectou um grande numero de computadores no mundo inteiro no final de 2008 e inicio de 2009, o Brasil foi considerado um dos mais afetados pelo worm (SYMANTEC, 2010). Outro fator que elevou a posição do Brasil é que o país é uma grande fonte de códigos maliciosos que roubam informações bancárias, os programas que tiveram mais sucesso continuam ativos e fazendo o papel para qual foram projetados (SYMANTEC, 2010). Até março desse ano, foram reportados ao CERT.br (2010) mais de 28 mil incidentes, a maioria varreduras (do inglês, scan), que são utilizadas por hackers para identificar potenciais alvos. Com as técnicas de scan um atacante consegue identificar os serviços habilitados em um computador e com isso tem a possibilidade de ligar uma vulnerabilidade a este serviço para uma tentativa de ataque (CERT, 2006). As portas mais atingidas são à porta 22, do protocolo SSH, e a porta 25 do protocolo SNMP (CERT.br, 2010). Segundo Symantec (2010), na América Latina o Brasil foi o país ficou com a liderança do grupo de computadores infectados por bots (computador que compõe uma botnet) com 54% do total. O Brasil também foi considerado pela empresa de segurança Kaspersky como um país rico em trojans que roubam informações bancárias, tendo uma complexa forma de ataque que rouba dados de sites de redes sociais, incapacita ações do software antivírus e por fim, monitora atividades em sites bancários colhendo dados necessários para o atacante (BESTUZHEV, 2009). Os ataques de DDoS também mostram seus efeitos, em Julho do ano passado, diversos sites do governo americano foram alvos e ficaram indisponíveis (GOODIN, 2009). Também no final de 2009 grandes empresas americanas como a Amazon e a Wal-Mart, entre outras, foram vitimas de ataques de recusa de serviço tendo seus sites e serviços indisponíveis dois dias antes do Natal, um período de muitos acessos nos sites das vitimas (KRAZIT, 2009). O Instituto SANS registra anualmente uma lista das principais vulnerabilidades em sistemas. No ano de 2009 a empresa Microsoft foi responsável pela grande maioria, a maior parte encontrada em programas do pacote Office. A Adobe também participa da lista, com várias vulnerabilidades em softwares como o Adobe Acrobat e Adobe Reader. Muitas vulnerabilidades também foram encontradas no Java da Oracle, que completa a lista (SANS, 2009). O SANS também lista as principais vulnerabilidades onde o código para exploração é disponibilizado antes da correção da falha, também conhecido como vulnerabilidade de dia zero (do 32

34 inglês zero-day vulnerability). A capacidade de execução de códigos remotos pelos atacantes foi encontrada principalmente em softwares das empresas Microsoft e Adobe (SANS, 2009). A Symantec (2010) relatou que no ano de 2009 foram registradas 321 vulnerabilidades em extensões utilizadas em navegadores da internet. Essas extensões permitem que os navegadores exibam páginas com conteúdo multimídia adicional. Fazem parte o Adobe Reader, Adobe Flash Player, Apple QuickTime, Microsoft ActiveX, Java SE entre outros. Conforme o gráfico mostrado na Figura 3 é possível identificar que a maioria das vulnerabilidades foram encontradas na tecnologia ActiveX, seguida pela Java SE. Vulnerabilidades em extensões para navegadores Adobe Reader 15% Extensões da Mozilla 1% Adobe Flash Player 7% QuickTime 8% ActiveX 43% Java SE 26% Figura 3. Vulnerabilidades em extensões para navegadores web Fonte: Adaptado de Symantec (2010). Pode-se observar que as aplicações do lado cliente vêem sendo muito afetadas. Os incidentes reportados são a maioria de programas utilizados em atividades rotineiras e que podem carregar uma vasta quantidade de informações. No Brasil, os programas de código malicioso que roubam informações bancárias tem tido um grande sucesso, este que pode trazer várias conseqüências a uma vitima. Do lado servidor, recentemente, a Apache Foundation, responsável pelo servidor web Apache que contêm 53,84% da utilização mundial segundo o site Netcraft (2010), foi vitima de um ataque onde o intruso obteve acesso privilegiado a um de seus servidores e acesso limitado a certo número de senhas que foram comprometidas (APACHE, 2010). 33

35 No final do ano passado, um ataque comprometeu várias contas de serviços de do Google, Hotmail e Yahoo. Os usuários e senhas ficaram comprometidos e foi sugerido que os utilizadores alterassem suas credenciais de autenticação (COMPUTERWORLD, 2009). O relatório anual de CSI (2009) demonstra que quase 65% dos participantes reportaram incidentes com malwares. Muitos também foram vitimas de roubos de dispositivos como laptops e celulares, além de danos causados por colaboradores internos das organizações. Como demonstra a Figura 4. Reportaram tipo de incidente 70.00% 60.00% 64.30% 50.00% 40.00% 30.00% 20.00% 10.00% 42.20% 29.70% 29.20% 20% 17.30% 7.60% 0.00% Infectados por Malware Roubo de dispositivos Abusos de colaboradores internos DoS Fraudes financeiras Captura de senhas Exploração de redes WiFi Figura 4. Índice de incidentes reportados ao CSI Fonte: Adaptado de CSI (2009) Vários dos incidentes reportados são softwares e serviços utilizados no dia-a-dia por usuários e organizações. A exploração destes recursos por um atacante demonstra que vários usuários de computadores estão vulneráveis a ataques que vão desde usuários infectados para utilização de computadores em botnets até para causar danos a empresas. Esses ataques podem ser previstos por um administrador de redes utilizando técnicas como o pentesting e os usuários podem tentar proteger-se através da utilização de softwares antivírus atualizados e também a atualização de seus programas e sistemas operacionais. 34

36 2.3 Teste de Penetração Chamado Penetration Testing ou Ethical hacking a invasão do seu próprio sistema para observar o quanto seguro ele está. Isto requer uma análise detalhada das ameaças e dos potenciais invasores a um sistema (BISHOP, 2007). O pentest é um método para avaliar a segurança dos sistemas de informação de uma organização simulando um ataque. Seu objetivo é sondar e identificar falhas de segurança em sistemas de informação, tais como uma aplicação bancária on-line, a rede da infra-estrutura, ou até mesmo as instalações físicas de uma organização (DANHIEUX; WOUTER, 2006). O teste deve ser autorizado e agendado. É um processo de utilização de vulnerabilidades conhecidas para tentativa de invasão de um ambiente. Ele pode ser conduzido internamente, como na tentativa de acesso físico a organização, ou externamente através da conexão da organização com a internet (BRADEN, 2003). Exemplos de uma invasão bem-sucedida seria a obtenção de documentos confidenciais, listas de preços, dados e informações privilegiadas. O que difere um profissional em pentesting de um intruso é a permissão. Um pentester terá autorização para executar um teste de penetração (NORTHCUTT, et al., 2006). O objetivo principal de um teste de penetração é aumentar a segurança dos recursos computacionais que estão sendo testados (NORTHCUTT, et al., 2006). Os testes de penetração podem ser considerados como um projeto dentro de uma organização. Os projetos de pentesting devem ser desenvolvidos utilizando processos eficazes e reprodutíveis para introduzir melhorias, cumprir os objetivos de negócio, melhorar a qualidade e aumentar a rentabilidade (WILHELM, 2010). A execução de um pentest segundo Wilhelm (2010), baseando-se nas formas de invasão por hackers, deve passar pelas seguintes fases: levantamento de informações ou reconhecimento: o primeiro passo para realização de um pentest e sem dúvida o mais importante. Após a conclusão desta fase o pentester deve ter um mapa detalhado do alvo e compreender a quantidade de esforço necessária para conduzir uma avaliação completa; 35

37 Identificação de vulnerabilidades: esta fase pretende examinar o alvo mais profundamente do que a primeira, mas serão utilizadas as informações encontradas previamente para identificar possíveis ameaças e vulnerabilidades no alvo; Verificação das vulnerabilidades: este passo pretende identificar qual vulnerabilidade é real buscando ferramentas para explorá-las. É também a fase onde a vulnerabilidade é explorada; Obter acesso privilegiado: o objetivo desta fase é passar de uma simples invasão através da exploração de uma vulnerabilidade para o total comprometimento de uma rede de computadores ou sistema. A ação a ser feita é passar de um usuário com ações restritas para um usuário que possui ações privilegiadas no sistema afetado. Manter acesso: esta etapa preocupa-se com a possibilidade de conservar o privilégio de acesso ao sistema invadido; e Limpar as evidências: preocupa-se em não deixar rastros de que uma exploração de vulnerabilidades aconteceu e o alvo foi comprometido. O objetivo é cobrir todas as provas de que as fases anteriores foram executadas com sucesso. Ao se analisar as etapas de execução de um pentesting é possível visualizar que ações um hacker pode realizar para comprometer um alvo. A maneira com que um pentester executa um teste de penetração é pretendendo visualizar as maneiras que um atacante usaria para chegar aos seus objetivos, porém o pentester tem a permissão para realizar esses métodos, diferente do intruso mal intencionado Levantamento de Informações ou Reconhecimento O reconhecimento do alvo é a primeira etapa para a execução de um teste de penetração. Com ele o pentester consegue iniciar a compreensão da estrutura do alvo e estudar as diferentes maneiras para quebrar a segurança e obter acesso a informações. Essa fase pode ser segmentada em dois tipos diferentes (WILHELM, 2010): Reconhecimento passivo: o pentester procura por informações do alvo sem conectarse diretamente com ele. Normalmente são buscadas informações corporativas. Incluindo a propriedade, quem e quantos são os colaboradores, a localização do alvo, 36

38 as plantas físicas da estrutura, entre outros. Dependendo dos objetivos do pentest o profissional procura as informações necessárias para formular o teste; e Reconhecimento ativo: destina-se apenas a compreender melhor o alvo e aprimorar as informações conseguidas com o reconhecimento passivo. Deve-se conectar ao alvo somente com sistemas e serviços que há permissão explicita para se comunicar. No reconhecimento passivo o pentester não tem nenhuma comunicação com o alvo. Realiza pesquisas em sites de busca e analisa as informações retornadas, procura por nomes de funcionários principalmente de cargos elevados, examina possíveis sites pessoais de colaboradores, entre outros. No final desta o pentester terá informações que podem ser valiosas sem ao menos ter visitado o alvo (WILHELM, 2010). Diferente do anterior, no reconhecimento ativo, o pentester pode utilizar ferramentas para reconhecimento da infra-estrutura da empresa. Identificar usuários de sistemas, credenciais de contas de s, versão do servidor DNS, informações que podem carregar vulnerabilidades por versões desatualizadas, por exemplo (WILHELM, 2010). A engenharia social é muito eficaz e seu estudo é profundo, fora do escopo deste trabalho. A atividade de reconhecimento do alvo pode ser feita desde a utilização da ferramenta Ping até a procura por informações no lixo da organização (técnica conhecida em inglês como Dumpster Diving) (TILLER, 2005). Diversas informações podem ser resgatadas com a utilização de sites de busca, sites que guardam versões anteriores de paginas como Archive.org (2010) e informações estatísticas que podem ser encontradas em sites como Netcraft.com (2010). Além de outras ferramentas como o nslookup, por exemplo, para busca informações do DNS de sites, comum em sistemas Windows e Linux (WILHELM, 2010), ferramentas como o whois, traceroute e o Nmap (2010). Esta etapa não faz uma busca de informações detalhadas, somente um mapeamento da rede e reconhecimento do alvo, porém nas próximas etapas é possível identificar vários dados como os serviços que rodam nas redes (WILHELM, 2010). A maioria das informações que é obtida está disponível gratuitamente e deve ser alcançada de forma legal. No entanto, muitas organizações monitoram quem tenta obter esses dados, pois isso pode indicar uma tentativa de ataque (KLEVINSKY; LALIBERTE; GUPTA, 2002). 37

39 Figura 5. Comando whois no endereço Fonte: Registro.br (2010) Como demonstrado na Figura 5, podemos adquirir dados como responsável pela entidade, servidores DNS e seus respectivos IPs, endereço, telefone, entre outros, simplesmente utilizando ferramentas disponíveis de forma gratuita e legal, como no exemplo através do site de registro de domínios para Internet do Brasil Identificação de vulnerabilidades Esta fase é levada de uma forma mais agressiva do que a fase de reconhecimento, agora interagindo com os sistemas e os elementos de redes para conseguir o máximo de informação possível (TILLER, 2005). As informações recolhidas nessa fase serão usadas para moldar o ataque, comunicando-se diretamente com o alvo com a finalidade de identificar possíveis ameaças e vulnerabilidades. Nesta fase não é feita nenhuma exploração de uma vulnerabilidade (WILHELM, 2010). Para entender as vulnerabilidades que existem em um alvo, precisamos saber mais detalhes sobre os sistemas operacionais (abreviadamente, SO) de um servidor, os serviços que estão rodando 38

40 e as versões de aplicativos. Com isso pode-se fazer buscas em bancos de dados de vulnerabilidades para determinar se o SO destino pode ser vulnerável a um ataque (WILHELM, 2010). Devem-se utilizar maneiras para identificação, interagindo com o alvo, que passe através de firewalls ou roteadores que filtram pacotes. A ferramenta Nmap (2010) contém várias opções que podem ser usadas para conseguir muitas informações de um sistema, com passagem através de programas que filtram pacotes (TILLER, 2005), como mostrado na Figura 6. Figura 6. Opções do Nmap para passar através de Firewall e IDS, entre outros Fonte: o autor (2010). A varredura de portas (do inglês, Port Scanning) é um dos métodos utilizados para buscar informações nesta etapa. Quando se realiza uma varredura de portas pretende-se verificar a existência de um sistema alvo e a obtenção de uma lista de canais de comunicação (portas) que estão abertas e aceitando conexões (WILHELM, 2010). A verificação de existência de um sistema alvo pode ser feita utilizando a partir de testadores como o ping. O Nmap (2010) possui diferentes opções para fazer esta verificação justamente porque muitas redes bloqueiam o ping e outros utilitários que exploram o protocolo de rede ICMP. Após identificar atividade do sistema alvo o próximo passo é identificar as portas abertas, fechadas ou que estão sendo filtradas (WILHELM, 2010). As varreduras de portas ocorrem na camada de transporte, notadamente nos protocolos UDP e TCP. A maioria das vulnerabilidades explora falhas no TCP, como em servidores web, bancos de dados, aplicações para transferência de arquivos, e outros (WILHELM, 2010). O maior exemplo de uso do UDP é o serviço de DNS. A varredura de portas pode ser feita com diferentes opções da 39

41 ferramenta NMap ou da ferramenta Netcat (2010). Ainda há uma lista de várias ferramentas disponíveis em Sectools.org (2010). Após obter uma lista de portas abertas a conexão, pode-se tentar descobrir o sistema operacional que está sendo executado no alvo. A maioria das aplicações que exploram vulnerabilidades são escritas para sistemas operacionais específicos, o que torna o descobrimento do SO uma ferramenta essencial para identificar possíveis vulnerabilidades no alvo (WILHELM, 2010). O NMap possui opção para descobrir um sistema operacional, porém nem sempre é possível chegar ao resultado. O uso de diferentes ferramentas pode se tornar fundamental, como Xprobe2 (2010). No caso de não obter sucesso ao tentar descobrir um sistema operacional, uma análise dos serviços ativos na maquina alvo pode identificar pontos que nos levam ao sistema operacional (WILHELM, 2010). A próxima etapa da identificação de vulnerabilidades é o descobrimento de serviços que estão rodando no alvo. Identificando os serviços que estão rodando em um sistema pode-se aprimorar as informações para reconhecimento de vulnerabilidades, a ferramenta NMap possui opções que lançam ao alvo requisições para retorno de portas que são normalmente utilizadas por serviços (WILHELM, 2010). Figura 7. NMap identificando serviços A Figura 7 demonstra as portas que estão aceitando conexões e os serviços que estão ativos. É possível também utilizar conexões diretas com as portas encontradas anteriormente e analisar o que elas retornam quando se é enviado dados aleatórios (WILHELM, 2010). 40

42 Após encontrar os serviços ativos no alvo, as portas abertas para conexões e possivelmente o sistema operacional, deve-se buscar vulnerabilidades conhecidas nas informações que foram levantadas. Pode-se utilizar bancos de dados de vulnerabilidades como em NVD-US (2010), SecurityFocus (2010) entre outros. A próxima etapa utilizará as informações conseguidas nesta fase para realizar os ataques e explorar uma vulnerabilidade Verificação de vulnerabilidades Nesta etapa as informações recolhidas anteriormente servirão de base para efetuar o ataque ao alvo. Os dados de sistema operacional utilizado e versão do serviço que possa conter uma vulnerabilidade são de grande ajuda nesta fase. A identificação das vulnerabilidades ajuda os administradores de redes a melhorar a segurança de seus ambientes de TI e compreender o risco e o quanto perigoso pode ficar se existir uma forma para explorar essas vulnerabilidades (WILHELM, 2010). Exploração é identificar a vulnerabilidade e usá-la para ter acesso, obter informações ou estabelecer uma base para outros ataques (TILLER, 2005). Existem diversos sites que contêm repositórios de exploits como Inj3ct0r (2010) e The Exploit Database (2010). Pode-se utilizar a ferramenta de busca dos sites com informações de vulnerabilidades encontradas nas etapas anteriores para verificação de um programa que a explora (WILHELM, 2010). Antes de explorar uma vulnerabilidade no alvo aconselha-se que esta seja testada em um sistema de testes, pois é possível que ocorra problemas com o exploit (programa que explora uma vulnerabilidade) comprometendo as informações de um sistema. Propõe-se também analisar o código do programa para maior compreensão (WILHELM, 2010). Em um ataque um hacker sempre tenta manter-se anônimo, evitando a detecção através de técnicas especificas para burlar as ferramentas que são utilizadas para detectá-los. Compreendendo que muitos objetivos e táticas usadas por intrusos devem ser incluídas em um projeto de pentesting evitar a detecção é altamente recomendável para um pentester (TILLER, 2005). Existem diversas ferramentas que podem automatizar uma exploração como Metasploit (2010) que contêm mais de 500 exploits além de 260 módulos auxiliares. Por ser software livre a ferramenta tem grande possibilidade de ser utilizada para cumprir com o objetivo deste projeto. 41

43 Outras ferramentas estudadas são de um custo elevado e por tanto não serão estudadas e aplicadas ao roteiro proposto. Para explorar vulnerabilidades na web existem vários métodos, como a injeção de códigos SQL (do inglês, SQL Injection), Cross-site Scripting (também conhecido por XSS), entre outras. No SQL Injection o atacante executa comandos de banco de dados explorando uma validação insuficiente do fluxo de dados do usuário para o banco de dados. No XSS o atacante executa código malicioso no computador da vitima aproveitando-se da validação insuficiente de códigos que retornam HTML (KIEYZUN, et al., 2009). Ambos os ataques acontecem por vulnerabilidades na validação de códigos escritos por programadores. Como já descrito anteriormente, se um atacante obtêm acesso a um banco de dados pode modificar informações para que consiga novamente este acesso a outro momento, pode comprometer os negócios de uma empresa, conseguir dados de um cliente, entre outros. O custo pode ser muito alto. Ao obter sucesso em um ataque, o acesso ao sistema invadido pode ter sido mantido com usuários que não tem privilégio para executar diversas funções administrativas. A próxima fase é passar de uma invasão para o comprometimento total do sistema, obtendo acesso privilegiado Obter acesso privilegiado Se um atacante consegue acesso a um sistema, mesmo que limitado, pode ser capaz de explorar vulnerabilidades que são acessíveis somente com um usuário autenticado, as defesas externas são muito maiores quanto às internas (WILHELM, 2010). Se for possível ganhar qualquer acesso ao sistema, mesmo com o nível de privilégios reduzidos, fica visível o que a capacidade de comprometer um sistema é muito maior. Ao conseguir acesso ao sistema através de um exploit, o atacante já está habilitado a buscar diversas informações que podem ser sigilosas como dados financeiros, estratégias de negócio, informações de configurações, registros pessoais, etc.. Se um pentester chegar a esta fase, pode-se considerar o sucesso do teste de penetração (WILHELM, 2010). Em um sistema invadido, também é possível o conseguir mais informações sobre o sistema, como versões de serviços que não foram encontradas nas etapas anteriores que podem conter uma vulnerabilidade (WILHELM, 2010). Conhecidos como Local Exploits e Exploits para 42

44 escalonamento de privilégios (do inglês, Privilege Escalation Exploit) os programas utilizados após conseguir acesso a máquina e que exploraram uma vulnerabilidade para conseguir acesso privilegiado ao sistema (KLEVINSKY, LALIBERTE e GUPTA, 2002). Utilizando o sistema, um atacante tem acesso a arquivos que contem usuários e senhas. Em sistemas Unix o arquivo /etc/shadow contém as credenciais de usuários criptografadas. Um atacante pode utilizar um programa para quebrar a criptografia das senhas, como John The Ripper (2010). Para conseguir credenciais é possível também a utilização de um monitor e analisador de tráfego (conhecidos por, sniffers) para capturar requisições que possam ter usuários e senhas (KLEVINSKY, LALIBERTE e GUPTA, 2002). Um exemplo é Wireshark (2010). Ao conseguir o acesso privilegiado o atacante tem a capacidade de utilizar o sistema com um usuário com ações administrativas, podendo ler, escrever e executar operações que podem comprometer as informações. É possível também, a instalação de ferramentas para manter acesso ao sistema para um posterior retorno ao ambiente comprometido Manter acesso Se o sistema comprometido é reiniciado ou perder a conectividade com a internet, o acesso remoto é perdido. Repetir toda a fase de exploração de uma vulnerabilidade pode custar tempo, e um atacante provavelmente não gostaria de refazer esta etapa e correr o risco de ser detectado (WILHELM, 2010). A maioria das invasões começa utilizando a exploração de uma vulnerabilidade para conseguir acesso privilegiado e instalar um backdoor (em português, porta dos fundos ) para o atacante poder retornar com muito mais facilidade e sem ser detectado (TILLER, 2005). O uso de backdoors é comum em um teste de penetração e em uma invasão. Muitas vezes existe a necessidade de encontrar maneiras para contornar os obstáculos de defesa como firewalls ou listas de controles de acesso. Um backdoor pode passar por todos esses métodos de defesa, mantendo o alvo comprometido (WILHELM, 2010). É possível a configuração para que um programa, como Netcat (2010), fique aguardando por uma conexão e, quando esta é feita, abra um terminal de linha de comando (conhecido por Shell). Porém a maioria faz a utilização de uma configuração que faz com que o sistema comprometido 43

45 inicie uma conexão com o computador do atacante ou do pentester, esta técnica é conhecida por Reverse Shell (WILHELM, 2010). Porém isto pode ser detectado por um IDS. Para driblar a detecção por um possível IDS, pode ser feita a configuração de um túnel criptografado, como demonstra a Figura 8. O Secure Shell (abreviadamente, SSH), comum em sistemas Unix, é um protocolo que utiliza criptografia para acesso a computadores remotos, permitindo execução de comandos, transferência de arquivos, entre outros (CERT, 2006). Figura 8. Tunel SSH sem detecção de mecanismos de defesa Fonte: Adaptado de Wilhelm (2010). O túnel SSH permite que seja transferido, para o computador comprometido, malwares e outros exploits sem ser detectado, pois todo o tráfego entre o sistema de ataque e a vitima é criptografado (WILHELM, 2010). Existem diversas opções além do SSH de tuneis criptografados, como Cryptcat (2010) e Proxytunnel (2010). A utilização de rootkits também é feita por atacantes. Rootkits são programas que contém uma coleção de ferramentas para ataques. Algoritmos e bases de dados com conhecimentos sobre os métodos e mecanismos de ataques totalmente automatizados. Com seu uso é possível conseguir acesso privilegiado, a instalação de vários pacotes desde backdoors até programas que protegem o sistema contra outros atacantes (KÜHNHAUSER, 2004). Para explorar com sucesso um sistema completamente, precisamos ser discretos e evitar a detecção. Nesta fase já foram ultrapassados os mecanismos de defesa, o próximo desafio é não deixar que um administrador de sistemas detecte a presença no sistema comprometido (WILHELM, 2010). 44

46 2.3.6 Limpar as evidências Em um teste de penetração normalmente não é feita a esta etapa, porém os atacantes que comprometem um sistema e pretendem voltar posteriormente podem utilizar técnicas para cobrir os rastros de sua presença, um pentesting pode realizar esta etapa pretendendo verificar até que ponto o hacker consegue chegar (WILHELM, 2010). Os administradores de redes podem examinar arquivos de logs, instalar aplicativos para analisar a presença de malwares, configurar programas para monitoração do fluxo de dados ou verificar os processos buscando alguma anomalia em seus sistemas (WILHELM, 2010). Existem dois tipos de logs, os gerados pelo sistema e os gerados por aplicações, porem servem para os dois as mesmas possibilidades. As duas possibilidades para cobrir rastros de logs são apagar ou editar. Se for apagado, é certo que não terá registros de atividades no sistema, porém um administrador de redes ainda pode suspeitar. A utilização de logs também é para verificação do status do sistema ou de uma aplicação, e um log faltante é uma atividade anômala no sistema. Deixando assim a suspeita da presença (WILHELM, 2010). Já se a opção for editar os logs, é possível alterar os arquivos que contem os rastros. Uma vez que já existe o acesso privilegiado ao sistema, há a capacidade de modificação de qualquer arquivo. Com isto pode-se esconder a presença e a atividade, se assumir que todos os dados necessários foram modificados (WILHELM, 2010). Também há a possibilidade de ocultar os arquivos modificados, como por exemplo, o de configuração do túnel SSH. Alterando o nome ou o diretório pode não evitar a detecção, mas atrasála (WILHELM, 2010). Uma análise forense também pode ser feita posteriormente e assim detectada a invasão, porém foge do escopo desta revisão bibliográfica abranger técnicas anti-forense. 45

47 3 PROJETO A fundamentação teórica sobre os conceitos segurança de informações e pentesting proporcionou a identificação dos objetivos de um intruso ao invadir um sistema e de como é possível utilizar técnicas para reconhecer uma vulnerabilidade antes que seja explorada. Nesta etapa deste objeto de pesquisa, foram definidas as diretivas do roteiro para realização de um teste de penetração em cenários turn-keys. Portanto, conforme abordado na seção 2.3, um pentesting fornece técnicas e ferramentas para reconhecer vulnerabilidades antes que um intruso mal intencionado explore-a e comprometa as informações. Sendo assim, este projeto de pesquisa aplica os conceitos estudados estabelecendo um roteiro para executar um teste de penetração. Os resultados foram analisados e documentados para publicação em forma de um artigo cientifico. 3.1 Cenários Turn-keys Os cenários turn-keys são conhecidos por coleções de pacotes que estão prontos para uso. Com o surgimento destes cenários é possível aprender as técnicas de pentesting com maior segurança sem correr o risco de comprometer informações de sistemas e infra-estruturas reais. A maioria dos cenários foca em um aspecto particular de um pentest, como ataques baseados na web, ataques a sistemas operacionais Linux, ataques que exploram vulnerabilidades de aplicações e configurações entre outros. Sendo assim serão utilizados diferentes cenários para aplicação do roteiro. Foram encontrados cinco cenários disponíveis: Damn Vulnerable Linux (2010): distribuição Linux com diversas vulnerabilidades do sistema operacional; WebGoat (2010): aplicação web J2EE com vulnerabilidades de aplicações web; De-ICE.net (2010) PenTest Project: diversos LiveCDs com simulação de servidores com vulnerabilidades em aplicações e configurações; pwnos (2008): várias vulnerabilidades de aplicações e sistema operacional; e

48 Hackerdemia (2007): vulnerabilidades de aplicações, configurações e web. Vários dos projetos foram descontinuados, mas ainda é possível utilizar as técnicas de pentesting nos cenários. A execução do roteiro terá prioridade para cenários turn-keys atualizados. Abaixo são demonstradas algumas imagens dos cenários encontrados, como o Damn Vulnerable Linux (2010). Figura 9. Damn Vulnerable Linux Fonte: Damn Vulnerable Linux (2010) A Figura 9 representa a interface do cenário turn-key Damn Vulnerable Linux (2010). Uma distribuição Linux modificada para estudos de testes de penetração. Contem várias vulnerabilidades, especialmente do sistema operacional Linux e seus aplicativos. A Figura 10 demonstra uma etapa de exploração de vulnerabilidades da web no cenário turn-key WebGoat (2010). O cenário provê o uso de SQL Injection, XSS entre outras técnicas em aplicações vulneráveis. 47

49 Figura 10. WebGoat vulnerabilidades web Fonte: WebGoat (2010) O WebGoat é apresentado em forma de lições baseadas em níveis de dificuldade. Conforme é obtido sucesso em uma lição, as técnicas começam a ficar mais complexas. O objetivo do cenário é demonstrar as vulnerabilidades que podem conter em uma aplicação web, que normalmente é explorada através da não validação do código de programação. O cenário De-ICE.net (2010) contêm diferentes níveis de vulnerabilidades. São diferentes LiveCDs divididos entre Nível 1 e Nível 2, onde a cada nível a dificuldade para encontrar formas de obter acesso privilegiado aumenta. O cenário PnwOS (2008) foi desenvolvido para começar os desafios desde a ativação do sistema seu principal demonstrativo é obter acesso privilegiado ao sistema. 48

50 Figura 11. PnwOS iniciado Baseado na distribuição Linux Ubuntu (2010), o cenário faz com que as habilidades sejam testadas desde o inicio, como demonstrado na Figura 11, onde não é disponibilizado usuário e senha para autenticação no sistema. O projeto Hackerdemia é uma modificação da distribuição Linux Slax (2010) que através de lições o usuário vai desenvolvendo habilidades em pentesting com vulnerabilidades em aplicações do sistema Linux. Figura 12. Projeto Hackerdemia 49

51 Como demonstrado na Figura 12, o Hackerdemia oferece uma interface para utilização do cenário onde encontra-se tutoriais para configuração, algumas informações sobre o projeto e as lições sobre pentesting. Diferentes cenários foram utilizados, com diferentes vulnerabilidades. Com o uso de cenários variados também é possivel compreender a utilização de pentesting para encontrar falhas em aplicações locais, em vulnerabilidades da web e de más configurações. O objetivo é explorar o máximo de vulnerabilidades disponiveis em cada cenário, podendo compreender o comportamento, como o ataque é feito e formas de prevenção. Os cenários escolhidos para realizar os testes foram: pwnos; De-ICE.net (2010) PenTest Project Nível 1; e De-ICE.net (2010) PenTest Project Nível 2. As escolhas foram baseadas em cenários que propunham um desafio para invasão. Os demais cenários, citados anteriormente, proviam diversas informações de como realizar o pentesting em forma de tutoriais, diferente dos cenários escolhidos onde somente disponibilizavam a inicialização do sistema operacional e após eram requisitados os dados para autenticação. Com essa caracteristica, os três cenários escolhidos simulavam verdadeiramente os ambientes em que hackers tentam comprometer as informações. 3.2 Ambiente de execução A execução do roteiro ocorreu utilizando recursos próprios. A instalação de cenários foi realizada em máquinas virtuais utilizando VMware Workstation (2010), como demonstrado no diagrama da Figura

52 Figura 13. Laboratório de Testes Fonte: o autor (2010). Como demonstrado na Figura 13, o ambiente virtual é composto por uma máquina para ser alvo e outra para simular o pentester. Na máquina alvo estavam ativos os cenários turn-keys. Na máquina pentester estava ativo o sistema operacional Backtrack Linux (2010), como mostra na Figura 14, que contêm diversas ferramentas para realizar um pentesting. Por questões de desempenho, algumas ações foram realizadas fora do ambiente virtual. 51

53 Figura 14. Backtrack Linux com a ferramenta Metasploit O Backtrack (2010) é uma distribuição Linux modificada para utilização em testes de penetração. O pentester tem a sua disposição diversas ferramentas. Como demonstrado na Figura 14 a ferramenta Metasploit (2010). Seu uso será feito pela vasta quantidade de opções e de documentação do projeto. Para obter um melhor desempenho, os testes serão realizados utilizando um cenário turn-key por pentesting. Após recolhimento de dados para análise será utilizada outra máquina virtual com um cenário diferente. 3.3 Roteiro de Pentesting Conforme abordado na Seção 2.4, existem algumas etapas para realização de um projeto de pentesting como o reconhecimento, que pretende recolher informações sem ter contato com o alvo. Entretanto, como o roteiro proposto será executado em cenários prontos para exploração de vulnerabilidades, algumas etapas não serão abordadas, mas o uso na execução de um pentesting é essencial. 52

54 Foram definidas para o roteiro as seguintes etapas: Identificação de vulnerabilidades: serão utilizadas ferramentas para varreduras de porta, identificação de serviços ativos e sistema operacional, entre outros e realizada uma busca em sites para encontrar vulnerabilidades com as informações adquiridas; Verificação e exploração das vulnerabilidades: verificar se as vulnerabilidades são reais buscando seus exploits e realizar os ataques; e Obter acesso privilegiado: utilizar o acesso ao sistema para tentativa de escalonamento de privilégio. Com essas etapas pretende-se compreender como os testes de penetração se comportam nos cenários propostos para posterior análise e documentação além da geração de um roteiro com comandos, ferramentas e técnicas para realizar um pentesting. 4 DESENVOLVIMENTO DO ROTEIRO DE TESTES DE PENETRAÇÃO A partir das diretivas descritas na Seção 3, os testes de penetração foram realizados nos cenários turn-keys e documentados. Conforme análise dos resultados foi possível gerar um fluxograma a partir dos comandos, aplicativos utilizados e decisões tomadas. Também foi gerado um roteiro genérico baseado nos testes realizados. Cada pentesting tem suas diferenças se baseando nas características próprias de cada ambiente, porém alguns comandos e decisões são semelhantes. Com essas semelhanças pode-se partir do principio que para cumprir as etapas do teste é possível utilizar aplicativos e decisões similares. 4.1 Fluxograma do Roteiro proposto O fluxograma passa pelas etapas de pentesting sugeridas para gerar os roteiros. Cada decisão reflete em uma ação ou contramedida que o pentester pode utilizar para cumprir seus objetivos. O fluxograma é demonstrado na Figura

55 Identificação de Vulnerabilidades Busca-se informações que possam ser utilizadas para explorar falhas, como nomes de usuários, s, etc. Varredura de portas de um IP específico Verificação de serviços (HTTP, FTP..) Dados para próxima etapa Varredura de portas em uma rede Análise de vulnerabilidades Vulnerabilidades Identificadas? Sim Dados para próxima etapa Verificação e exploração de Vulnerabilidades Obter acesso privilegiado ao sistema Uso de Exploits públicos, ferramentas de pentesting Exploits públicos (Privilege escalonation, Root Local Exploit) Sim Obtêm-se acesso remoto? Sim Acesso Remoto obtido Recolhe Informações do Sistema Sim Verificação de Vulnerabilidades Vulnerabilidades são exploráveis? Não Sim Utilização de aplicativos quebradores de senha Informações capazes de obter acesso privilegiado? Sim Acesso privilegiado ao sistema Não Suscetível a força bruta? Não Sim Vulnerabilidade explorada? Repositórios de Exploits Vulnerável para escalonação de privilégio? Não Sim Identificação de Vulnerabilidades capazes de obter acesso privilegiado ao sistema Não Força bruta Não Máquina não vulnerável Não Utilização de aplicativos quebradores de senha ou alterações de configurações Figura 15. Fluxograma do roteiro 54

56 O fluxograma mostrado na Figura 15 demonstra o processo seguido para chegar até o objetivo de acesso privilegiado ao sistema. Nas anotações, são demonstradas dicas de técnicas e ferramentas utilizadas durante o pentesting. Com este fluxograma pretende-se exemplificar o caminho percorrido por um hacker ao conseguir comprometer um sistema. Percebe-se que ao não conseguir explorar uma vulnerabilidade é possível realizar ataques de força bruta para cumprir ao objetivo. Como já descrito, os ataques de força bruta requerem um grande desempenho computacional para se tornarem viáveis, porém esses ataques podem causar uma sobrecarga ao alvo o que para um administrador de sistemas pode indicar a tentativa de ataque. 4.2 Roteiro de Teste de Penetração O roteiro demonstrado é o resultado da análise das técnicas e ferramentas utilizadas para conseguir acesso privilegiado aos cenários turn-keys. Dentro deste roteiro encontram-se os comandos, técnicas e decisões tomadas durante os testes de penetração realizados. Para fins didáticos, o roteiro foi dividido entre as etapas selecionadas na Seção Identificação de vulnerabilidades O princípio desta etapa é reconhecer os possíveis alvos e possíveis vulnerabilidades que estes possuem para poder moldar a exploração das vulnerabilidades. Com o NMap (2010), é possível realizar uma varredura de portas básica em redes de computadores para encontrar máquinas ativas. Para realizar a ação basta passar como parâmetro para o aplicativo a faixa de IPs desejada, como o exemplo demonstrado na Figura 16, onde se realiza uma varredura em IPs classe C que vão até Figura 16. Varredura em faixa de IPs O NMap (2010) também aceita a notação CIDR definida pela RFC-1467(2010), como demonstrando na Figura

57 Figura 17. Exemplo varredura com CIDR. A partir dos resultados trazidos pelo NMap, presume-se os possíveis alvos a partir da quantidade de serviços disponibilizados, realizando uma varredura mais específica as máquinas ativas. Para obter resultados concretos, propõe-se também a utilização do Nessus (2010). O NMap possui vários parâmetros que aumentam a credibilidade das informações retornadas após execução. Para identificar serviços e portas abertas a conexões, neste roteiro foram utilizadas somente as opções -ss e -sv, porém para um teste mais profundo, recomenda-se o uso de mais opções. A Figura 18 demonstra como exemplo, o comando utilizado direcionado a um IP aleatório. Figura 18. Varredura específica em IP A utilização do Nessus faz com que sejam descobertas informações mais detalhadas do alvo. Configurando a varredura direcionada a um IP ou faixa de IP, as vulnerabilidades encontradas são cruzadas com o banco de dados do aplicativo trazendo detalhes da vulnerabilidade como seu código CVE (2010), se esta tem um exploit público para exploração, entre outras. O Nessus disponibiliza uma interface web para configuração e execução das varreduras. É necessário criar uma política da varredura, onde se informam o endereço do alvo, os possíveis tipos de vulnerabilidades que deseja checar, possíveis credenciais de autenticação em serviços, entre outras informações que o aplicativo pode utilizar para obter os dados desejados. 56

58 Figura 19. Configuração plugins Nessus A Figura 19 demonstra a seleção de possíveis vulnerabilidades que o Nessus pode cruzar com seu banco de dados. Selecionar possíveis opções faz com que o teste seja mais específico, além de custar menos tempo para retornar as informações desejadas. Figura 20. Relatório de varredura do Nessus Ao executar a varredura, o aplicativo mostra um relatório dos dados encontrados demonstrado na Figura 20. Este relatório dinâmico faz com que seja possível checar detalhadamente 57

59 cada vulnerabilidade encontrada. As vulnerabilidades são divididas em níveis de risco Alto, Médio e Baixo. Após levantar as informações, fazem-se as verificações básicas para os serviços ativos como, por exemplo, servidores web na porta 80 e servidores FTP na porta 21, onde é possível interagir com informações publicas da forma que qualquer usuário poderia estar acessando. A partir das informações levantadas, é necessário verificar as possíveis vulnerabilidades encontradas, procurando por exploits e diferentes formas para explorá-las Verificação e exploração das vulnerabilidades Com as informações recolhidas anteriormente verifica-se em base de dados de exploits, sites de vulnerabilidades como, por exemplo, CVE (2010) e em ferramentas como Metasploit (2010) se as possíveis falhas são suscetíveis a ataques que possam retornar em acesso ao servidor remoto. Os sites Exploit-DB (2010) e Inj3ct0r (2010), listam em suas páginas principais os novos e mais utilizados exploits disponibilizados por usuários cadastrados nos sites. Ambos contam com um módulo de busca onde é possível realizar filtros por termos como, por exemplo, versões de serviços encontrados na primeira etapa do roteiro. Um exemplo de busca nos sites é demonstrado na Figura 21 e Figura 22. Com a busca na internet já se pode verificar a veracidade de uma vulnerabilidade e encontrar códigos ou formas de explorá-las para conseguir acesso remoto ao alvo. A maioria dos exploits contidos em bancos de dados online são escritos em linguagens de alto nível, onde pode ser necessário compilá-los ou utilizar um interpretador instalado no sistema operacional para executálos. Alguns exploits podem servir somente para ter acesso ao conteúdo de arquivos do sistema operacional que podem servir para conseguir acesso remoto, como por exemplo, o exploit do serviço Webmin utilizado na invasão demonstrada no Apêndice A Seção A2. 58

60 Figura 21. Módulo de busca do Exploit-DB (2010) Figura 22. Módulo de busca do Inj3ct0r (2010) 59

61 Caso nenhum exploit retorne o objetivo de acesso remoto ao sistema, ainda existe a possibilidade de realizar ataques de força bruta contra o alvo. Este ataque custa tempo e recursos computacionais. Além do risco de causar uma sobrecarga no servidor remoto, pois faz diversas tentativas, de credenciais de autenticação, por exemplo, para obter acesso. A maioria dos ataques de força bruta são baseados em arquivos de dicionários que contem diversas possíveis senhas e normalmente, quando se desconhece os usuários do sistema, em usuários padrões como root, ou possíveis usuários comuns de utilização por serviços como, por exemplo, www em um servidor web. Através do Metasploit (2010), que contem diversos exploits em seu banco de dados, é possível fazer uma busca por termos encontrados anteriormente e encontrar módulos auxiliares, payloads e exploits que quando utilizados exploram vulnerabilidades. A busca retorna de forma simples seus resultados, como demonstrado na Figura 23. Figura 23. Busca de exploit no Metasploit Cada exploit do Metasploit possui algumas variáveis a serem configuradas, como por exemplo, em exploits que buscam explorar falhas em computadores remotos é necessário configurar uma variável RHOST que conterá o endereço IP do host remoto. Após fazer estas configurações é executado o comando para ativar o módulo. 60

62 Se não forem encontrados exploits capazes de explorar vulnerabilidades, é possível utilizar diversos outros meios. Como demonstrado no roteiro de invasão no Apêndice C, Seção C3, foram utilizadas as técnicas de Fuzzing, utilizando aplicativos que testavam configurações nas páginas disponíveis pelo servidor web Apache, conseguindo informações para obter acesso remoto. Dependendo das informações recolhidas o pentester deverá tomar a decisão das técnicas que irá utilizar. Caso nenhuma das técnicas utilizadas resulte em informações para cumprir o objetivo da etapa, é possível utilizar os ataques de força bruta. Aplicativos como Hydra (2010) e John The Ripper (2010) usam algoritmos para descobrir senhas fracas ou quebrar a criptografia, conseguindo assim credenciais de acesso de usuários Obter acesso privilegiado Ao conseguir o acesso não privilegiado ao sistema, o pentester deve iniciar a busca de informações dentro do sistema. Dados como usuários, grupos e configurações de serviços podem conter informações que possam resultar numa vulnerabilidade para aumentar os níveis de privilegio do usuário. Nos sites de bancos de dados de vulnerabilidades, encontram-se os exploits conhecidos por Local Privilege Escalonation e Local Root Exploit que fazem o uso de falhas para elevar privilégios de um usuário para o modo administrativo do sistema. Como demonstrado na Figura 24 e Figura 25, uma busca nos sites com banco de dados de exploits retornam diversos scripts capazes de obter acesso privilegiado. Basta cruzar as informações recolhidas do sistema com os resultados para encontrar um exploit para explorar a falha. 61

63 Figura 24. Exploit-DB (2010) busca por exploits para escalonamento de privilégios 62

64 Figura 25. Inj3ct0r (2010) busca por "Local Root Exploit" Verificando diversos diretórios do sistema, pode ser possível encontrar informações capazes de informar a senha de acesso ao usuário administrativo. Outra forma é alterando arquivos de configurações para fazer com que as senhas obtidas de usuários não privilegiados se tornem a senha do usuário administrativo, como realizado na invasão do cenário turn-key em Apêndice C Seção C3. Os ataques de força bruta podem ser feitos baseados em arquivos de configurações como /etc/shadow nos sistemas baseados em Unix. Como realizado no roteiro descrito em Apêndice B Seção B3, foi utilizado o conteúdo do arquivo /etc/shadow, o aplicativo John The Ripper (2010) e um arquivo wordlist para quebrar a senha do usuário root. Dependendo de cada informação obtida, o pentester pode utilizar diferentes técnicas para conseguir acesso privilegiado ao sistema, deixando-o sem limites para executar ações no sistema operacional. 63

65 5 CONCLUSÕES A realização de um projeto na área de segurança de informações partiu do interesse pela área do autor. O objetivo inicial era aprender mais sobre a área e obter experiências para especialização após a conclusão do curso. A revisão bibliográfica da área de segurança de informações foi de extrema importância e satisfação. Foi possível estudar os conceitos envolvidos e brevemente o comportamento dos indivíduos a qual a informação deve ser mantida segura, compreender as formas de ataques utilizadas para comprometimento de informações e algumas formas de prevenção. A obtenção de dados estatísticos mostrou o que já era previsto. Cada vez mais as informações estão disponíveis de formas mais sofisticadas e indivíduos de má índole tentarão obter acesso não autorizado com a evolução de seus métodos de ataques. Como visto, os atacantes podem até utilizar o fator humano da confiança para chegar a seus objetivos. A necessidade de profissionais capazes de conter esses fatos é totalmente visível. A proposta inicial deste projeto era propor uma metodologia para testes de penetração, entretanto, com a revisão bibliográfica pode-se compreender que o pentesting deve ser aplicado como um projeto dentro de uma organização, tendo várias etapas complexas até chegar à exploração de vulnerabilidades. Partindo deste pressuposto, resolveu-se propor um roteiro para execução de exploração de vulnerabilidades em cenários pré-programados, oferecendo fins didáticos práticos para este objeto de pesquisa. É esperado que ao ler este projeto, seja possível para um interessado como o autor, compreender os conceitos de segurança de informações e o quanto seu estudo é necessário. O leitor ainda entenderá o conceito de pentesting, para analisar as infra-estruturas e sistemas computacionais em busca de vulnerabilidades antes que um hacker mal intencionado comprometa as informações transmitidas. Com as técnicas, comandos e ferramentas utilizados nos roteiros baseados em cenários turnkeys, é possível compreender como um teste de penetração se comporta em ambientes computacionais de forma segura sem comprometer informações de sistemas reais. Além da segurança, analisando os dados gerados e reproduzindo os roteiros, espera-se que o leitor seja 64

66 capaz, de forma didática, aprender como realizar um pentesting e o quanto esta técnica pode colaborar com a segurança de uma infra-estrutura tecnológica. Como sugestão de trabalhos futuros, o roteiro gerado permite a criação de um software que seja capaz de ensinar a executar um teste de penetração e conhecer as ações que um hacker mal intencionado executaria para comprometer as informações. Em forma de tutorial, o usuário passa pelas etapas do pentesting conforme obtêm as informações necessárias, propondo um desafio de chegar ao objetivo final. É possível utilizar o roteiro para testar ambientes reais. Dessa forma, administradores de redes podem utilizá-lo para testar as infra-estruturas tecnológicas buscando por falhas que possam ser exploradas por um atacante. A técnica de pentesting, aplicada aos conceitos de segurança de informações, torna um ambiente de tecnologia mais seguro, podendo suportar ataques identificados antes que as informações sejam ameaçadas por um hacker mal intencionado. 65

67 REFERÊNCIAS BIBLIOGRÁFICAS AMAN, J. R. Black Hat/White Hat: an aggressive approach to the graduate computer security course. Journal of Computing Sciences in Colleges, Chicago, v. 22, p , dez ISSN APACHE. apache.org incident report for 04/09/2010. Apache Infrastructure Team Disponivel em: <https://blogs.apache.org/infra/entry/apache_org_04_09_2010>. Acesso em: 27 maio ARCHIVE.ORG. Internet Archive Disponivel em: <http://www.archive.org/>. Acesso em: 30 maio BACKTRACK. Backtrack Linux Disponivel em: <http:// Acesso em: 30 maio BASH. GNU BASH Disponivel em: < Acesso em: 28 set BESTUZHEV, D. Brazil: a country rich in banking Trojans. Securelist. 16 Oct Disponivel em: <http://www.securelist.com/en/analysis?pubid= >. Acesso em: 27 maio BISHOP, M. Computer security: art and science. Boston: Pearson Addison Wesley, p. ISBN BISHOP, M. What is computer security? IEEE Security & Privacy, Davis, Jan BISHOP, M. About Penetration Testing. IEEE Security and Privacy, Davis, v. 5, n. 6, p , Nov./Dez ISSN /MSP BORTOLUZZI, F. Aplicação da análise de causa raiz em sistemas de detecção de intrusões f. Dissertação (Mestrado em Ciência da Computação) Universidade Federal de Santa Catarina, Florianópolis, BRADEN, J. Penetration Testing - Is it right for you? SANS InfoSec Reading Room Disponivel em: <http://www.sans.org/reading_room/whitepapers/testing/penetration-testingyou_265>. Acesso em: 27 maio CERT. Cartilha de Segurança - Glossário. Centro de estudos, resposta e tratamento de incidentes de segurança no Brasil Disponivel em: <http://cartilha.cert.br/glossario/>. Acesso em: 23 maio CERT.BR. Centro de estudos, resposta e tratamento de incidentes de segurança no Brasil Disponivel em: <http://www.cert.br/stats/incidentes/>. Acesso em: 24 fev CHESWICK, W. R. Firewalls e segurança na internet: repelindo o hacker ardiloso. 2. ed. Porto Alegre: Bookman, ISBN

68 COMPUTERWORLD. Gmail, Yahoo Mail join Hotmail; passwords exposed. Computerworld, Disponivel em: <http://www.computerworld.com/s/article/ /gmail_yahoo_mail_join_hotmail_passwords_ exposed>. Acesso em: 27 maio CRYPTCAT. Cryptcat Project Disponivel em: <http://cryptcat.sourceforge.net/>. Acesso em: 31 maio CSI. 14th Annual CSI Computer Crime and Security Survey. Computer Security Institute. Nova York, p CVE. Common Vulnerabilities and Exposures Disponivel em: <http://cve.mitre.org/index.html/>. Acesso em: 12 out CVE CVE Disponivel em: <http://cve.mitre.org/cgibin/cvename.cgi?name=cve >. Acesso em: 12 out DAMN Vulnerable Linux. Damn Vulnerable Linux Disponivel em: <http://www.damnvulnerablelinux.org/>. Acesso em: 29 maio DANHIEUX, P.; WOUTER, C. Penetration Testing: The Third Party Hacker. SANS Institute InfoSec Reading Room Disponivel em: <http://www.sans.org/reading_room/whitepapers/testing/penetration-testing-third-partyhacker_264>. Acesso em: 27 maio DE-ICE.NET. De-ICE.net PenTest Project Disponivel em: <http://heorot.net/livecds>. Acesso em: 29 maio DONALDSON, M. E. Inside the buffer overflow attack: mechanism, method and prevention. InfoSec Reading Room, 3 abr Disponivel em: <http://www.sans.org/reading_room/whitepapers/securecode/buffer-overflow-attack-mechanismmethod-prevention_386>. Acesso em: 18 maio DSA DSA openssl -- predictable random number generator Disponivel em: < Acesso em: 30 out GOODIN, D. US websites buckle under sustained DDoS attacks. The Register, Disponivel em: <http://www.theregister.co.uk/2009/07/08/federal_websites_ddosed/>. Acesso em: 27 maio HACKERDEMIA. Hackerdemia Disponivel em: <http://forums.heorot.net/viewtopic.php?f=42&t=203>. Acesso em: 29 maio HYDRA. THC-Hydra Disponivel em: < Acesso em: 29 out INJ3CT0R. Inj3ct0r - exploit database : vulnerability : 0day : shellcode Disponivel em: <http://inj3ct0r.com/>. Acesso em: 29 out

69 ISO. ABNT NBR ISO/IEC 17799: 2005: código de prática para a gestão da segurança da informação. 2. ed. Rio de Janeiro: ABNT - Associação Brasileira de Normas Técnicas, p. JBROFUZZ. JBroFuzz, Disponivel em: <http://sourceforge.net/projects/jbrofuzz/>. Acesso em: 30 out JOHN the Ripper. John the Ripper password cracker, Disponivel em: <http://www.openwall.com/john/>. Acesso em: 31 maio KEE, J. Social Engineering: Manipulating the source. InfoSec Reading Room, 28 Abr Disponivel em: <http://www.sans.org/reading_room/whitepapers/engineering/social-engineeringmanipulating-source_32914>. Acesso em: 23 maio KEMMERER, R. A. Designing and implementing a family of intrusion detection systems. Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, Long Beach, 11 nov KIEYZUN, A. et al. Automatic creation of SQL Injection and cross-site scripting attacks. Proceedings of the 31st International Conference on Software Engineering, Vancouver, maio KLEVINSKY, T. J.; LALIBERTE, S.; GUPTA, A. Hack I.T.: security through penetration testing. 1. ed. Indianapolis: Addison Wesley, v. 1, ISBN KRAZIT, T. DDoS attack hobbles major sites, including Amazon. CNET news Disponivel em: <http://news.cnet.com/ _ html>. Acesso em: 27 maio KÜHNHAUSER, W. E. Root Kits: an operating systems viewpoint. ACM SIGOPS Operating Systems Review, New York, v. 38, p , jan ISSN LAFRANCE, Y. Psychology: A Precious Security Tool. SANS InfoSec Reading Room, 9 jun Disponivel em: <http://www.sans.org/reading_room/whitepapers/engineering/psychologyprecious-security-tool_1409>. Acesso em: 23 maio LANDWEHR, C. E. Computer security. International Journal of Information, McLean, v. 1, 27 jul LEE, W.; STOLFO, S. J. A framework for constructing features and models for intrusion detection systems. ACM Transactions on Information and System Security (TISSEC), New York, v. 3, n. 4, p , nov ISSN LEHTINEN, R. Computer Security Basics. 2. ed. Sebastopol: O'Reilly Media, Inc., p. ISBN LEVINE, D. E.; KESSLER, G. C. Denial of service attacks. In: VACCA, J. R. (Org). Computer and Information Security Handbook. Burlington: Elsevier, Inc., ISBN

70 MCAFEE. Previsões sobre ameaças em McAfee Labs Disponivel em: <http://www.mcafee.com/us/local_content/reports/7985rpt_labs_threat-predict_0110_ptbr_fnl_lores.pdf>. Acesso em: 17 maio MCHUGH, J.; CHRISTIE, A.; ALLEN, J. Defending yourself: the role of intrusion detection systems. IEEE Software, v. 17, n. 5, p , set./out MEHMUD, A.; ZNATI, T. A Guided Tour Puzzle for Denial of Service Prevention Annual Computer Security Applications Conference, Pittsburgh, dez METASPLOIT. Metasploit. Metasploit - penetration testing resources Disponivel em: <http://www.metasploit.com/>. Acesso em: 31 maio MITNICK, K. D. A Arte de Enganar: controlando o fator humano na Segurança da Informação. São Paulo: Pearson Education do Brasil, v. 1, ISBN NESSUS. Nessus: The Network Vulnerability Scanner Disponivel em: <http://www.nessus.org/nessus/>. Acesso em: 30 out NETCAT. The GNU Netcat project Disponivel em: <http://netcat.sourceforge.net/>. Acesso em: 31 maio NETCRAFT. January 2010 Web Server Survey. Netcraft Disponivel em: <http://news.netcraft.com/archives/2010/01/07/january_2010_web_server_survey.html>. Acesso em: 27 maio NEUBAUER, B. J.; HARRIS, J. D. Protection of computer systems from computer viruses: ethical and pratical issues. Journal of Computing Sciences in Colleges, Pittsburg, v. 18, n. 1, p , out ISSN NIKTO. Nikto Disponivel em: <http://cirt.net/nikto2/>. Acesso em: 30 out NMAP.ORG. Nmap Free Security Scanner For Network Exploration & Hacking, Disponivel em: <http://nmap.org/>. Acesso em: 30 maio NORTHCUTT, S. et al. Penetration testing: assessing your overall security before attackers do. SANS Institute - SANS Industry Analysts Program, Disponivel em: <http://www.sans.org/reading_room/analysts_program/penetrationtesting_june06.pdf>. Acesso em: 28 maio NVD-US. National Vulnerability Database US Disponivel em: <http://nvd.nist.gov/>. Acesso em: 31 maio PROXYTUNNEL. Proxytunnel Disponivel em: <http://proxytunnel.sourceforge.net/>. Acesso em: 31 Maio PWNOS. pwnos Disponivel em: <http://0dayclub.com/files/pwnos%20v1.0.zip>. Acesso em: 29 maio

71 REGISTRO.BR. Núcleo de Informação e Coordenação do Ponto br Disponivel em: <http://registro.br/cgi-bin/whois/>. Acesso em: 30 maio RFC RFC 1467: Status of CIDR Deployment in the Internet Disponivel em: < Acesso em: 30 out SALAH, K. et al. Resiliency of open-source firewalls against remote discovery of last-matching rules. Proceedings of the 2nd international conference on Security of information and networks, Famagusta, p , ISSN SANS. Top Cyber Security Risks. SANS Institute Disponivel em: <http://www.sans.org/top-cyber-security-risks/>. Acesso em: 18 maio SECTOOLS.ORG. Sectools.org Disponivel em: <http://sectools.org/app-scanners.html>. Acesso em: 31 maio SECURITYFOCUS. SecurityFocus Disponivel em: <http://www.securityfocus.com/>. Acesso em: 31 maio SLAX. Slax, Disponivel em: <http://www.slax.org/>. Acesso em: 3 jun STALLINGS, W. Criptografia e segurança de redes. Tradução de Daniel Vieira. 4. ed. São Paulo: Pearson Prentice Hall, ISBN STAMP, M. Information security: principles and practice. Hoboken: JohnWiley & Sons, p. ISBN SYMANTEC. Security Threat Report, Trends for Symantec Global Internet, Abr Disponivel em: <http://eval.symantec.com/mktginfo/enterprise/white_papers/bwhitepaper_internet_security_threat_report_xv_ en-us.pdf>. Acesso em: 22 maio THE Exploit Database. The Exploit Database Disponivel em: <http://www.exploitdb.com/>. Acesso em: 31 maio THORNBURGH, T. Social engineering: the "Dark Art". Proceedings of the 1st annual conference on Information security curriculum development, Kennesaw, 8 out TILLER, J. S. The ethical hack: a framework for business value penetration testing. Boca Raton: Auerbach Publications, ISBN X. TÓTH, E.; HORNÁK, Z.; TÓTH, G. Protection system against overload and distributed denial of service attacks Third International Conference on Dependability of Computer Systems DepCoS-RELCOMEX, Szklarska Poreba, 26 jun UBUNTU. Ubuntu Disponivel em: <http://www.ubuntu.com/>. Acesso em: 3 jun VMWARE Workstation. VMware Workstation Disponivel em: <http://www.vmware.com/products/workstation/>. Acesso em: 1 jun

72 WEBGOAT. WebGoat Disponivel em: <http://code.google.com/p/webgoat/>. Acesso em: 29 maio WILHELM, T. Professional penetration testing: creating and operating a formal hacking lab. Burlington: Syngress, v. 1, ISBN WILSON, Z. InfoSec Reading Room. SANS Institute Disponivel em: <http://www.sans.org/reading_room/whitepapers/hackers/hacking-basics_955>. Acesso em: 23 maio WIRESHARK. Wireshark Disponivel em: <http://www.wireshark.org/>. Acesso em: 31 maio XPROBE2. Xprobe Disponivel em: <http://xprobe.sourceforge.net/>. Acesso em: 31 maio ZWICKY, E. D. Building Internet firewalls. 2. ed. Sebastopol: O'Reilly & Associates, Inc., p. ISBN

73 GLOSSÁRIO Adobe Flash Player Adobe Reader Java SE LiveCDs Logs MAC Address Malwares Microsoft ActiveX Nslookup Payload Ping Quicktime traceroute Reprodutor de multimídia e aplicações Flash. Software que permite que o usuário visualize, navegue e imprima arquivos no formato PDF. Ferramenta para desenvolvimento para a plataforma Java. CD que contém um sistema operacional (GNU/Linux, BSD ou outro) que não precisa ser instalada no disco rígido do usuário uma vez que o sistema operacional completo é executado diretamente a partir do CD e da memória RAM Termo utilizado para descrever o processo de registro de eventos relevantes num sistema computacional. Esse registro pode ser utilizado para restabelecer o estado original de um sistema ou para que um administrador conheça o seu comportamento no passado. Um arquivo de log pode ser utilizado para auditoria e diagnóstico de problemas em sistemas computacionais. Endereço físico único de um dispositivo de interface de rede. Termo genérico que se refere a todos os tipos de programa que executam ações maliciosas em um computador. Exemplos de códigos maliciosos são os vírus, worms, bots, cavalos de tróia, rootkits, etc.. Conjunto de tecnologias (software) criado pela Microsoft para facilitar a integração entre diversas aplicações. Ferramenta, comum ao Windows e ao Linux, utilizada para se obter informações sobre registros de DNS de um determinado domínio, host ou IP. Módulos de payloads contem shellcodes que podem executar um grande numero de tarefas dependendo da opção escolhida. No Metasploit existem sete tipos, que incluem execução de arquivos, console interativo, execução de comandos, injeção de DLL, injeção VNC, adicionar usuário e Meterpreter. Comando que usa o protocolo ICMP para testar a conectividade entre equipamentos. Estrutura de suporte multimídia, desenvolvida pela Apple Inc., capaz de manipular formatos de vídeo digital, mídia clipes, som, texto, animação, música e vários tipos de imagens panorâmicas interativas. Consiste em obter o caminho que um pacote atravessa por uma rede de computadores até chegar ao destinatário utilizando do protocolo ICMP.

74 whois Protocolo UDP específico para consultar informações de contato e DNS sobre entidades na internet. 73

75 APÊNDICES 74

76 A ROTEIRO DE TESTE DE PENETRAÇÃO CENÁRIO PWNOS O roteiro de teste de penetração, do cenário turn-key pwnos, segue as etapas descritas nesse projeto para realização de um pentesting em um ambiente computacional. O sistema inicia e somente a tela de autenticação de usuário é mostrada. A partir deste momento, o pentester deve utilizar técnicas para obter acesso. As maquinas foram interligadas através de uma conexão virtual provida pelo software VMware Workstation (2010) com as seguintes configurações: Faixa de IP: /32 IP do Atacante: IP da máquina alvo: Os endereços IPs foram providos por um servidor DHCP virtual. O IP da máquina alvo foi encontrado durante o pentesting. O sistema continha diversas vulnerabilidades com exploits públicos o que colaborou para atingir o objetivo do roteiro. A.1 IDENTIFICAÇÃO DE VULNERABILIDADES Nessa etapa é iniciada a interação com o alvo de forma mais agressiva, realizando varreduras de portas que estão abertas a conexões, serviços ativos, entre outros. Com as informações adquiridas pode-se moldar como será feito o ataque através das vulnerabilidades expostas. A.1.1 Varredura com NMap Inicia-se realizando uma varredura em uma rede com o NMap (2010), como demonstrado na Figura 26, para buscar máquinas ativas. Figura 26. Varredura em rede com NMap

77 Este comando inicia uma busca por máquinas ativas varrendo a faixa de IP que vai de até Retorna uma máquina ativa com IP e uma prévia das portas de serviços abertas como mostra a Figura 27. Figura 27. NMap encontra maquina ativa Observa-se na Figura 27 que existem cinco portas de serviços aguardando por conexões na máquina. Com esta informação realiza-se uma varredura mais a fundo buscando os serviços que estão rodando nessas portas, ainda utilizando o NMap com alguns parâmetros opcionais como demonstrado na Figura 28. Figura 28. NMap com alguns parâmetros opcionais O resultado deste comando demonstra os serviços rodando com algumas sugestões de versões e o sistema operacional ativo. 76

78 Figura 29. Retorno da varredura do NMap mostrando serviços e versões Observa-se que na Figura 29, linha 6, que existe um serviço de acesso remoto OpenSSH escutando na porta 22. Um servidor de páginas web Apache e interpretador da linguagem PHP na porta 80. O serviço Samba para compartilhamento de arquivos com redes Windows nas portas 139 e 445. Por fim, o serviço Webmin para gerenciamento de servidores na porta Com estas informações é possível verificar, com o uso de um navegador, as páginas web servidas pela máquina. Figura 30. Página inicial disponibilizada na máquina alvo. 77

79 A página inicial mostrada na Figura 30 é simples e não contêm nenhuma informação relevante, através do botão Next inicia-se a iteração com o site. Figura 31. Formulário mostrado na iteração com o site hospedado na máquina alvo Na próxima página demonstrada na Figura 31 encontra-se um formulário para entrada de dados. Observa-se a utilização de parâmetros na URL que podem alterar o comportamento da página. Alteram-se as informações passadas na URL esperando que haja alguma falha de validação que possa ser utilizada para conseguir informações do sistema. 78

80 Figura 32. Erro de função include() do PHP Após a remoção de um valor passado pelo parâmetro connect, como visualizado na Figura 31, é mostrado o erro de falha ao incluir um arquivo na página, utilizado na linguagem PHP através da função include. Com esta falha, pretende-se incluir arquivos do sistema operacional que contenham informações uteis para realizar o ataque. Figura 33. Arquivo /etc/passwd incluído na página 79

81 Através da URL alterada, insere-se o caminho do arquivo /etc/passwd que contem os usuários de sistemas baseados na plataforma Unix, neste caso o Linux. O resultado, demonstrado na Figura 33, é a descrição dos usuários do sistema, em especial os usuários root, vmware, obama, osama e yomama. Esses usuários possuem o interpretador de comandos BASH (2010), demonstrando que foram adicionados ao sistema posteriormente a sua instalação. O root é o usuário privilegiado do sistema, padrão nas plataformas Unix. Com esta informação, já se possui uma lista de usuários do sistema. A.1.2 Varredura com Nessus Ao realizar uma varredura na máquina alvo através do Nessus, verifica-se no relatório gerado que há uma vulnerabilidade de alto risco no serviço SSH, como demonstrado na Figura 34. Figura 34. Relatório do Nessus indicando vulnerabilidade de alto risco no serviço SSH Além da vulnerabilidade de alto risco na porta 22, várias outras vulnerabilidades de médio e baixo risco foram encontradas, estas que também podem ser utilizadas para conseguir acesso ou informações da máquina alvo. 80

82 Figura 35. Detalhes da vulnerabilidade no OpenSSH/OpenSSL gerada pelo Nessus O Nessus cruza os dados da vulnerabilidade encontrada com seu banco de dados, proporcionando mais detalhes sobre a vulnerabilidade, como demonstrado na Figura 35. A.1.3 Análise do serviço Webmin A varredura com o NMap realizada previamente, apontou o serviço de gerenciamento de servidores Webmin rodando na porta Utiliza-se um navegador para verificar este serviço acessando através do IP seguido pela porta do serviço, como demonstrado na Figura

83 Figura 36. Interface de autenticação do serviço Webmin A interface de autenticação do Webmin demonstrada na Figura 36 requisita por credenciais para acesso ao sistema. Até esta etapa, somente foram encontrados os nomes de usuários do sistema. Realiza-se uma busca na internet, a qual resulta em várias vulnerabilidades da aplicação Webmin. Na próxima etapa do pentesting, é verificado se estas vulnerabilidades estão presentes na versão rodando na máquina alvo. A.2 VERIFICAÇÃO E EXPLORAÇÃO DAS VULNERABILIDADES A partir das informações recolhidas na etapa anterior, realizam-se buscas na internet para concretizar a existência da vulnerabilidade na maquina alvo e explorar essa falha na tentativa de aceso remoto ao alvo. A.2.1 Vulnerabilidade OpenSSH/OpenSSL A equipe de segurança do projeto Debian Linux, tornou publica a vulnerabilidade nos serviços de OpenSSH/OpenSSL conforme a DSA-1571(2010). Chamada de OpenSSL predictable random number generator, esta vulnerabilidade faz com que o gerador números aleatórios no pacote OpenSSL do Debian seja previsível. 82

84 Procura-se em uma base de dados de exploits, o script que faz o uso desta vulnerabilidade para obter acesso ao sistema. No site Exploit-DB (2010) encontra-se o exploit nomeado Debian OpenSSL Predictable PRNG Bruteforce SSH Exploit, que faz o uso de um arquivo, que contem todas as chaves publicas possíveis de serem previstas, disponibilizado pelos criadores do Metasploit(2010). Porem o uso de ataques de força bruta pode demorar horas e chamar atenção pela quantidade de requisições feitas ao sistema alvo, e ainda podem-se achar meios mais fáceis na vulnerabilidade do Webmin. Baixa-se o arquivo, que contem as chaves publicas, debian_ssh_rsa_2048_x86.tar.bz2 e o exploit publico disponibilizado para possível utilização posterior. A.2.2 Vulnerabilidade Webmin Conforme encontrado no site da CVE (2010) uma vulnerabilidade encontrada no serviço Webmin foi publicada através do código CVE : O Webmin antes das versões e o Usermin antes das versões chamam uma função definida por simplify_path antes de decodificar o HTML. Esta função permite que um atacante tenha acesso ao conteúdo de arquivos, utilizando seqüências de códigos..%01", o que ignora a remoção das seqüências de caracteres../ antes que os bytes %01 sejam removidos do nome do arquivo. (CVE ). Buscando em Exploit-DB (2010), encontra-se o script, escrito em Perl, nomeado Webmin < / Usermin < Arbitrary File Disclosure Exploit. O exploit utiliza a vulnerabilidade citada acima para acesso a conteúdo de arquivos no servidor remoto. No framework Metasploit (2010), também é encontrado o módulo que se aproveita desta falha, como demonstra a Figura 37. As duas formas serão demonstradas posteriormente. 83

85 Figura 37. Modulo Webmin/file_disclosure do Metasploit A.2.3 Explorando as vulnerabilidades encontradas para obter acesso ao sistema Após localizar as formas de explorar a vulnerabilidade, começa a invasão a maquina alvo. Utilizando o exploit do Webmin, é possível fazer o teste de leitura de conteúdos de arquivos do sistema. O exploit pede como parâmetros o servidor remoto, seguido da porta que o serviço esta rodando, o arquivo desejado e a forma de conexão (HTTP ou HTTPS). O resultado é demonstrado na Figura

86 Figura 38. Retorno do conteúdo do arquivo /etc/shadow pelo exploit do Webmin O arquivo /etc/shadow somente tem permissões de leitura para o usuário root.com isto prevê-se que utilizando esta falha é possível acessar o contudo de qualquer arquivo no sistema. Como encontrado anteriormente, a máquina alvo possui uma vulnerabilidade no serviço OpenSSH/OpenSSL. Com a ajuda do exploit, confirma-se a possibilidade do uso desta falha analisando o conteúdo do arquivo de configuração do serviço OpenSSH e buscando pela configuração ativa do acesso através de chaves públicas. O resultado é demonstrado na Figura 39. Figura 39. Arquivo configuração OpenSSH 85

87 Dessa forma, sabe-se que a vulnerabilidade do OpenSSH/OpenSSL identificada anteriormente pode ser utilizada para conseguir acesso ao sistema. Para não utilizar os ataques de força bruta, pode-se ler o conteúdo da chave pública de um usuário e buscá-la na base de chaves públicas possíveis baixadas previamente. Utilizando o módulo do Metasploit (2010), busca-se o conteúdo do arquivo do usuário obama que identifica sua chave pública. O resultado é demonstrado na Figura 40. Com o conteúdo retornado, busca-se a chave publica no pacote baixado anteriormente. Utiliza-se o comando grep do Linux dentro dos arquivos contidos no pacote como demonstrado na Figura 41. Figura 40. Retorno do conteúdo da chave pública do usuário "obama" através do Metasploit Figura 41. Encontrado chave publica do usuário obama 86

88 Com a chave pública encontrada, é possível fazer à tentativa de acesso remoto a máquina alvo. O resultado demonstrado na Figura 42 é o acesso não privilegiado do usuário obama ao sistema. Figura 42. Acesso remoto do usuário obama ao sistema O acesso remoto ao sistema foi obtido, porém com um usuário que não tem privilégios no sistema. A próxima etapa é obter acesso remoto privilegiado ao sistema. A.3 OBTENDO ACESSO PRIVILEGIADO AO SISTEMA Na etapa anterior foram exploradas as vulnerabilidades identificadas para conseguir acesso ao sistema da máquina alvo. Para conseguir acesso privilegiado, é possível utilizar falhas do sistema operacional que permitem que um usuário consiga alterar seu nível de privilégios. Através de comandos do Linux é possível identificar a versão do Kernel utilizada. Com esta informação busca-se em banco de dados de vulnerabilidades por exploits conhecidos como Privilege escalonation ou Local Root Exploit. No site Exploit-DB (2010) encontra-se diversos exploits que exploram falhas dos Kernels do Linux na versão 2.6. A versão encontrada no sistema invadido é a , como demonstrado na Figura 31. O exploit Linux Kernel vmsplice Local Root Exploit, encontrado no site, faz o uso da vulnerabilidade onde é possível acessar endereços de memórias do kernel e escalonar o privilegio. 87

89 Faz-se o download do arquivo que deve ser enviado para a máquina invadida anteriormente, para que com o usuário obama seja possível escalonar seus níveis de privilégios e obter acesso ao usuário root. Para enviar para a máquina, pode-se utilizar o comando scp, que copia arquivos de forma remota criptografada através do protocolo SSH, juntamente com a chave pública encontrada nas etapas anteriores. Uma vez que o arquivo encontra-se na máquina, é necessário compilar o código C com o comando gcc e executá-lo. O resultado é a o acesso do usuário root ao sistema como demonstrado na Figura 43. Figura 43. Obtido acesso privilegiado ao sistema Com o acesso privilegiado ao sistema, finaliza-se o objetivo. As etapas para manter acesso ao sistema e limpeza de evidências não abrangem este roteiro. 88

90 B ROTEIRO DE TESTE DE PENETRAÇÃO CENÁRIO DE-ICE NIVEL 1 O projeto De-ICE.net Pentest LabTest foi criado para proporcionar para futuros profissionais de segurança de informações um ambiente o qual possam testar as técnicas de pentesting e seu comportamento simulando ambientes reais. O roteiro de teste de penetração para o cenário De-ICE.net Nível 1, segue as etapas de um pentesting já descritas anteriormente com o objetivo de encontrar falhas que possam levar ao acesso privilegiado do sistema. O sistema De-ICE.net Nível 1 foi instalado em uma máquina virtual e conectado a uma rede virtual provida pelo VMware Workstation. O sistema operacional inicia e mostra apenas a tela de autenticação do usuário. A partir deste momento, o pentester deve utilizar técnicas para obter acesso ao sistema. Abaixo são demonstradas as configurações utilizadas: Faixa de IP: /32 IP do Atacante: IP da máquina alvo: O IP da máquina alvo é estático e foi encontrado durante o pentesting. O sistema continha poucas vulnerabilidades de aplicativos e serviços ativos, logo foi um teste baseado em técnicas de força bruta. B.1 IDENTIFICAÇÃO DE VULNERABILIDADES Nesta etapa são realizadas varreduras de portas abertas a conexões, serviços ativos entre outros. Busca-se o máximo de informações diretas ao alvo. Com as informações adquiridas, poderá ser moldado o ataque após a verificação das vulnerabilidades encontradas. 89

91 B.1.1 Varredura com NMap Inicia-se o teste identificando máquinas ativas em uma rede. Utilizando o NMap, passando por parâmetro a faixa de IPs que se deseja verificar, como demonstrado na Figura 44. Figura 44. Varredura de rede com o NMap O resultado trazido pelo comando demonstra as maquinas e ativos de redes que responderam a requisições feitas pelo NMap à faixa de IPs que vai de até Na Figura 45 é exposto o resultado de uma máquina que tende ser um possível alvo, pois contem algumas portas abertas a conexões. Figura 45. Resultado da varredura a uma faixa de IPs Com essa informação descobre-se uma máquina ativa que pode ser um possível foco de vulnerabilidades. Ainda com o NMap, realiza-se uma busca específica a máquina, passando parâmetros que demonstram os serviços ativos. O resultado é demonstrado na Figura

92 Figura 46. Varredura especifica a maquina alvo Analisando o retorno do comando ao IP , na Figura 46, observam-se seis portas abertas que vão da linha 9 a 14. Na linha 9, porta 21, roda um serviço FTP chamado vsftpd que o NMap já reconhece que está com problemas. Adiante na linha 10, porta 22, o serviço de conexão remota OpenSSH. Na linha 11, porta 25, o servidor de envio de s SMTP Sendmail. Na porta 80, linha 12, encontra-se o servidor de páginas web Apache com interpretador da linguagem PHP. Nas linhas 13 e 14, portas 110 e 143, estão ativos os serviços para acesso de e- mails POP3 e IMAP. Inicia-se a verificação dos serviços encontrados buscando mais informações a respeito. A iteração mais discreta com a máquina alvo seria inicialmente a verificação das páginas servidas pelo serviço web Apache. Com um navegador, é acessado o servidor através do seu IP, a página inicial é demonstrada na Figura

93 Figura 47. Pagina inicial da maquina É mostrada uma página com dados a respeito do cenário De-ICE Nível 1. Ao clicar no link CLICK HERE é redirecionado para a página de inicio do cenário simulado, demonstrado na Figura 48. A página mostra informações de uma empresa fictícia além de diversos s de colaboradores. Com base de configurações de serviços de , pode-se a partir da lista mostrada na página criar uma possível lista de usuários 92

94 Figura 48. Lista de s Observa-se na Figura 48 que os s são formados pelo nome ou sobrenome mais uma letra inicial do nome ou sobrenome. Dessa forma monta-se uma possível lista de usuários para cada colaborador como demonstrado na Figura 49. Caso seja necessário algum teste posteriormente, criase um arquivo texto com os possíveis usuários. 93

95 Figura 49. Lista de s e possíveis usuários de sistema para cada colaborador Com estes usuários pode-se fazer uma tentativa de ataque de força bruta para conseguir acesso remoto no servidor, mas isto pode levar tempo e ainda existem algumas portas a serem verificadas. Na varredura de portas com o NMap, feita anteriormente, retornou uma porta em que um serviço de FTP estava ativo mas que não era possível fazer conexão. Para conexão sem usuário e senha aos servidores FTP público usa-se o usuário anonymuos. Pode-se tentar fazer conexão e confirmar se é possível acessar o serviço. O retorno é demonstrado na Figura

96 Figura 50. Falha ao conectar ao serviço FTP Continuando a procura por vulnerabilidades nos serviços listados anteriormente, não foram encontradas informações de falhas no serviço OpenSSH versão 4.3 instalada no sistema. Para o serviço de Sendmail, famoso por diversas falhas em suas primeiras versões, na atual versão instalada na máquina alvo também não foram encontradas vulnerabilidades. Os demais serviços também não apresentaram vulnerabilidades nas análises, são eles o servidor web Apache, o serviço POP3 OpenWall e o serviço IMAP UW imapd. A partir destas informações, conclui-se que não há serviços vulneráveis capazes de serem explorados para conseguir acesso ao sistema, restando à opção de realizar ataques de força bruta a maquina alvo com a lista de usuários criada anteriormente. B.2 VERIFICAÇÃO E EXPLORAÇÃO DAS VULNERABILIDADES Como não foram encontradas vulnerabilidades para conseguir acesso ao sistema, pode-se realizar testes de força bruta buscando senhas fracas. A partir da lista de usuários criada anteriormente, inicia-se o teste de forma discreta, tentando buscar usuários que possuem senhas semelhantes ou iguais ao nome de usuário do sistema e usuários sem senha. O programa encontrado no Backtrack (2010) chamado Hydra (2010) realiza essa operação, o retorno do comando é mostrado na Figura 51. Observa-se que o usuário bbanter possui a senha idêntica ao seu nome de usuário. Senhas fracas com mesmo nome de usuário, seqüências básicas de caracteres como asdf e 12345, e também senhas padrões de dispositivos e serviços são comuns em ambientes onde não se estipulam claras políticas de segurança a respeito de senhas. Como no caso da máquina alvo, uma senha fraca pode disponibilizar ao atacante acesso remoto a um servidor. 95

97 Figura 51. Usuário "bbanter" possui senha igual ao login Ao descobrir a fraqueza da senha do usuário bbanter, realiza-se a tentativa de acesso remoto ao servidor utilizando o serviço OpenSSH, o resultado é mostrado na Figura

98 Figura 52. Acesso remoto obtido com o usuário "bbanter" A partir do acesso remoto, pode-se colher informações a respeito da máquina para posteriormente buscar acesso remoto ao sistema. Vulnerabilidades de escalonamento de privilégios são os meios mais fáceis para chegar a este objetivo. Verifica-se a versão do Kernel do Linux, e realiza a busca em bancos de dados de exploits. Para versão , como mostra na Figura 52 através do comando uname, encontrada na máquina invadida não existem exploits públicos. Com acesso ao sistema, pode-se fazer a leitura de arquivos de configurações do sistema, como por exemplo, o arquivo /etc/passwd que contem os usuários em sistemas Linux. Na criação da lista de possíveis usuários anteriormente, informava no site que o colaborador Bob Banter era um estagiário (do inglês, Intern), por este motivo deve-se ter cuidado com a tentativa de acesso a arquivos que possam alertar que o usuário está realizando esta ação. Com o conteúdo do arquivo passwd pode-se confirmar os reais usuários do sistema. Utiliza-se o comando cat para mostrar na saída padrão o conteúdo do arquivo, o resultado é mostrado na Figura 53. Atualiza-se a lista de usuários criadas nas primeiras etapas com os usuários conseguidos na leitura do arquivo passwd, estes são aadams, bbanter e ccoffee. É possível observar que o usuário FTP possui um diretório padrão /home/ftp o que pode ser o repositório de arquivos FTP. Outro arquivo capaz de disponibilizar informações a respeito de privilégios do sistema é o arquivo que contem as configurações de grupo /etc/group. Novamente utiliza-se o comando cat para mostrar na saída padrão o conteúdo do arquivo. O resultado do comando é demonstrado na Figura

99 Figura 53. Conteúdo do arquivo /etc/passwd Cruzando as informações obtidas nos arquivos /etc/passwd e /etc/group observa-se que o usuário aadams possui um grupo diferente dos demais usuários. No arquivo /etc/group esse identificador de grupo (utilizado nos sistemas baseados em Unix, Group Id, abreviadamente gid ) possui ao grupo whell ao qual o grupo root também faz parte. Através dessa informação conclui-se que o usuário aadams possui privilégios para executar comandos, normalmente configurados através do comando sudo. Como verificado previamente, não existem vulnerabilidades capazes de escalonar os privilégios de usuário, portanto novamente realiza-se o ataque de força bruta para descobrir a senha do usuário aadams. Como se sabe que somente o usuário bbanter possui uma senha fraca, na nova tentativa será utilizado um dicionário de palavras (do termo conhecido em inglês por wordlist). Este arquivo texto possui diversas combinações de caracteres e palavras de diversos idiomas, ele pode ser montado de acordo com as informações conseguidas do alvo, como por 98

100 exemplo, localização geográfica. O arquivo utilizado chamado bt4-passwords encontra-se na distribuição Backtrack, dentro do diretório /pentest/passwords/wordlists/. Figura 54. Conteúdo do arquivo /etc/group Os ataques de força bruta podem levar horas ou até dias para serem executados, quanto maior a capacidade computacional mais rápido as tentativas acontecem. Este ataque foi realizado da máquina física para a máquina virtual, para não se limitar ao hardware virtual. Novamente utiliza-se o programa Hydra (2010) juntamente com um arquivo wordlist para realizar o ataque, o resultado do comando é demonstrado na Figura

101 Figura 55. Senha do usuário "aadams" é encontrada O Hydra retornou a senha nostradamus para o usuário especificado. Com esta senha é possível realizar acesso ao sistema com um usuário que possui mais privilégios que o usuário anterior, tendo mais chances de conseguir o acesso do usuário root. Através do serviço OpenSSH e o usuário e senha aadams nostradamus respectivamente, tenta-se acesso remoto ao sistema, como demonstrado na Figura 56. Figura 56. Acesso remoto com o usuário "aadams" Foi obtido acesso remoto com um usuário que possui permissões do grupo whell. O próximo passo é a partir de este acesso conseguir privilégios do usuário root no sistema. Como não foram encontradas vulnerabilidades para escalonamento, mantêm-se as tentativas de força bruta como ataque principal para chegar ao objetivo. 100

102 B.3 OBTENDO ACESSO PRIVILEGIADO AO SISTEMA Com o acesso do usuário aadams é possível utilizar o comando sudo para conseguir acesso ao conteúdo do arquivo /etc/shadow que contem as senhas criptografadas dos usuários de sistemas Linux. A junção do comando sudo mais o comando cat e a senha do usuário aadams obtida na etapa anterior mostra o conteúdo do arquivo shadow, como demonstrado na Figura 57. Figura 57. Conteúdo do arquivo /etc/shadow Em um arquivo texto, coloca-se o conteúdo extraído do arquivo /etc/shadow. Neste caso já foram encontradas as senhas dos usuários aadams e bbanter anteriormente e como se busca o acesso privilegiado utiliza-se o John The Ripper (2010) para tentar quebrar a criptografia da senha do usuário root. O resultado da utilização do John The Ripper é mostrado na Figura

103 Figura 58. John The Ripper quebra a senha do usuário root A execução do comando obteve sucesso e quebrou a senha do usuário root se baseando em uma wordlist passada por parâmetro e também no arquivo /etc/shadow extraído anteriormente. Com as possibilidades encontradas pelo John The Ripper tarot e tarotcod, tenta-se elevar os privilégios do usuário autenticando-se como usuário root com o comando su. O resultado é demonstrado na Figura 59. Figura 59. Acesso do usuário root Com o acesso privilegiado do usuário root, finaliza-se o objetivo deste teste de penetração. As etapas para manter acesso e limpeza de evidencias não serão abordadas. 102

104 C ROTEIRO DE TESTE DE PENETRAÇÃO CENÁRIO DE-ICE NIVEL 2 O projeto De-ICE.net Pentest LabTest foi criado para proporcionar para futuros profissionais de segurança de informações um ambiente o qual possam testar as técnicas de pentesting e seu comportamento simulando ambientes reais. O roteiro de teste de penetração para o cenário De-ICE.net Nível 2, segue as etapas de um pentesting já descritas anteriormente com o objetivo de encontrar falhas que possam levar ao acesso privilegiado do sistema. O sistema De-ICE.net Nível 2 foi instalado em uma máquina virtual e conectado a uma rede virtual provida pelo VMware Workstation. O sistema operacional inicia e mostra apenas a tela de autenticação do usuário. A partir deste momento, o pentester deve utilizar técnicas para obter acesso ao sistema. Abaixo são demonstradas as configurações utilizadas: Faixa de IP: /32 IP do Atacante: IP da máquina alvo: e Os IPs da máquina alvo são estáticos e foram encontrados durante o pentesting. Este nível prove a simulação de falhas de configurações de serviços. C.1 IDENTIFICAÇÃO DE VULNERABILIDADES Nesta etapa são realizadas varreduras de portas abertas a conexões e serviços ativos, buscando identificar informações sobre a rede e os possíveis alvos. C.1.1 Varredura com NMap Inicia-se através do NMap uma varredura na rede. Demonstrada na Figura 60. Figura 60. NMap varrendo a rede

105 Essa varredura identifica algumas máquinas ativas na rede, os possíveis alvos são demonstrados na Figura 61. Figura 61. Máquinas ativas reconhecidas pela varredura do NMap O retorno demonstrado na Figura 61 indica duas máquinas ativas com o mesmo MAC Address. Um primeiro IP contem diversas portas em modo de escuta aguardando por conexões como demonstrado entre as linhas 7 e 14. No segundo IP somente a porta 80 do protocolo HTTP está ativa. Realiza-se então uma varredura mais profunda, buscando mais informações sobre os dois possíveis alvos ativos, o resultado é demonstrado na Figura

106 Figura 62. Varredura especifica nos IPs finais 100 e 101 O retorno demonstrado na Figura 62 indica diversos serviços rodando no IP Inicia-se a verificação de vulnerabilidades nesses serviços. C.1.2 Varredura com Nessus Para ter uma abordagem mais detalhada e rápida pode-se realizar uma varredura com o Nessus que cruza as informações adquiridas com seu banco de dados, informando as vulnerabilidades encontradas. O retorno da análise do Nessus é demonstrado na Figura

107 Figura 63. Resultado da análise do Nessus Para verificar mais detalhes a respeito das vulnerabilidades de alto risco encontradas, seleciona-se um dos IPs analisados. O resultado é mostrado na Figura 64. Figura 64. Vulnerabilidades de alto risco encontradas pelo Nessus As vulnerabilidades encontradas pelo Nessus são de versões da linguagem PHP que está ativada através do módulo do servidor web Apache. Na próxima etapa será verificada se as falhas demonstradas podem ser exploradas. Não foram encontradas vulnerabilidades nas versões dos demais serviços ativos. C.1.3 Analisando as informações das páginas do servidor Apache Através do navegador, checa-se o conteúdo das páginas web disponíveis pelo servidor web Apache, acessa-se primeiramente o IP A página é demonstrada na Figura 65. Observa-se algumas informações sobre uma empresa e uma lista de s separadas por setores. Com esses s pode-se montar uma lista de possíveis usuários do sistema alvo. 106

108 Figura 65. Lista de s da empresa fictícia Verifica-se também a página servida pelo servidor web mantido no IP O resultado é demonstrado na Figura 66. Observa-se que a página exibe links para arquivos de políticas e padrões da empresa, ou seja, um servidor web para download de arquivos através do protocolo HTTP. Na próxima etapa serão verificadas as vulnerabilidades encontradas e possíveis métodos de acesso remoto ao sistema. 107

109 Figura 66. Página com documentos internos C.2 VERIFICAÇÃO E EXPLORAÇÃO DAS VULNERABILIDADES Nesta etapa será checada a veracidade das possíveis vulnerabilidades e se há formas para explorá-las. Anteriormente foram indicadas pelo Nessus vulnerabilidades na linguagem PHP, procura-se em bancos de dados de exploits scripts que possam explorar essas falhas. No site Exploit-DB(2010) nenhum script foi encontrado. C.2.1 Utilizando a técnica Fuzz testing Como verificado anteriormente, existe um servidor web rodando em ambos os IPs. Pode-se utilizar a técnica conhecida como Fuzzing (Fuzz testing, traduzido literalmente para teste de difusão), que testa falhas de softwares, serviços e má configuração buscando informações que não deviam ser disponibilizadas utilizando injeção de dados malformados ou semi-malformados de forma automatizada. No caso do serviço web rodando no servidor , pode-se utilizar a lista de usuários criada anteriormente para checar a existência de pastas pessoais disponíveis para acesso através do protocolo HTTP. O Backtrack(2010) possui o aplicativo JBroFuzz (2010), mas por motivos de performance, o aplicativo foi utilizado na máquina física. Utilizando a busca por diretórios web insere-se a lista dos possíveis usuários e ainda alguns possíveis usuários administrativos como root e admin. Para 108

110 cada usuário inserido na lista de testes, coloca-se em frente ao usuário o caractere ~ que é utilizada pelos servidores web para indicar um diretório web de um usuário do sistema. O JBroFuzz fará uma requisição a cada possível página de usuário, como por exemplo: "http:// /~admin" e retornará um código de retorno do protocolo HTTP. Código HTTP 200 caso existe e 404 caso contrário. O resultado é demonstrado na Figura 67. Figura 67. JBroFuzz testando diretórios web pessoais O retorno do teste é que existem quatro diretórios web pessoais que são detalhados na Figura 68. Esses diretórios podem conter arquivos pessoais que possam armazenar informações sobre o sistema alvo. Figura 68. Diretórios encontrados pelo JBroFuzz 109

111 Com as informações obtidas, atualiza-se a lista de usuários para caso necessite realizar um teste de força bruta, somente os usuários que tenham vestígios de pertencerem ao sistema sejam testados. Verificam-se, através do navegador web, os diretórios web encontrados buscando arquivos dos usuários disponibilizados erroneamente pelo servidor web. Checando as páginas, nenhum arquivo é disponibilizado, porem há a possibilidade de existir diretórios ocultos ou ainda falhas que possam informar meios de acesso ao sistema. Para continuar os testes buscando por falhas de configuração do serviço Apache, utiliza-se a ferramenta Nikto (2010) que testa vários diretórios padrões do sistema que possam estar disponíveis, além de arquivos maliciosos, scripts CGIs vulneráveis, versões desatualizadas de aplicativos entre outras funcionalidades. O comando deve ser executado para todos os usuários encontrados anteriormente. O resultado mais significativo é demonstrado na Figura 69. Figura 69. Nikto encontra diretório oculto.ssh 110

112 A mensagem na Figura 69 informa que foi possível acessar o diretório.ssh do diretório pessoal do usuário pirrip, o que não deveria ser acessível via web. Este diretório contem os arquivos de configurações de acesso remoto do usuário. Utilizando o navegador pode-se acessar a URL indicada e visualizar arquivos de chaves públicas para acesso remoto ao serviço OpenSSH, como demonstra a Figura 70. Figura 70. Diretório.ssh do usuário contendo chaves públicas Com estes arquivos pode-se utilizar um usuário qualquer para se passar pelo usuário pirrip e acessar o servidor remotamente. É realizado o download dos arquivos que devem ser colocados no diretório.ssh da pasta local do usuário, como demonstrado na Figura 71. O serviço de acesso remoto requer que as permissões especiais sejam especificadas para os arquivos, como demonstradas nas linhas 6 a 12. Feita as configurações, faz-se a tentativa de acesso remoto utilizando o usuário pirrip. Dependendo das configurações do servidor remoto, a autenticação através de chaves públicas pode não requisitar senha. 111

113 Figura 71. Configurações de chaves públicas e acesso remoto ao sistema Observa-se que o acesso remoto ao servidor foi obtido pelo usuário pirrip. A partir desse momento pode-se interagir com o sistema buscando mais informações a respeito para obter acesso privilegiado. Inicia-se verificando o conteúdo do arquivo /etc/passwd, para verificar os usuários pertencentes ao sistema. O conteúdo do arquivo é demonstrado na Figura 72. Com o retorno obtido, altera-se o arquivo de possíveis usuários criado anteriormente com os dados reais do sistema. Caso seja necessário realizar algum ataque de força bruta ou que requisite nomes de usuários a listagem estará atualizada. 112

114 Figura 72. Conteúdo do arquivo /etc/passwd Também é possível visualizar o conteúdo do arquivo /etc/group, para identificar as permissões de grupos dos usuários do sistema. O conteúdo do arquivo é demonstrado na Figura 73. Figura 73. Conteúdo do arquivo /etc/group 113

115 Cruzando as informações obtidas com os arquivos /etc/passwd e /etc/group verifica-se que o usuário pirrip pertence ao grupo wheel o qual o grupo root também está incluído. Com esta informação, espera-se que o usuário possa utilizar comandos como o sudo, porém para utilizar este comando necessita-se a senha do usuário que é desconhecida. Deve-se buscar formas de obter a senha do usuário para chegar ao objetivo do teste de invasão que é obter acesso privilegiado ao sistema. Para isto pode-se utilizar os ataques de força bruta, ferramentas para análise de tráfego, entre outros. C.3 OBTENDO ACESSO PRIVILEGIADO AO SISTEMA Existem diversas formas de conseguir acesso de usuário privilegiado ao sistema, como por exemplo, a utilização de exploits que exploram falhas no sistema operacional. Também se pode analisar o trafego de rede buscando credenciais trocadas durante a comunicação. Uma forma muito utilizada para conseguir informações é a engenharia social, que utiliza formas para fazer com que uma pessoa informe os dados, muitas vezes se passando por algum individuo ou enviando s fraudulentos imitando sites verdadeiros como de instituições financeiras. O fator humano é muito vulnerável a falhas se as políticas de uma organização não são bem estipuladas e demonstradas de forma clara para seus colaboradores. No caso do cenário atual, foram encontradas dentro da pasta /var/mail s enviados pelos colaboradores que continham senhas de usuários e informações pessoais. Ainda com o usuário pirrip tem-se acesso ao conteúdo do arquivo /var/mail/pirrip que contem as mensagens de s do usuário. Em uma mensagem enviada pelo usuário "magwitch" com o assunto "havisham" informa que as credenciais de acesso do usuário havisham ao sistema foram criadas, a senha definida foi "changeme" e que esta deve ser alterada, conforme demonstra a Figura

116 Figura 74. enviado com senha em texto plano Como visto anteriormente nas informações recolhidas, o usuário "havisham" pertence à Estella Havisham, que não tem acesso privilegiado. Observa-se que a senha é passada de forma insegura, como texto plano (do inglês, plain text). Adiante nas mensagens de s do usuário pirrip, é observado um automático para lembrete de credenciais, onde a senha do usuário é novamente passada em plain text. Como mostra a Figura 64, a senha do usuário pirrip foi identificada como 0l1v3rTw1st. Figura 75. Mensagem de automática de lembrete de senha do usuário "pirrip" 115

117 Com a identificação da senha do usuário, pode-se executar ações privilegiadas através do comando sudo. Pode-se alterar o arquivo /etc/shadow fazendo com que a senha criptografada do usuário pirrip seja a mesma do usuário root. Com um editor de texto, como por exemplo, o vi, altera-se o arquivo /etc/shadow e ao solicitar a senha utiliza-se a credencial 0l1v3rTw1st adquirida anteriormente. A alteração a ser feita é copiar a linha correspondente ao usuário pirrip alterando o nome do usuário para root. O conteúdo do arquivo alterado é demonstrado na Figura 76. Figura 76. Arquivo /etc/shadow alterado 116

118 Observa-se na Figura 76 que as linhas 1 e 22 possuem a mesma senha criptografada mas para usuários diferentes. Com estas alterações pode-se alterar o nível de privilégios realizando autenticação do usuário root com o comando su, o resultado é demonstrado na Figura 77. Figura 77. Acesso com usuário root obtido Com o acesso privilegiado do usuário root obtido é alcançado o objetivo deste roteiro para o cenário. As etapas para manter acesso ao sistema e limpeza de evidencias fogem do escopo deste roteiro. 117

e Uso Abusivo da Rede

e Uso Abusivo da Rede SEGURANÇA FRAUDE TECNOLOGIA SPAM INT MALWARE PREVENÇÃO VÍRUS BANDA LARGA TROJAN PRIVACIDADE PHISHING WIRELESS SPYWARE ANTIVÍRUS WORM BLUETOOTH SC CRIPTOGRAFIA BOT SENHA ATAQUE FIREWAL BACKDOOR COOKIES

Leia mais

MALWARE. Spyware. Seguem algumas funcionalidades implementadas em spywares, que podem ter relação com o uso legítimo ou malicioso:

MALWARE. Spyware. Seguem algumas funcionalidades implementadas em spywares, que podem ter relação com o uso legítimo ou malicioso: MALWARE Spyware É o termo utilizado para se referir a uma grande categoria de software que tem o objetivo de monitorar atividades de um sistema e enviar as informações coletadas para terceiros. Seguem

Leia mais

Segurança da Informação

Segurança da Informação Segurança da Informação Segurança e Vulnerabilidades em Aplicações Web jobona@terra.com.br Definição: Segurança Segundo o dicionário da Wikipédia, o termo segurança significa: 1. Condição ou estado de

Leia mais

OBJETIVO DA POLÍTICA DE SEGURANÇA

OBJETIVO DA POLÍTICA DE SEGURANÇA POLÍTICA DE SEGURANÇA DIGITAL Wagner de Oliveira OBJETIVO DA POLÍTICA DE SEGURANÇA Hoje em dia a informação é um item dos mais valiosos das grandes Empresas. Banco do Brasil Conscientizar da necessidade

Leia mais

Segurança da Informação Prof. Jeferson Cordini jmcordini@hotmail.com

Segurança da Informação Prof. Jeferson Cordini jmcordini@hotmail.com Segurança da Informação Prof. Jeferson Cordini jmcordini@hotmail.com Segurança da Informação Segurança da Informação está relacionada com proteção de um conjunto de dados, no sentido de preservar o valor

Leia mais

Cartilha de Segurança para Internet

Cartilha de Segurança para Internet Comitê Gestor da Internet no Brasil Cartilha de Segurança para Internet Parte VII: Incidentes de Segurança e Uso Abusivo da Rede Versão 3.1 2006 CERT.br Centro de Estudos, Resposta e Tratamento de Incidentes

Leia mais

INFORMÁTICA PARA CONCURSOS

INFORMÁTICA PARA CONCURSOS INFORMÁTICA PARA CONCURSOS Professor: Alessandro Borges Aluno: Turma: INTERNET PRINCIPAIS CONCEITOS Introdução a Internet Atualmente a Internet é conhecida como rede mundial de comunicação, mas nem sempre

Leia mais

Aula 03 Malware (Parte 01) Visão Geral. Prof. Paulo A. Neukamp

Aula 03 Malware (Parte 01) Visão Geral. Prof. Paulo A. Neukamp Aula 03 Malware (Parte 01) Visão Geral Prof. Paulo A. Neukamp Mallware (Parte 01) Objetivo: Descrever de maneira introdutória o funcionamento de códigos maliciosos e os seus respectivos impactos. Agenda

Leia mais

Hackers. Seus dados podem ser inúteis, mas seu computador em si pode ainda ser um recurso valioso.

Hackers. Seus dados podem ser inúteis, mas seu computador em si pode ainda ser um recurso valioso. Firewalls Hackers Gostam de alvos fáceis. Podem não estar interessados nas suas informações. Podem invadir seu computador apenas por diversão. Para treinar um ataque a uma máquina relativamente segura.

Leia mais

O processo de ataque em uma rede de computadores. Jacson R.C. Silva

O processo de ataque em uma rede de computadores. Jacson R.C. Silva <jacsonrcsilva@gmail.com> O processo de ataque em uma rede de computadores Jacson R.C. Silva Inicialmente, se conscientizando... É importante ter em mente os passos que correspondem a um ataque Porém,

Leia mais

Segurança na Rede Local Redes de Computadores

Segurança na Rede Local Redes de Computadores Ciência da Computação Segurança na Rede Local Redes de Computadores Disciplina de Desenvolvimento de Sotware para Web Professor: Danilo Vido Leonardo Siqueira 20130474 São Paulo 2011 Sumário 1.Introdução...3

Leia mais

Ataques e Intrusões. Invasões Trashing e Engenharia Social. Classificação de Hackers

Ataques e Intrusões. Invasões Trashing e Engenharia Social. Classificação de Hackers Ataques e Intrusões Professor André Cardia andre@andrecardia.pro.br msn: andre.cardia@gmail.com Ataques e Intrusões O termo genérico para quem realiza um ataque é Hacker. Essa generalização, tem, porém,

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Disciplina: Administração de Redes de Computadores.

Disciplina: Administração de Redes de Computadores. Disciplina: Administração de Redes de Computadores. Abordagem: Segurança Prof. Leandro Meireles 2011.2 Sistema Seguro Confidencialidade Integridade Disponibilidade Porque se preocupar com a segurança?

Leia mais

Ameaças, riscos e vulnerabilidades. Prof. Anderson Maia. Objetivos. ameaças mais comuns na internet;

Ameaças, riscos e vulnerabilidades. Prof. Anderson Maia. Objetivos. ameaças mais comuns na internet; Ameaças, riscos e vulnerabilidades Prof. Anderson Maia Objetivos è compreender o funcionamento de algumas ameaças mais comuns na internet; è entender como tais ameaças podem ser exploradas por meio das

Leia mais

Hardening de Servidores

Hardening de Servidores Hardening de Servidores O que é Mitm? O man-in-the-middle (pt: Homem no meio, em referência ao atacante que intercepta os dados) é uma forma de ataque em que os dados trocados entre duas partes, por exemplo

Leia mais

Riscos, Ameaças e Vulnerabilidades. Aécio Costa

Riscos, Ameaças e Vulnerabilidades. Aécio Costa Riscos, Ameaças e Vulnerabilidades Aécio Costa Riscos, Ameaças e Vulnerabilidades Independente do meio ou forma pela qual a informação é manuseada, armazenada, transmitida e descartada, é recomendável

Leia mais

PARA EMPRESAS COM MAIS DE 25 EQUIPAMENTOS

PARA EMPRESAS COM MAIS DE 25 EQUIPAMENTOS PARA EMPRESAS COM MAIS DE 25 EQUIPAMENTOS ESET Business Solutions 1/7 Vamos supor que você tenha iniciado uma empresa ou que já tenha uma empresa bem estabelecida, há certas coisas que deveria esperar

Leia mais

Para cada questão responda se a afirmativa está certa ou errada, JUSTIFICANDO:

Para cada questão responda se a afirmativa está certa ou errada, JUSTIFICANDO: Exercícios de Segurança de Informação Ameaças lógicas Para cada questão responda se a afirmativa está certa ou errada, JUSTIFICANDO: 1) Vírus de macro infectam arquivos criados por softwares que utilizam

Leia mais

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP HTTP (Hypertext Transfer Protocol ) Protocolo usado na Internet para transferir as páginas da WWW (WEB). HTTPS (HyperText Transfer

Leia mais

Guia do funcionário seguro

Guia do funcionário seguro Guia do funcionário seguro INTRODUÇÃO A Segurança da informação em uma empresa é responsabilidade do departamento de T.I. (tecnologia da informação) ou da própria área de Segurança da Informação (geralmente,

Leia mais

BOAS PRÁTICAS DE SEGURANÇA EM TECNOLOGIA DA INFORMAÇÃO (TI)

BOAS PRÁTICAS DE SEGURANÇA EM TECNOLOGIA DA INFORMAÇÃO (TI) BOAS PRÁTICAS DE SEGURANÇA EM TECNOLOGIA DA INFORMAÇÃO (TI) André Gustavo Assessor Técnico de Informática MARÇO/2012 Sumário Contextualização Definições Princípios Básicos de Segurança da Informação Ameaças

Leia mais

TECNOLOGIA WEB. Segurança na Internet Aula 4. Profa. Rosemary Melo

TECNOLOGIA WEB. Segurança na Internet Aula 4. Profa. Rosemary Melo TECNOLOGIA WEB Segurança na Internet Aula 4 Profa. Rosemary Melo Segurança na Internet A evolução da internet veio acompanhada de problemas de relacionados a segurança. Exemplo de alguns casos de falta

Leia mais

PROJETO INTEGRADOR LUIZ DAVI DOS SANTOS SOUZA

PROJETO INTEGRADOR LUIZ DAVI DOS SANTOS SOUZA PROJETO INTEGRADOR LUIZ DAVI DOS SANTOS SOUZA Os serviços IP's citados abaixo são suscetíveis de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade de

Leia mais

SEGURANÇA DA INFORMAÇÃO PARTE 2

SEGURANÇA DA INFORMAÇÃO PARTE 2 SEGURANÇA DA INFORMAÇÃO PARTE 2 Segurança da Informação A segurança da informação busca reduzir os riscos de vazamentos, fraudes, erros, uso indevido, sabotagens, paralisações, roubo de informações ou

Leia mais

Planejando uma política de segurança da informação

Planejando uma política de segurança da informação Planejando uma política de segurança da informação Para que se possa planejar uma política de segurança da informação em uma empresa é necessário levantar os Riscos, as Ameaças e as Vulnerabilidades de

Leia mais

O Firewall do Windows vem incorporado ao Windows e é ativado automaticamente.

O Firewall do Windows vem incorporado ao Windows e é ativado automaticamente. Noções básicas sobre segurança e computação segura Se você se conecta à Internet, permite que outras pessoas usem seu computador ou compartilha arquivos com outros, deve tomar algumas medidas para proteger

Leia mais

Segurança da Informação Segurança de Redes Segurança de Sistemas Segurança de Aplicações

Segurança da Informação Segurança de Redes Segurança de Sistemas Segurança de Aplicações Segurança da Informação Segurança de Redes Segurança de Sistemas Segurança de Aplicações Símbolos Símbolos: S 1, S 2,..., S n Um símbolo é um sinal (algo que tem um caráter indicador) que tem uma determinada

Leia mais

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança 3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade

Leia mais

PORTARIA N Nº 182 Rio de Janeiro, 27 de dezembro de 2012.

PORTARIA N Nº 182 Rio de Janeiro, 27 de dezembro de 2012. PORTARIA N Nº 182 Rio de Janeiro, 27 de dezembro de 2012. ACRESCENTA A ARQUITETURA DE PADRÕES TECNOLÓGICOS DE INTEROPERABILIDADE - e-pingrio, NO SEGMENTO SEGURANÇA DE TECNOLOGIA INFORMAÇÃO E COMUNICAÇÃO

Leia mais

Acesse a página inicial do NET Antivírus + Backup : www.netcombo.com.br/antivirus. Teremos 3 opções.

Acesse a página inicial do NET Antivírus + Backup : www.netcombo.com.br/antivirus. Teremos 3 opções. Acesse a página inicial do NET Antivírus + Backup : www.netcombo.com.br/antivirus. Teremos 3 opções. Esse box destina-se ao cliente que já efetuou o seu primeiro acesso e cadastrou um login e senha. Após

Leia mais

Prof. Jefferson Costa www.jeffersoncosta.com.br

Prof. Jefferson Costa www.jeffersoncosta.com.br Prof. Jefferson Costa www.jeffersoncosta.com.br Preservação da: confidencialidade: Garantia de que o acesso à informação seja obtido somente por pessoas autorizadas. integridade: Salvaguarda da exatidão

Leia mais

ENGENHARIA SOCIAL. Andresa Luchtemberg Pereira 1 Diuli Keiti da Luz Tiscoski 1 Marcos Henrique Henkes 1 Eva Lourdes Pires 2

ENGENHARIA SOCIAL. Andresa Luchtemberg Pereira 1 Diuli Keiti da Luz Tiscoski 1 Marcos Henrique Henkes 1 Eva Lourdes Pires 2 ENGENHARIA SOCIAL Andresa Luchtemberg Pereira 1 Diuli Keiti da Luz Tiscoski 1 Marcos Henrique Henkes 1 Eva Lourdes Pires 2 RESUMO: Engenharia Social é o uso da persuasão humana para obtenção de informações

Leia mais

Evolução dos Problemas de Segurança e Formas de Proteção

Evolução dos Problemas de Segurança e Formas de Proteção Evolução dos Problemas de Segurança e Formas de Proteção Núcleo de Informação e Coordenação do Ponto.br Nic.br http://www.nic.br/ Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no

Leia mais

3. ( ) Para evitar a contaminação de um arquivo por vírus, é suficiente salvá-lo com a opção de compactação.

3. ( ) Para evitar a contaminação de um arquivo por vírus, é suficiente salvá-lo com a opção de compactação. 1. Com relação a segurança da informação, assinale a opção correta. a) O princípio da privacidade diz respeito à garantia de que um agente não consiga negar falsamente um ato ou documento de sua autoria.

Leia mais

Segurança em computadores e em redes de computadores

Segurança em computadores e em redes de computadores Segurança em computadores e em redes de computadores Uma introdução IC.UNICAMP Matheus Mota matheus@lis.ic.unicamp.br @matheusmota Computador/rede segura Confiável Integro Disponível Não vulnerável 2 Porque

Leia mais

Segurança da Informação

Segurança da Informação Segurança da Informação 2 0 1 3 OBJETIVO O material que chega até você tem o objetivo de dar dicas sobre como manter suas informações pessoais, profissionais e comerciais preservadas. SEGURANÇA DA INFORMAÇÃO,

Leia mais

RELATÓRIO SOBRE AMEAÇAS À SEGURANÇA NA INTERNET PRINCIPAIS CONCLUSÕES

RELATÓRIO SOBRE AMEAÇAS À SEGURANÇA NA INTERNET PRINCIPAIS CONCLUSÕES RELATÓRIO SOBRE AMEAÇAS À SEGURANÇA NA INTERNET PRINCIPAIS CONCLUSÕES Região das Américas Abril 2012 2 Conteúdo Introdução...4 Tendências em atividade maliciosa: Região das Américas...5 Background...5

Leia mais

3 Ataques e Intrusões

3 Ataques e Intrusões 3 Ataques e Intrusões Para se avaliar a eficácia e precisão de um sistema de detecção de intrusões é necessário testá-lo contra uma ampla amostra de ataques e intrusões reais. Parte integrante do projeto

Leia mais

Malwares. Algumas das diversas formas como os códigos maliciosos podem infectar ou comprometer um computador são:

Malwares. Algumas das diversas formas como os códigos maliciosos podem infectar ou comprometer um computador são: Malwares Códigos Maliciosos - Malware Códigos maliciosos (malware) são programas especificamente desenvolvidos para executar ações danosas e atividades maliciosas em um computador. Algumas das diversas

Leia mais

UNIVERSIDADE FEDERAL DE PELOTAS

UNIVERSIDADE FEDERAL DE PELOTAS Usando um firewall para ajudar a proteger o computador A conexão à Internet pode representar um perigo para o usuário de computador desatento. Um firewall ajuda a proteger o computador impedindo que usuários

Leia mais

Sobre o Symantec Internet Security Threat Report

Sobre o Symantec Internet Security Threat Report Sobre o Symantec Internet Security Threat Report O Symantec Internet Security Threat Report apresenta uma atualização semestral das atividades das ameaças na Internet. Nele se incluem as análises dos ataques

Leia mais

Gestão da Segurança da Informação

Gestão da Segurança da Informação Gestão da Segurança da Informação Mercado Google perde 0.000001% de dados após raio apagar data center O Google emitiu uma nota após um dos seus data centers na Bélgica passar por um apagão inesperado.

Leia mais

Tutorial sobre Phishing

Tutorial sobre Phishing Tutorial sobre Phishing Data: 2006-08-15 O que é o Phishing? Phishing é um tipo de fraude electrónica que tem se desenvolvido muito nos últimos anos, visto que a Internet a cada dia que passa tem mais

Leia mais

INFORMÁTICA PARA CONCURSOS

INFORMÁTICA PARA CONCURSOS INFORMÁTICA PARA CONCURSOS Prof. BRUNO GUILHEN Vídeo Aula VESTCON MÓDULO I - INTERNET Aula 01 O processo de Navegação na Internet. A CONEXÃO USUÁRIO PROVEDOR EMPRESA DE TELECOM On-Line A conexão pode ser

Leia mais

Fundamentos em Segurança de Redes de Computadores. Pragas Virtuais

Fundamentos em Segurança de Redes de Computadores. Pragas Virtuais Fundamentos em Segurança de Redes de Computadores Pragas Virtuais 1 Pragas Virtuais São programas desenvolvidos com fins maliciosos. Pode-se encontrar algumas semelhanças de um vírus de computador com

Leia mais

Computadores e Sociedade II. Atos ilegais Hackers Invasões. Bruno Tenório 5613740 Guilherme Marcel 6876158 Wu Yuexiang 6792502

Computadores e Sociedade II. Atos ilegais Hackers Invasões. Bruno Tenório 5613740 Guilherme Marcel 6876158 Wu Yuexiang 6792502 Computadores e Sociedade II Atos ilegais Hackers Invasões Bruno Tenório 5613740 Guilherme Marcel 6876158 Wu Yuexiang 6792502 Sumário Atos Ilegais Crimes Computacionais Malwares Hackers Fraudes Conclusões

Leia mais

6 PLANEJAMENTO DE SI 6.1 Planejamento de Segurança da Informação O planejamento em S.I é algo crucial para que haja o bom funcionamento de uma

6 PLANEJAMENTO DE SI 6.1 Planejamento de Segurança da Informação O planejamento em S.I é algo crucial para que haja o bom funcionamento de uma 6 PLANEJAMENTO DE SI 6.1 Planejamento de Segurança da Informação O planejamento em S.I é algo crucial para que haja o bom funcionamento de uma empresa. Diferente do senso comum o planejamento não se limita

Leia mais

Conscientização sobre a Segurança da Informação. Suas informações pessoais não tem preço, elas estão seguras?

Conscientização sobre a Segurança da Informação. Suas informações pessoais não tem preço, elas estão seguras? Conscientização sobre a Segurança da Informação Suas informações pessoais não tem preço, elas estão seguras? PROFISSIONAIS DE O que é Segurança da Informação? A Segurança da Informação está relacionada

Leia mais

Protegendo o seu negócio com servidores DNS que se protegem

Protegendo o seu negócio com servidores DNS que se protegem Resumo do produto: A Solução de DNS seguro da Infoblox reduz os ataques aos servidores DNS através do reconhecimento inteligente de vários tipos de ataque e atuando no tráfego de ataque enquanto continua

Leia mais

O processo de Navegação na Internet APRESENTAÇÃO DO CURSO. Prof. BRUNO GUILHEN. O Internet Explorer. /Redes/Internet/Segurança

O processo de Navegação na Internet APRESENTAÇÃO DO CURSO. Prof. BRUNO GUILHEN. O Internet Explorer. /Redes/Internet/Segurança APRESENTAÇÃO DO CURSO Prof. BRUNO GUILHEN O processo de Navegação na Internet INFORMÁTICA BÁSICA www.brunoguilhen.com.br A NAVEGAÇÃO Programas de Navegação ou Browser : Internet Explorer; O Internet Explorer

Leia mais

Desenvolvimento e disponibilização de Conteúdos para a Internet

Desenvolvimento e disponibilização de Conteúdos para a Internet Desenvolvimento e disponibilização de Conteúdos para a Internet Por Matheus Orion Principais tecnologias front-end HTML CSS JAVASCRIPT AJAX JQUERY FLASH JAVA APPLET Linguagens que executam no cliente HTML

Leia mais

IDENTIFICANDO VULNERABILIDADES DE SEGURANÇA COMPUTACIONAL

IDENTIFICANDO VULNERABILIDADES DE SEGURANÇA COMPUTACIONAL IDENTIFICANDO VULNERABILIDADES DE SEGURANÇA COMPUTACIONAL Raquel Fonseca da Silva¹, Julio César Pereira¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil raquel-fenix@hotmail.com, juliocesarp@unipar.br

Leia mais

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1 Segurança na Web Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW Page 1 Quando você conecta sua rede doméstica ou corporativa a internet, tudo o que está além da sua rede é literalmente o fim do mundo

Leia mais

As doze maiores ameaças do mercado intermediário: evitando ataques maliciosos comuns em nível de aplicativo.

As doze maiores ameaças do mercado intermediário: evitando ataques maliciosos comuns em nível de aplicativo. Gerenciamento de segurança on-line White paper Dezembro de 2007 As doze maiores ameaças do mercado intermediário: evitando ataques maliciosos comuns Página 2 Conteúdo 2 Introdução 3 Compreendendo ataques

Leia mais

Segurança de Redes e Internet

Segurança de Redes e Internet Segurança de Redes e Internet Prof. MSc Thiago Pirola Ribeiro sg_02 alqbarao@yahoo.com.br 1 Guia Básico para Segurança de uma Rede Identificar o que se está tentando proteger; Identificar contra quem está

Leia mais

Ameaças a computadores. Prof. César Couto

Ameaças a computadores. Prof. César Couto Ameaças a computadores Prof. César Couto Conceitos Malware: termo aplicado a qualquer software desenvolvido para causar danos em computadores. Estão nele incluídos vírus, vermes e cavalos de tróia. Vírus:

Leia mais

Segredos do Hacker Ético

Segredos do Hacker Ético Marcos Flávio Araújo Assunção Segredos do Hacker Ético 2 a Edição Visual Books Sumário Prefácio... 21 Introdução... 23 1 Entendendo o Assunto... 25 1.1 Bem-vindo ao Obscuro Mundo da Segurança Digital...25

Leia mais

Os requisitos de SEGURANÇA DA INFORMAÇÃO dentro de uma organização passaram por duas mudanças importantes nas últimas décadas:

Os requisitos de SEGURANÇA DA INFORMAÇÃO dentro de uma organização passaram por duas mudanças importantes nas últimas décadas: $XWDUTXLD(GXFDFLRQDOGR9DOHGR6mR)UDQFLVFR± $(96) )DFXOGDGHGH&LrQFLDV6RFLDLVH$SOLFDGDVGH3HWUROLQD± )$&$3( &XUVRGH&LrQFLDVGD&RPSXWDomR 6(*85$1d$($8',725,$'(6,67(0$6 ³6HJXUDQoDGH,QIRUPDo}HV &\QDUD&DUYDOKR

Leia mais

EAD. Controles de Acesso Lógico. Identificar os controles de acesso lógico a serem implementados em cada uma das situações possíveis de ataque.

EAD. Controles de Acesso Lógico. Identificar os controles de acesso lógico a serem implementados em cada uma das situações possíveis de ataque. Controles de Acesso Lógico 3 EAD 1. Objetivos Identificar os controles de acesso lógico a serem implementados em cada uma das situações possíveis de ataque. Usar criptografia, assinatura e certificados

Leia mais

INTRODUÇÃO A SEGURANÇA EM REDES

INTRODUÇÃO A SEGURANÇA EM REDES INTRODUÇÃO A SEGURANÇA EM REDES Prof. Msc. Hélio Esperidião POR QUE SE PREOCUPAR COM A SEGURANÇA? Senhas, números de cartões de crédito Conta de acesso à internet Dados pessoais e comerciais Danificação

Leia mais

Segurança exposta em Rede de Computadores. Security displayed in Computer network

Segurança exposta em Rede de Computadores. Security displayed in Computer network Segurança exposta em Rede de Computadores Security displayed in Computer network Luiz Alexandre Rodrigues Vieira Graduando em: (Tecnologia em Redes e Ambientes Operacionais) Unibratec - União dos Institutos

Leia mais

Gerência de Redes e Serviços de Comunicação Multimídia

Gerência de Redes e Serviços de Comunicação Multimídia UNISUL 2013 / 1 Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática 1 Gerência de Redes e Serviços de Comunicação Multimídia Aula 3 Gerenciamento de Redes Cenário exemplo Detecção de

Leia mais

Sistemas para Internet 06 Ataques na Internet

Sistemas para Internet 06 Ataques na Internet Sistemas para Internet 06 Ataques na Internet Uma visão geral dos ataques listados na Cartilha de Segurança para Internet do CGI Comitê Gestor da Internet Componente Curricular: Bases da Internet Professor:

Leia mais

A Primeira Linha de Defesa

A Primeira Linha de Defesa A Primeira Linha de Defesa Se você tem um computador conectado à Internet, esteja certo de que ele se tornará alvo para algum Hacker. Embora seja improvável que os Hackers visem especificamente seu computador,

Leia mais

Manual do Produto TIM Protect Família MANUAL DO PRODUTO. TIM Protect Família Versão 10.7

Manual do Produto TIM Protect Família MANUAL DO PRODUTO. TIM Protect Família Versão 10.7 MANUAL DO PRODUTO TIM Protect Família Versão 10.7 1 1 Índice 1 Índice... 2 2 TIM Protect Família... 4 2.1 Instalação do TIM Protect Família... 5 2.1.1 TIM Protect Família instalado... 7 2.2 Ativação do

Leia mais

Segurança na Web. André Tavares da Silva. andre.silva@udesc.br

Segurança na Web. André Tavares da Silva. andre.silva@udesc.br Segurança na Web André Tavares da Silva andre.silva@udesc.br Propósito da Segurança A segurança não é usada simplesmente para proteger contra ataques diretos mas é essencial para estabelecer credibilidade/confiança

Leia mais

Segurança da Informação

Segurança da Informação Segurança da Informação 1 Agenda Ameaças 2 1 AMEAÇAS 3 Atacantes (Hackers) O hacker norueguês que ficou famoso por criar programas que quebram as proteções contra cópias de DVDs aparentemente atacou de

Leia mais

Evitar cliques em emails desconhecidos; Evitar cliques em links desconhecidos; Manter um Firewall atualizado e ativado; Adquirir um Antivírus de uma

Evitar cliques em emails desconhecidos; Evitar cliques em links desconhecidos; Manter um Firewall atualizado e ativado; Adquirir um Antivírus de uma Evitar cliques em emails desconhecidos; Evitar cliques em links desconhecidos; Manter um Firewall atualizado e ativado; Adquirir um Antivírus de uma loja específica Manter um Antivírus atualizado; Evitar

Leia mais

Ferramentas para Desenvolvimento Web

Ferramentas para Desenvolvimento Web Ferramentas para Desenvolvimento Web Profa. Dra. Joyce Martins Mendes Battaglia Mini Currículo Bel. em Ciência da Computação - Unib Mestre e doutora em Eng. Elétrica USP Professora /Coordenadora Pesquisadora

Leia mais

Guia de Segurança em Redes Sociais

Guia de Segurança em Redes Sociais Guia de Segurança em Redes Sociais INTRODUÇÃO As redes sociais são parte do cotidiano de navegação dos usuários. A maioria dos internautas utiliza ao menos uma rede social e muitos deles participam ativamente

Leia mais

SOLO NETWORK. Guia de Segurança em Redes Sociais

SOLO NETWORK. Guia de Segurança em Redes Sociais (11) 4062-6971 (21) 4062-6971 (31) 4062-6971 (41) 4062-6971 (48) 4062-6971 (51) 4062-6971 (61) 4062-6971 (71) 4062-7479 Guia de Segurança em Redes Sociais (11) 4062-6971 (21) 4062-6971 (31) 4062-6971 (41)

Leia mais

TECNOLOGIA WEB INTERNET PROTOCOLOS

TECNOLOGIA WEB INTERNET PROTOCOLOS INTERNET PROTOCOLOS 1 INTERNET Rede mundial de computadores. Também conhecida por Nuvem ou Teia. Uma rede que permite a comunicação de redes distintas entre os computadores conectados. Rede WAN Sistema

Leia mais

INE 5223 Informática para Secretariado

INE 5223 Informática para Secretariado 4. AMBIENTE INTERNET UFSC Prof.: Achilles Colombo Prudêncio 4. Ambiente Internet UFSC 4.2. Utilização de Recursos da Internet O uso dos recursos da Internet vem sendo comentado sempre, em todos os tópicos

Leia mais

O processo de Navegação na Internet APRESENTAÇÃO DO CURSO. Prof. BRUNO GUILHEN. O Internet Explorer INFORMÁTICA BÁSICA

O processo de Navegação na Internet APRESENTAÇÃO DO CURSO. Prof. BRUNO GUILHEN. O Internet Explorer INFORMÁTICA BÁSICA APRESENTAÇÃO DO CURSO Prof. BRUNO GUILHEN O processo de Navegação na Internet INFORMÁTICA BÁSICA A NAVEGAÇÃO Programas de Navegação ou Browser : Internet Explorer; O Internet Explorer Netscape Navigator;

Leia mais

Segurança na Internet Brasileira: Principais Ameaças e

Segurança na Internet Brasileira: Principais Ameaças e Segurança na Internet Brasileira: Principais Ameaças e Recomendações para Prevenção Luiz Eduardo Roncato Cordeiro Marcelo H. P. C. Chaves {cordeiro,mhp}@cert.br Centro de Estudos, Resposta e Tratamento

Leia mais

4. (ESAF/CGU 2008) Considerando uma comunicação segura entre os usuários A e B, garantir confidencialidade indica que

4. (ESAF/CGU 2008) Considerando uma comunicação segura entre os usuários A e B, garantir confidencialidade indica que Exercícios da Parte I: Segurança da Informação Walter Cunha A informação 1. (CESPE/SERPRO 2008) O impacto causado por um incidente de segurança é proporcional ao tipo de vulnerabilidade encontrada em um

Leia mais

APRESENTAÇÃO DO CURSO. Prof. BRUNO GUILHEN www.brunoguilhen.com.br. Prof. BRUNO GUILHEN

APRESENTAÇÃO DO CURSO. Prof. BRUNO GUILHEN www.brunoguilhen.com.br. Prof. BRUNO GUILHEN APRESENTAÇÃO DO CURSO Prof. BRUNO GUILHEN www.brunoguilhen.com.br Prof. BRUNO GUILHEN MÓDULO I - INTERNET Aula 01 O processo de Navegação na Internet. O processo de Navegação na Internet A CONEXÃO USUÁRIO

Leia mais

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática Firewall Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes Campus Cachoeiro Curso Técnico em Informática Firewall (definições) Por que do nome firewall? Antigamente, quando as casas

Leia mais

A Evolução dos Problemas de Segurança e Formas de Proteção

A Evolução dos Problemas de Segurança e Formas de Proteção A Evolução dos Problemas de Segurança e Formas de Proteção Cristine Hoepers cristine@cert.br Klaus Steding-Jessen jessen@cert.br Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil

Leia mais

Daniel Moreno. Novatec

Daniel Moreno. Novatec Daniel Moreno Novatec Novatec Editora Ltda. 2015. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia

Leia mais

Exploradores de uma vulnerabilidade para atacar ativos

Exploradores de uma vulnerabilidade para atacar ativos Ameaças Exploradores de uma vulnerabilidade para atacar ativos Demonstração de poder Motivos Busca por prestígio Motivações financeiras Motivações ideológicas Motivações comerciais Processo de Ataque Exploram

Leia mais

A utilização das redes na disseminação das informações

A utilização das redes na disseminação das informações A utilização das redes na disseminação das informações Elementos de Rede de computadores: Denomina-se elementos de rede, um conjunto de hardware capaz de viabilizar e proporcionar a transferência da informação

Leia mais

Programa que, além de incluir funcionalidades de worms, dispõe de mecanismos de comunicação com o invasor, permitindo que seja controlado remotamente.

Programa que, além de incluir funcionalidades de worms, dispõe de mecanismos de comunicação com o invasor, permitindo que seja controlado remotamente. TIPOS DE VÍRUS Principais Tipos de Códigos Maliciosos 1. Virus Programa que se propaga infectando, isto é, inserindo cópias de si mesmo e se tornando parte de outros programas e arquivos de um computador.

Leia mais

Segurança na Internet. Disciplina: Informática Prof. Higor Morais

Segurança na Internet. Disciplina: Informática Prof. Higor Morais Segurança na Internet Disciplina: Informática Prof. Higor Morais 1 Agenda Segurança de Computadores Senhas Engenharia Social Vulnerabilidade Códigos Maliciosos Negação de Serviço 2 Segurança de Computadores

Leia mais

Ferramentas e Diferentes tipos de Ataques Objetivo: Fundamentar as diferentes técnicas de ataques hackers e suas ferramentas.

Ferramentas e Diferentes tipos de Ataques Objetivo: Fundamentar as diferentes técnicas de ataques hackers e suas ferramentas. 02/12/2014 Tipos de Ataque Segurança em Redes de Computadores Emanuel Rebouças, MBA Disciplina: SEGURANÇA EM REDES DE COMPUTADORES / Módulo: INTRODUÇÃO À SEGURANÇA DA INFORMAÇÃO Copyright 2014 AGENDA Ferramentas

Leia mais

Lista de Exercício: PARTE 1

Lista de Exercício: PARTE 1 Lista de Exercício: PARTE 1 1. Questão (Cód.:10750) (sem.:2a) de 0,50 O protocolo da camada de aplicação, responsável pelo recebimento de mensagens eletrônicas é: ( ) IP ( ) TCP ( ) POP Cadastrada por:

Leia mais

Blinde seu caminho contra as ameaças digitais. Manual do Produto. Página 1

Blinde seu caminho contra as ameaças digitais. Manual do Produto. Página 1 ] Blinde seu caminho contra as ameaças digitais Manual do Produto Página 1 O Logon Blindado é um produto desenvolvido em conjunto com especialistas em segurança da informação para proteger os clientes

Leia mais

Segurança a da Informação Aula 06. Aula 06

Segurança a da Informação Aula 06. Aula 06 Segurança a da Informação 26/9/2004 Prof. Rossoni, Farias 1 Em Segurança a da Informação, o que vem a ser: Cracking de Senhas IP Spoofing Denial of Service Sniffer Trojan Engenharia Social Consolidação

Leia mais

Firewall. Qual a utilidade em instalar um firewall pessoal?

Firewall. Qual a utilidade em instalar um firewall pessoal? Firewall Significado: Firewall em português é o mesmo que parede cortafogo, um tipo de parede, utilizada principalmente em prédios, que contém o fogo em casos de incêndio. O firewall da informática faz

Leia mais

1 Introdução 1.1. Segurança em Redes de Computadores

1 Introdução 1.1. Segurança em Redes de Computadores 1 Introdução 1.1. Segurança em Redes de Computadores A crescente dependência das empresas e organizações modernas a sistemas computacionais interligados em redes e a Internet tornou a proteção adequada

Leia mais

Março/2005 Prof. João Bosco M. Sobral

Março/2005 Prof. João Bosco M. Sobral Plano de Ensino Introdução à Segurança da Informação Princípios de Criptografia Segurança de Redes Segurança de Sistemas Símbolos: S 1, S 2,..., S n Um símbolo é um sinal (algo que tem um caráter indicador)

Leia mais

Controlando o tráfego de saída no firewall Netdeep

Controlando o tráfego de saída no firewall Netdeep Controlando o tráfego de saída no firewall Netdeep 1. Introdução Firewall é um quesito de segurança com cada vez mais importância no mundo da computação. À medida que o uso de informações e sistemas é

Leia mais

Informação: o principal ativo de um negócio

Informação: o principal ativo de um negócio WHITE PAPER Informação: o principal ativo de um negócio Gestão de dados se tornou ponto crucial para sobrevivência das instituições, mas poucas ainda mantêm programa de treinamento em segurança. Fiscalização

Leia mais

Códigos Maliciosos.

Códigos Maliciosos. <Nome> <Instituição> <e-mail> Códigos Maliciosos Agenda Códigos maliciosos Tipos principais Cuidados a serem tomados Créditos Códigos maliciosos (1/3) Programas especificamente desenvolvidos para executar

Leia mais

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

Dicas de Segurança no uso de Computadores Desktops

Dicas de Segurança no uso de Computadores Desktops Universidade Federal de Goiás Dicas de Segurança no uso de Computadores Desktops Jánison Calixto CERCOMP UFG Cronograma Introdução Conceitos Senhas Leitores de E-Mail Navegadores Anti-Vírus Firewall Backup

Leia mais

Evolução Tecnológica e a Segurança na Rede

Evolução Tecnológica e a Segurança na Rede Evolução Tecnológica e a Segurança na Rede Miriam von Zuben miriam@cert.br! Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasill Núcleo de Informação e Coordenação do Ponto br

Leia mais

Gerência de Redes Segurança

Gerência de Redes Segurança Gerência de Redes Segurança Cássio D. B. Pinheiro cdbpinheiro@ufpa.br cassio.orgfree.com Objetivos Apresentar o conceito e a importância da Política de Segurança no ambiente informatizado, apresentando

Leia mais

Blinde seu caminho contra as ameaças digitais. Manual do Produto. Página 1

Blinde seu caminho contra as ameaças digitais. Manual do Produto. Página 1 ] Blinde seu caminho contra as ameaças digitais Manual do Produto Página 1 O Logon Blindado é um produto desenvolvido em conjunto com especialistas em segurança da informação para proteger os clientes

Leia mais