




























































































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Segurança na web
Tipologia: Notas de estudo
1 / 131
Esta página não é visível na pré-visualização
Não perca as partes importantes!





























































































Esse livro se destina àquelas pessoas que gostam de informática e de aprender cada vez mais. Não importa se ao usuário comum ou o técnico, todos se identificarão muito com a obra. Os assuntos serão apresentados de maneira objetiva e universal. Mostrada em uma linguagem clara mas direta, é como um livro de história. Explica, como, onde e por quê a segurança na informática hoje é um problema tão grande. Ela está em nossa vida quando retiramos dinheiro do caixa eletrônico, fazemos compras pela Internet e até quando tiramos algum documento. Viver sem a Internet hoje é indispensável. Conhecer melhor a rede e os seus perigos é imprescindível. O lado mais obscuro da computação atualmente é a segurança, pois é uma faca de dois gumes. Se você sabe como invadir um sistema, sabe como protegê-lo.
É como uma arma. Você sabe que se atirar irá matar alguém, mas entre saber e fazer existe uma grande diferença. Eu não posso me assegurar que você use o conhecimento contido aqui para se proteger, apenas aconselho-o a fazê-lo. Não existe um sistema operacional ideal para estudar junto a esse livro. O meu interesse é mostrar a segurança como um todo, estudando problemas comuns que englobam os sistemas e apenas pequenas diferenças. Na maioria dos exemplos utilizarei programas em Windows, pois são mais fáceis de se explicar para quem está começando. E todos esses programas possuem similares em outros sistemas. Não têm enrolação como páginas e páginas de códigos fontes e informações inúteis: será uma deliciosa viagem de conhecimento real e verdadeiro, adquirido durante meus mais de 6 anos de aventura pela Net.
Meu nome é Marcos Flávio Araújo Assunção, moro em Lavras, MG e estou me mudando em fevereiro de 2002 para Poços de Caldas, MG. Tenho 20 anos e amo a Internet e computação em geral, sou pesquisador amador na àrea, não fiz e nem penso em fazer ciëncias da computação (vou fazer direito), pretendo melhorar esse “livro” a cada nova versão para que se torne um ótimo guia brasileiro sobre hackers. Meu e-mail é [email protected] e meu UIN no icq é 27672882. Dúvidas e sugestões, à vontade. Se quiser me ligar, meus telefones são: 35-38220176 (Lavras) ou 35-38612309 (Nepomuceno). Não tenho formação nem fiz cursos na àrea. Sou apenas um interessado em estar sempre aprendendo.
A maioria dos programas mencionados no livro podem ser conseguidos nos sites www.blackcode.com. e ftp.technotronic.com Para os outros é só usar sites de downloads como www.superdownloads.com.br .Ferramentas de busca também servem, tais como Altavista (www.altavista.com) ou Google (www.google.com). Tente também meu site (www.anti-trojans.cjb.net). Se quiser tirar textos desse livro, indique meu nome na frente.
1
Estamos seguros?
A fragilidade dos sistemas informatizados não é nenhuma novidade. A décadas, celebridades como Robert Morris Jr , Capitão Crunch , Kevin Poulsen e Kevin Mitnick , esses últimos dois mais recentes, fazem com que as pessoas se preocupem e tenham um medo maior do computador. Esse medo virou pânico em pleno século XXI. Piratas novamente existem, mas sua arma não é mais a espada, é o fax-modem. Graças à essa maravilha do mundo moderno, dados podem navegar por linhas telefônicas, cabos e satélites, diminuindo as distâncias entre os povos e iniciando a nova era digital. Ladrões assaltam bancos confortavelmente no Havaí enquanto desviam o dinheiro para a Suíça. A espionagem industrial é um dos problemas agravados. Ela sempre existiu, mas com a facilidade de acesso à Internet, qualquer pessoa pode conseguir dados confidenciais e vendê-los para concorrentes.
Diariamente, páginas e páginas são tiradas do ar por piratas digitais. Grupos de hackers e crackers brasileiros, como Prime Suspectz e Inferno.br (esse último já extinto), junto a outros centenas pelo mundo realizam façanhas extraordinárias, como invadir vários sites da Microsoft, a Nasa, FBI, Interpol e muitos outros. Os grupos brasileiros atualmente são os que mais invadem homepages em todo o mundo, fazendo com que a própria Nasa restrinja acesso ao Brasil em algumas de suas páginas. Mas nem todos são ruins. Existem grupos que se especializam em criar ferramentas e ajudar usuários comuns, como o UHOL. Toda essa fama já criou até um novo termo no mundo da segurança: o Backer. Ou seja, Brazilian Hacker (Hacker Brasileiro). Isso demonstra a fragilidade da situação. Respondendo à pergunta do tópico: estamos seguros? Com certeza que não.
A segurança de sistemas existe por um conjunto de fatores. Engana-se quem pensa que somente por utilizar uma plataforma Unix ao invés de Windows está seguro. Ou que é só colocar um anti-vírus e um firewall na sua empresa que está tudo bem. A proporção do problema é bem maior. Geralmente os sistemas mais vulneráveis da rede possuem dois pontos em comum:
Administrador
O ponto chave e essencial para qualquer sistema de computador é o administrador. Ele é responsável por fazer com que tudo corra perfeitamente. Checa os dados, administra usuários, controla servidores, checa logs, tudo todos os dias. Acontece que a grande maioria dos administradores hoje não se preocupa com a segurança como deve. Logo terá problemas com o seu sistema, não importa qual seja. É como se fosse mãe e filho. Se uma mãe alimenta seu filho, cuida dos seus deveres de casa, compra roupas novas, dá brinquedos mas não é capaz de comprar um seguro de vida, ou pior, zela tão pouco pela segurança dele que ao sair de casa deixa as portas ou janelas abertas. Essa não pode ser uma boa mãe.
Mesmo que uma rede utilize um sistema operacional que contenha muitas falhas, os bons administradores todo dia estarão checando por falhas descobertas e corrigindo-as. Já os outros provavelmente vão ficar em algum chat comendo sanduíches.
Sistemas operacionais
Como eu disse anteriormente, não há realmente um sistema que seja melhor que o outro. Existem vantagens e desvantagens de cada um. Tudo bem que alguns possuem erros muitos grandes, mas podem facilmente ser corrigidos. A intenção do sistema também importa. Não adianta ter uma rede e utilizar Windows 98 ou ME. Os recursos de segurança deles são muito escassos, pois foram feitos para o usuário comum e não para o ambiente empresarial. Não adianta também instalar o Digital Unix , FreeBSD ou AIX se o seu administrador só possui experiência em Lantastic. O sistema também vai depender do tipo de rede que você terá. Se você terá um servidor Web ou algum tipo de acesso externo, seria melhor utilizar o Linux ou o Windows NT. Se for uma rede interna somente, utilize Novell Netware , que ainda não fez a sua história quanto à Internet, mas ainda é insuperável nas redes locais.
Anos atrás, os operadores de um computador ENIAC se depararam com uma coisa curiosa. Um inseto havia ficado preso dentro da máquina e estava atrapalhando o funcionamento da mesma. Daí surgiu o termo bug (inseto) que virou sinônimo de falha. Hoje quando se descobre um erro em algum programa, se diz: “ novo bug descoberto ”. De lá pra cá, as coisas evoluíram muito, mas os bugs continuam a existir. Muitos deles são frutos da história do próprio programa ou sistema. O Windows por exemplo. O Windows NT foi construído a partir do zero, mas o Windows ME não. Desde o início da criação de sua primeira interface gráfica, a Microsoft vêm tendo problemas com erros graves em seu sistema operacional. Já o sistema Unix, foi criado pelos desenvolvedores da linguagem C, para ser um sistema versátil e poderoso. Para conhecer melhor sobre a história de cada sistema, leia a seção sistemas operacionais.
A Internet também têm seus problemas ligadas à história de sua origem. Desde que se chamava Arpanet e foi criada pelo exército americano para resistir à guerra fria, a rede evoluiu muito e foram criados novos serviços como E-mail , World Wide Web , Gopher , Wais e outros. Milhões de computadores se juntaram a ela e seus recursos são cada vez mais sofisticados. Mas alguns problemas bem antigos ainda prejudicam hoje. Uma falha na implementação do TCP/IP( conjunto de protocolos em que a Internet se baseia) por exemplo, possibilita que o ataque de Spoof aconteça.
pode ser visto em muitos fóruns de discussão e em grandes empresas, as quais contratam hackers para proteger seus sistemas.
O Darth Maul representa bem um cracker
Os hackers e crackers são eternos inimigos. Um não gosta do outro e sempre estão lutando por seus ideais. Usei a analogia do guerra nas estrelas pois expressam exatamente bem pessoas de poderes iguais mas de ideologias opostas. Nossos invasores digitais são assim: mocinhos e vilões brigando. E brigas feias.
Phreakers
Maníacos por telefonia. Essa é a maneira ideal de descrever os phreakers. Utilizam programas e equipamentos que fazem com que possam utilizar telefones gratuitamente. O primeiro phreaker foi o Capitão Crunch , que descobriu que um pequeno apito encontrado em pacotes de salgadinhos possui a mesma freqüência dos orelhões da AT&T, fazendo com que discassem de graça. Um programa comum utilizado é o blue box, que gera tons de 2600 pela placa de som, fazendo com que a companhia telefônica não reconheça a chamada. Também têm o Black Box que faz com que você possa ligar de graça do seu telefone doméstico e o
Red Box que possibilita que se ligue de orelhões. Se quiser saber mais sobre o assunto, consulte o site www.txt.org.
Outra técnica muito usada principalmente no Brasil é a de utilizar um diodo e um resistor em telefones públicos. Ou de cobrir o cartão telefônico de papel alumínio para que os creditos não acabem (nunca testei, mas me disseram que funciona). Técnicas como essas são utilizadas no mundo inteiro. O phreaker é uma categoria à parte, podem ser hackers, crackers ou nenhum dos dois. Alguns phreakers brasileiros são tão avançados que têm acesso direto à centrais de telefonia, podendo desligar ou ligar telefones, assim como apagar contas. Um dos programas muitos usados para isso é o ozterm , programinha de terminal que funciona em modo dos. Por sinal, muito difícil de encontrar na net.
Funcionários
Outro problema grave. 60% das invasões hoje acontecem de dentro da própria empresa, por funcionários insatisfeitos ou ex-funcionários que querem vingança. Utilizam-se do conhecimento adquirido e arrasam com dados do sistema. Copiam coisas do seu interesse (como o banco de dados que possui o telefone da loira do setor B) ou instalam joguinhos em rede que podem comprometer a segurança, pois com certeza não se preocupam em passar anti-vírus. Utilizam trojans, scanners e sniffers para capturar o que lhes interessa. Firewall é ineficaz contra eles. Afinal, do que adianta a grande muralha da china se algum soldado é o traidor?
O maior mito existente na Internet é que o cracker pode invadir qualquer computador na hora que quiser. Não é bem assim. Invasões por ICQ por exemplo, pura besteira. Só era possível em versões antigas e mesmo assim se o servidor web que vêm com o programa estivesse ativo. Isso porquê para conseguir acesso ao interpretador de comandos do sistema por alguma porta, têm de existir um serviço próprio para isso. Para se invadir um computador pessoal, só existem duas maneiras: trojans e netbios. A não ser que seja um computador que rode muitos serviços (FTP, Web, Telnet), o perigo é mínimo.
Outro mito é o que o hacker e o cracker são vistos como gênios da informática. Bom, os de antigamente realmente eram e ainda existem alguns poucos mas a grande maioria que se diz “hacker” hoje em dia se aproveita das ferramentas encontradas na Internet. Nem programar sabem. São os famosos Script Kiddies , sub-categoria de crackers. Não têm um alvo certo, vão tentando invadir tudo que vêm na frente. Pior que eles só os Lamers , aqueles que chegam nos chats anunciando “vou te invadir, sou o melhor” mas acaba desistindo pois não consegue descompactar nem um arquivo ZIP.
A engenharia social é uma tática muito usada pelos crackers, desde o início dos tempos. É o que a lei chama de estelionato. Consiste em enganar uma pessoa para se conseguir vantagens. Como no caso do indivíduo que liga para o provedor e pergunta: “Por favor, perdi minha senha de Internet. Poderia olhá-la para mim?”. Alguns provedores pedem documentação para comprovar que é o dono da conta, outros (com funcionários insatisfeitos em sua maioria) não ligam, passam até o número do cartão de crédito de algum usuário se lhe pedirem. Esse método é utilizado também para conseguir informações sobre uma certa pessoa.
2
Como vimos no capítulo anterior, o sistema operacional não influi tanto na segurança quanto algumas pessoas pensavam. Citei anteriormente que se alguém precisasse de um servidor externo seria melhor que utilizasse o Linux ou o Windows NT se fosse apenas uma rede local. E o Netware? A Novell passou a apostar na Internet recentemente, suas antigas versões não possuem o suporte devido à rede. E os seus servidores web ainda não são tão utilizados em larga escala quanto o Apache e o IIS. Por isso não nos aprofundaremos muito nele, pois nosso principal foco são os ataques remotos. Leia um pouco mais sobre cada um.
Por serem os dois sistemas mais usados quando se utiliza servidores externos(servidores de e-mail, , abordaremos uma breve explicação sobre suas diferenças. Para mais detalhes ver a seção sistemas operacionais. O Unix é multi-tarefa e o Windows também. Ambos são largamente usados hoje em dia, sendo distribuídos em várias variantes (Linux, Xenix, Windows ME, Windows XP). O Windows possui algumas vantagens sobre o Unix. Mais simples de se usar, é fácil de se instalar programas e drivers, e possui mais programas no mercado. Apenas isso. O Unix em comparação, possui inúmeras vantagens sobre o Windows. Vamos listar algumas.
As vantagens do código-fonte aberto (ou open-source) são muito grandes. Esse termo significa que os programas criados (ou o próximo sistema operacional) vêm junto com o seu código fonte, ou seja, você pode ver exatamente o que está executando. Para começar, qualquer um pode fazer sua própria versão de Unix ou Linux. É só pegar o código fonte de algum sistema já existente e alterá-lo. Como o sistema operacional foi feito de programadores
para programadores, ainda possuem alguns recursos que o usuário comum não consegue entender. Mas até isso o open-source está mudando. Novas ferramentas gráficas foram criadas para facilitar o uso do Unix. Podem torná-lo tão fácil de usar quanto o Windows. E o melhor são melhoradas rapidamente pelos seus próprios usuários e distribuidas gratuitamente. Alguns bons exemplos são o GNOME e o KDE, os ambientes gráficos mais usados na atualidade.
A configuração malfeita é a perdição de um bom sistema. Contas padrões, serviços desnecessários ativos e erros em permissões de arquivos são falhas muito grandes. As contas padrões são perigosas pois todo mundo conhece sobre elas. O caso do Unix por exemplo. Contas como bin e admin vêm com senhas padrões de acesso ao sistema. Desabilite-as ou mude as senhas. Quanto aos serviços, se você possui um servidor telnet, ou mesmo ftp, que estiver usando pouco, desabilite-os. Ou pelo menos configure para esse servidor as relações de confiança dizendo qual endereço IP poderá ter acesso a ele e qual o acesso será restrito. As permissões de arquivo também são importantes. Elas impedem que alguém execute algum programa malicioso ou acesse o arquivo de senhas.
Todo sistema sofre ataques de maneiras diferentes. E alguns desses ataques afetam o sistema ou não causam absolutamente nada. Um bom exemplo é o caso dos vírus e trojans. Para Unix, eles praticamente não existem. Mas para Windows há milhões deles. O Unix possui falhas em alguns servidores que o Windows não, como o sendmail. O melhor arma para invadir algum sistema é ele mesmo. Por exemplo, se quero conseguir acesso a um servidor Linux, dificilmente conseguirei utilizando Windows NT.
São ataques em que não importa o tipo do SO (Sistema Operacional) de origem ou de destino. Funciona em todos os sistemas. Como é o caso do IP Spoof. Ele trabalha a nível de protocolo, utilizando-o você consegue acesso a qualquer máquina, seja Windows, Unix, Novell, DEC-10, VMS, o que for.
Existem apenas dois tipos de ataques que um sistema pode sofrer. O primeiro é o Denial of Service (DoS) ou Recusa de serviço. Esse ataque consiste em inundar a máquina alvo com dezenas de pacotes de informação, fazendo com que ela não consiga processar a todos e consuma toda a sua memória, paralizando-a. Esse ataque apenas causa danos temporários, como tirar o servidor do ar, mas não fornece acesso aos arquivos. É como se um ladrão, vendo que não vai conseguir roubar um carro, fure os quatro pneus. É chato, demora pra arrumar os pneus mas pelo menos o cd player e os documentos do carro não foram levados. Já a invasão é diferente. Consiste em procurar e utilizar alguma falha do sistema contra ele próprio. Ou então instalar programas residentes na memória (trojans ou sniffers) para que monitorem todo o tráfego de senhas e forneçam acesso a arquivos importantes.
3
Esse capítulo foi feito para quem quer entender um pouco mais sobre protocolos de rede e como eles funcionam. Se você não têm nenhum interesse em dados teóricos, pule o capítulo. Protocolos são programas e devem ser instalados em componentes de rede que precisam deles. Computadores só podem comunicar-se entre si se utilizarem o mesmo protocolo. Se o protocolo usado por um computador não for compatível pelo usado em outro, eles não podem trocar informações. Uma variedade de protocolos está disponível para uso em sistemas de rede fechados (como Novell Netware)
Dois tipos de protocolos existem hoje: abertos e específicos.
Protocolos Abertos
Protocolos abertos são protocolos feitos para o padrão da indústria. Eles se comunicam com outros protocolos que utilizam o mesmo padrão. Um protocolo aberto não possui dono e todos os sistemas podem fazer implementações livremente. Um ótimo exemplo do que é um protocolo aberto é o TCP/IP (Transfer Control Protocol / Internet Protocol). Ele é composto por muitos outros protocolos e está implementado em muitos sistemas (como Macintosh, Windows, Linux, Unix, etc...). O TCP/IP é o protocolo padrão da Internet.
Protocolos Específicos
Protocolos específicos são feitos para ambientes de redes fechados e possuem donos. Como é o caso do IPX / SPX que foi desenvolvido especificamente para a estrutura Novell Netware.
Protocolos roteáveis permitem a transmissão de dados entre diversos segmentos de uma rede. O problema é que o grande volume de certo tipo de tráfego (como executar uma aplicação multimídia pesada) deixa a velocidade de conexão muito lenta. A quantidade de tráfego gerada em uma rede, pode ser de três tipos: Unicast, Broadcast e Multicast.
Unicast
Em uma transmissão unicast, uma cópia separada dos dados são enviados de sua origem para cada computador cliente que os requeste. Nenhum outro computador na rede precisa processar o tráfego gerado. No entanto, em uma rede com muitos computadores o unicast não é muito eficiente pois o computador de origem terá que transmitir múltiplas cópias dos dados (resultado, ficará lento). O unicast é bom de ser usado apenas em pequenas redes.
Broadcast
Esse é o tipo de transmissão preferido da turma que gosta de um Denial of Service. Nesse tipo de transmissão, os dados são enviados apenas uma vez mas para toda a rede. Esse processo não é muito eficiente pois faz a velocidade cair bastante já que todos os computadores irão receber os dados. Mesmo os hosts que não fizeram o pedido receberão os dados. Somente não irão processá-los. Esse método é utilizado no ataque de smurf, em que é enviado um broadcast para diversos endereços IP e o endereço de origem (que deveria ser o IP de quem enviou) é modificado para o da vítima. Resultado: centenas de máquinas mandarão milhares de unicasts para um pobre coitado.
Multicast
É uma mistura dos dois. É enviada apenas uma cópia dos dados e somente os computadores que fizeram o pedido os recebem, assim evitando de se causar um tráfego muito intenso e consequentemente um congestionamento na rede. Muitos serviços de Internet usam multicast para se comunicar com computadores clientes (quando se diz cliente , é o computador que faz o pedido, que espera uma resposta). Inclusive é nesse tipo de comunicação que se baseia o protocolo IGMP.
A interface NetBIOS (NetBEUI) foi um dos primeiros protocolos disponíveis para uso em redes compostas de computadores pessoais. Como o próprio nome diz, o NET work B asic I nput O utput S ystem, foi designado para ser um protocolo eficiente e pequeno para uso em redes caseiras não roteadas de cerca de no máximo 200 computadores.
Atualmente o NetBIOS é usado mais exclusivamente em pequenas redes não-roteadas podendo ou não estar rodando em vários sistemas operacionais. A implementação NetBIOS do Windows é chamada de NetBEUI. As suas vantagens incluem:
A única desvantagem é que o NetBIOS não suporta roteamento. Trocando em miúdos: o máximo que você vai conseguir invadir usando esse protocolo é o computador do seu
Nesse exemplo criamos um arquivo simples, ligando três endereços IP a nomes NetBIOS. Observe que o primeiro é o endereço de local (o chamado loopback). Leia mais sobre endereço na seção sobre TCP/IP
Há dois tipos de ambiente NetBIOS: Único e grupo. Um nome único deve ser único através da rede (um usuário por exemplo). Um nome de grupo não precisa ser único e processa informações de todo um grupo de trabalho. Cada nó NetBIOS mantêm uma tabela de todos os nomes possuidos por ele. A convenção do nome NetBIOS possibilita que se crie nomes com 16 caracteres. A Microsoft, entretando, limita esses nomes para 15 caracteres e usa o 16º caracter como um sufixo NetBIOS. Um sufixo NetBIOS é usado pelo software de rede da Microsoft para identificar o serviço que está rodando.
Nota: SMB e NBT (NetBIOS sobre o TCP/IP, alguns o chamam apenas de SMB por TCP/IP) funcionam de modo muito parecido e ambos usam as portas 137, 138, 139. A porta 137 é o nome NetBIOS por UDP. A port 138 é o datagrama NetBIOS por UDP. E a port 139 é a sessão NetBIOS por TCP. Mas o NBT costuma usar a porta 445 também.
The following is a table of NetBIOS suffixes currently used by Microsoft WindowsNT. These suffixes are displayed in hexadecimal format.
Nome Número Tipo Uso ==================================================================
<nome_do_computador> 00 U Serviço de workstation <nome_do_computador> 01 U Serviço de mensagens <\MSBROWSE> 01 G Browser principal <nome_do_computador> 03 U Serviço de mensagens <nome_do_computador> 06 U Serviço de servidor RAS <nome_do_computador> 1F U Serviço NetDDE <nome_do_computador> 20 U Serviço de servidor de arquivos <nome_do_computador> 21 U Serviço de cliente RAS <nome_do_computador> 22 U Trocas de intercomunicação <nome_do_computador> 23 U Trocas de Armazenamentos <nome_do_computador> 24 U Diretórios do Exchange <nome_do_computador> 30 U Servidor de compart. de modem <nome_do_computador> 31 U Cliente de compart. de modem <nome_do_computador> 43 U Cliente remoto SMS <nome_do_computador> 44 U Admin remoto SMS <nome_do_computador> 45 U Chat remoto SMS <nome_do_computador> 46 U Transferência remota SMS <nome_do_computador> 4C U Serviço TCP/IP DEC <nome_do_computador> 52 U Serviço TCP/IP DEC <nome_do_computador> 87 U Exchange MTA <nome_do_computador> 6A U Exchange IMC <nome_do_computador> BE U Agente monitor da rede <nome_do_computador> BF U Software monitor da rede <usuário> 03 U Serviço de mdensagens <domínio> 00 G Nome de domínio
As denominações mais importantes para nós aqui são:
Único (U): O nome pode ter apenas um endereço IP ligado a ele. Em uma rede, múltiplas ocorrências de nomes simples podem parecer estarem registradas mas o sufixo será único (em outras palavras, pode parecer um grupo mas não é)
Group (G): Um grupo normal; o nome simples pode existir com muitos endereços IP.
Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX) é um protocolo desenvolvido especificamente para a estrutura Novell NetWare. O IPX define o endereçamento da rede NetWare e o SPX fornece segurança e confiabilidade ao IPX. (O SPX