Читать книгу Guia Para Iniciantes Em Hacking De Computadores (Alan T. Norman) онлайн бесплатно на Bookz (2-ая страница книги)
bannerbanner
Guia Para Iniciantes Em Hacking De Computadores
Guia Para Iniciantes Em Hacking De Computadores
Оценить:
Guia Para Iniciantes Em Hacking De Computadores

5

Полная версия:

Guia Para Iniciantes Em Hacking De Computadores

Vulnerabilidades Humanas

Uma vulnerabilidade raramente discutida é a do usuário humano. A maioria dos usuários de computadores e sistemas de informação não são especialistas em informática ou profissionais de segurança cibernética. A maioria dos usuários sabe muito pouco sobre o que acontece entre seus pontos de interface e os dados ou serviços que estão acessando. É difícil fazer com que as pessoas, em larga escala, mudem seus hábitos e usem as práticas recomendadas para definir senhas, verificar cuidadosamente os emails, evitar sites maliciosos e manter o software atualizado. Empresas e agências governamentais gastam muito tempo e recursos treinando funcionários para seguir os procedimentos adequados de segurança da informação, mas é necessário apenas um elo fraco da cadeia para dar aos hackers a janela que eles procuram para acessar um sistema ou rede inteira.

Os firewalls mais sofisticados e caros e a prevenção de intrusões de rede dos sistemas são inúteis quando um único usuário interno clica em um link malicioso, abre um vírus em um anexo de email, conecta-se a uma unidade flash comprometida ou simplesmente fornece sua senha de acesso pela Internet, telefone ou email. Mesmo quando lembrado repetidamente das melhores práticas de segurança, os usuários comuns são a vulnerabilidade mais fácil e mais consistente a descobrir e explorar. Às vezes, as vulnerabilidades humanas são tão simples quanto praticar a segurança de senhas ruins, deixando as senhas escritas à vista de todos, às vezes até anexadas ao hardware em uso. O uso de senhas fáceis de adivinhar é outro erro comum do usuário. Um sistema corporativo específico foi comprometido quando um hacker inteligente deixou intencionalmente um pen drive USB no estacionamento de uma empresa. Quando um funcionário desavisado o encontrou, colocou a unidade no seu computador do trabalho e, em consequência, liberou um vírus. A maioria das pessoas não leva a sério a segurança de computador até que ocorra um incidente e, mesmo assim, costuma voltar aos mesmos hábitos. Os hackers sabem disso e aproveitam-se sempre que possível.

Vulnerabilidades de Software

Todos os computadores confiam no software (ou "firmware", em alguns dispositivos) para converter comandos de entrada ou usuário em ação. O software gerencia logins de usuários, realiza consultas a bancos de dados, executa envios de formulários de sites, controla hardware e periféricos e gerencia outros aspectos da funcionalidade do computador e da rede que podem ser explorados por um hacker. Além do fato de que os programadores cometem erros e omissões, é impossível para os desenvolvedores de software antecipar todas as vulnerabilidades possíveis em seu código. O máximo que os desenvolvedores podem esperar é corrigir e alterar seus softwares quando vulnerabilidades são descobertas. É por isso que é tão importante manter o software atualizado.

Algumas vulnerabilidades de software são devido a erros na programação, mas a maioria é simplesmente devido a falhas imprevistas no design. O software geralmente é seguro quando usado como projetado, mas combinações imprevistas e não intencionais de entradas, comandos e condições geralmente resultam em consequências imprevisíveis. Sem controles rígidos sobre como os usuários interagem com o software, muitas vulnerabilidades são descobertas por engano ou aleatoriamente. Os hackers procuram descobrir essas anomalias o mais rápido possível.

Explorações

Encontrar e explorar vulnerabilidades para obter acesso aos sistemas é uma arte e uma ciência. Devido à natureza dinâmica da segurança da informação, existe um jogo constante de "gato e rato" entre hackers e profissionais de segurança, e até mesmo entre adversários de nações. Para permanecer à frente (ou pelo menos não ficar muito para trás), é preciso não apenas ficar a par das últimas tecnologias e vulnerabilidades, mas também ser capaz de prever como os hackers e o pessoal de segurança reagirão às mudanças no sistema. paisagem geral.

Acesso

O objetivo mais comum da exploração é obter acesso e algum nível de controle de um sistema de destino. Como muitos sistemas têm vários níveis de acesso para fins de segurança, geralmente ocorre que cada nível de acesso tem sua própria camada de vulnerabilidades sendo, geralmente, mais difícil de invadir conforme existam funcionalidades mais vitais. O golpe final de acesso para um hacker é atingir o nível de super usuário ou raiz – um termo UNIX – conhecido como "obtendo raiz" na linguagem dos hackers. Este nível mais alto permite o controle do usuário de todos os sistemas, arquivos, bancos de dados e configurações em um determinado sistema independente.

Pode ser bastante difícil violar o nível raiz de um sistema de computador seguro em uma única exploração. Mais frequentemente, os hackers exploram vulnerabilidades mais fáceis ou aproveitam os usuários menos experientes para obter primeiro acesso de baixo nível. A partir desse ponto, outros métodos podem ser empregados para atingir níveis mais altos dos administradores até a raiz. Com o acesso root, um hacker pode visualizar, baixar e substituir informações à vontade e, em alguns casos, remover quaisquer vestígios de que estiveram no sistema. Por esse motivo, obter a raiz em um sistema de destino é um ponto de orgulho como a maior conquista entre hackers de chapéu preto e chapéu branco.

Negando Acesso

Em muitos casos, obter acesso a um determinado sistema de destino é impossível, extremamente difícil, ou nem mesmo desejado por um hacker. Às vezes, o objetivo de um hacker é simplesmente impedir que usuários legítimos acessem um site ou rede. Este tipo de atividade é conhecida como negação de serviço (DoS). O propósito de conduzir um ataque DoS pode variar. Uma vez que é relativamente simples de executar, muitas vezes é um exercício iniciante para um hacker inexperiente ("novato", "n00b" ou "neófito") na linguagem) para ganhar direito de se gabar. Hackers mais experientes podem executar ataques DoS sustentados, que interrompem servidores comerciais ou governamentais por um longo período de tempo. Assim, grupos organizados de hackers muitas vezes mantêm um site "refém" e exigem um resgate dos proprietários em troca de parar o ataque, tudo sem nunca ter que ter acesso.

Capítulo 3. Primeiros Passos

Os hackers têm a reputação de serem indivíduos altamente inteligentes e prodigiosos em muitos aspectos. Pode, portanto, parecer ser uma tarefa trabalhosa e difícil começar do zero e alcançar qualquer nível prático de proficiência . Deve-se lembrar que todos devem começar em algum lugar quando aprendem uma matéria ou habilidade. Com dedicação e perseverança, é possível ir tão longe no mundo do hacking quanto sua vontade puder levá-lo. Uma coisa que vai ajudar no processo de se tornar um hacker é definir algumas metas. Pergunte a si mesmo por que você quer aprender hacking e o que você pretende realizar. Alguns só querem aprender o básico para que possam entender como proteger a si mesmos, sua família ou seus negócios contra ataques maliciosos. Outros estão procurando se preparar para uma carreira em hacking de chapéu branco ou segurança da informação. Quaisquer que sejam suas razões, você deve se preparar para aprender um pouco de novos conhecimentos e habilidades.

Aprendizagem

A arma mais importante no arsenal de um hacker é o conhecimento. Não só é importante que um hacker aprenda o máximo possível sobre computadores, redes e softwares – mas, para se manter competitivo e eficaz, eles devem manter-se atualizados sobre as constantes e rápidas mudanças nos computadores e na segurança dos computadores. Não é necessário que um hacker seja um engenheiro, cientista da computação ou tenha conhecimento íntimo de microprocessador ou design de hardware de computador, mas eles devem entender como um computador funciona, os componentes principais e como eles interagem, como os computadores são em rede local e através da internet, como os usuários normalmente interagem com suas máquinas, e – o mais importante – como o software dita a função do computador. Um excelente hacker é fluente e experimentado em várias linguagens de computador e entende os principais sistemas operacionais. E também é muito útil para um hacker estar familiarizado com a história, matemática e prática de criptografia.

É possível, e cada vez mais comum, para um leigo, com pouca experiência de hacking e apenas conhecimento leve ou intermediário sobre programação, realizar um ataque contra um sistema. Muitas vezes as pessoas fazem isso usando scripts e seguindo procedimentos que foram desenvolvidos por operadores mais experientes. Isto acontece mais comumente com tipos mais simples de ataques, como negação de serviço. Esses hackers inexperientes são conhecidos na comunidade de hackers como script kiddies (garotos dos scripts) . O problema com este tipo de atividade é que os criminosos têm pouca apreciação pelo que está acontecendo no código que estão executando, e podem não ser capazes de antecipar efeitos colaterais ou outras consequências não intencionais. É melhor entender completamente o que você está fazendo antes de tentar um ataque.

Computadores e Processadores

Os computadores variam em tamanho, forma e propósito, mas a maioria deles tem, essencialmente, o mesmo design. Um bom hacker deve estudar como os computadores evoluíram desde as primeiras máquinas no século 20 até as máquinas muito mais sofisticadas que usamos hoje. No processo, torna-se evidente que os computadores têm os mesmos componentes básicos. Para ser um hacker eficaz, você deve conhecer os diferentes tipos de processadores que existem na maioria dos computadores modernos. Por exemplo, os três maiores fabricantes de microprocessadores são intel, American Micro Devices (AMD) e Motorola. Estes processadores compreendem a maioria dos computadores pessoais que um hacker encontrará, mas cada um tem seu próprio conjunto de instruções único. Embora a maioria dos hackers raramente tenha que lidar com linguagens de programação no nível da máquina, ataques mais sofisticados podem exigir uma compreensão das diferenças entre os conjuntos de instruções do processador.

Alguns processadores são programáveis pelo usuário final. Estes são conhecidos como Field-Programmable Gate Arrays (FPGA) e estão sendo usados cada vez mais para sistemas embarcados, particularmente em controles industriais. Os hackers são conhecidos por obter acesso a esses chips enquanto estão em produção, a fim de implantar software malicioso no destino final. Uma compreensão da arquitetura e programação FPGA é necessária para estes tipos de ataques sofisticados. Estes ataques incorporados são particularmente preocupantes a clientes militares e industriais que compram chips em larga escala para sistemas críticos.

Rede e Protocolos

Um dos assuntos mais importantes para o aspirante a hacker estudar é o da arquitetura de rede e protocolos. Os computadores podem estar em rede em muitas configurações e tamanhos diferentes, e com diferentes tecnologias que regem sua interconexão. Desde fio de cobre, até fibra óptica, até conexões sem fio e satélite, bem como combinações de todas estas mídias, construímos uma vasta rede de computadores em todo o mundo. Esta rede pode ser entendida em sua totalidade, em grande escala, bem como vista como uma conexão de redes menores e independentes.

Em termos de tamanho, as redes de computadores têm sido tradicionalmente categorizadas como Redes de Área Local (LAN) e Redes de Área Ampla (WAN). Os WANs normalmente conectam vários LANs. Existem várias outras designações para diferentes tamanhos de redes, e a terminologia está sempre mudando à medida que novas tecnologias e condutividades se desenvolvem. Acompanhar estas mudanças é uma das tarefas constantes de um hacker.

As redes também possuem arquiteturas diferentes. A arquitetura é determinada não apenas pela configuração dos diferentes nódulos, mas também pelo meio que os conecta. Originalmente, computadores em rede eram sempre conectados por fios de cobre. Os cabos de rede de cobre comumente utilizados, muitas vezes conhecidos como cabos ethernet , consistem em pares torcidos de fio de cobre. Embora o mais comum destes cabos seja o cabo categoria cinco, ou CAT-5, está começando a dar lugar a um novo padrão, o CAT-6, que tem maior capacidade de transmissão de sinais. Para aplicações de alta velocidade e distâncias mais longas, os cabos de fibra óptica são geralmente escolhidos. A fibra óptica usa luz em vez de eletricidade e tem uma capacidade muito alta para transportar informações. Eles são usados para transmitir a televisão a cabo mais moderna e serviços de internet de alta velocidade. A fibra óptica serve como espinha dorsal para a internet. Em áreas menores, redes sem fio são muito comuns. Usando um protocolo Wireless Fidelity (Wi-Fi), existem redes sem fio em um grande número de LANs pessoais, privadas e comerciais. Os hackers estão frequentemente e particularmente interessados em invadir redes Wi-Fi, o que resulta na evolução dos padrões de segurança Wi-Fi.

Independentemente da arquitetura ou meio de transmissão, quando dois terminais estão se comunicando em uma rede, eles devem fazê-lo usando um conjunto comum de regras conhecido como protocolo . Os protocolos de rede evoluíram desde que as primeiras redes de computadores foram criadas, mas mantiveram a mesma abordagem básica em camadas. Em geral, uma rede é conceituada em termos de diferentes camadas que executam diferentes funções. Isto também é conhecido como uma pilha (stack) . Os protocolos de comunicação mais comuns utilizados hoje são o Protocolo de Internet (IP) e o Protocolo de Controle de Transmissão (TCP). Juntos, são comumente conhecidos como TCP/IP . Estes protocolos mudam e são padronizados de vez em quando. É fundamental que o hacker aprenda estes protocolos e como eles se relacionam com a comunicação entre as diferentes camadas da pilha. É assim que os hackers podem obter níveis cada vez maiores de acesso a um sistema.

Linguagens de Programação

Para quem nunca o fez antes, pode parecer assustador aprender uma linguagem de programação do zero, mas muitas pessoas acham que, uma vez que se tornam proficientes em uma linguagem de programação, é muito mais fácil e rápido aprender outras. Os hackers não só precisam entender linguagens de programação para serem capazes de explorar vulnerabilidades de software, mas muitos hackers precisam escrever seu próprio código, para serem capazes de executar um ataque específico. Ler, entender e escrever códigos é fundamental para hackear.

As linguagens de programação variam de código de máquina muito obscuro, que está em formato binário e hexadecimal e é usado para se comunicar diretamente com um processador, até linguagens orientadas a objetos de alto nível, que são usadas para o desenvolvimento de software. As linguagens comuns orientadas a objetos de alto nível são C++ e Java . O código escrito em idiomas de alto nível é compilado no código de máquina apropriado para um determinado processador, o que torna as linguagens de alto nível muito portáteis entre diferentes tipos de máquinas. Outra categoria é uma linguagem roteirizada, onde os comandos são executados linha por linha em vez de serem compilados em código de máquina.

Aprender linguagens de programação leva tempo e prática – não há outra maneira de se tornar proficiente. Longas noites e maratonas noturnas de escrita, depuração e recompilação de códigos são um rito comum de passagem entre hackers iniciantes.

Capítulo 4. Kit de Ferramentas do Hacker

Mesmo armado com conhecimento, desenvoltura e a quantidade certa de perseverança teimosa, o hacker ainda precisa de um certo conjunto de ferramentas físicas para realizar um ataque. No entanto, hacking não precisa ser uma profissão ou hobby caro. A maioria das ferramentas de software de que um hacker precisa pode ser obtida livremente porque são produtos de código aberto. Nem um hacker precisa de milhares de dólares em equipamentos de computação de alta potência – para a maioria dos ataques, um simples laptop ou computador desktop com uma quantidade razoável de memória, armazenamento e velocidade do processador será suficiente. Ao longo das décadas, os hackers tornaram-se notórios por realizar grandes feitos com orçamentos relativamente baixos. Embora cada indivíduo precise decidir por si mesmo qual combinação de hardware e software ele precisa para seus objetivos particulares, este capítulo servirá como um guia para ajudar a entender quais diferentes opções estão disponíveis e são preferidas na comunidade hacking .

Sistemas Operacionais & Distribuições

Um sistema operacional (OS) é o intermediário entre o hardware e o software de um computador. Um sistema operacional normalmente gerencia o sistema de arquivos, a comunicação periférica e as contas de usuário de um sistema de computador, entre outras responsabilidades. Existem várias marcas de sistemas operacionais, tanto comerciais quanto de código aberto, que podem ser instalados em qualquer plataforma de computador. O Microsoft Windows é o sistema operacional comercial mais conhecido e instalado para sistemas de estilo "PC". A Apple tem seu próprio SO que vem instalado em seu computador e sistemas móveis. O sistema operacional do Google, Android, de código aberto, está rapidamente ganhando popularidade.

O sistema operacional Linux, nomeado e desenvolvido por Linus Torvalds – uma figura lendária na cultura hacker – é um desdobramento de código aberto do sistema operacional UNIX (o Sistema Operacional da Apple também é baseado no sistema UNIX). O Linux ganhou popularidade ao longo dos anos entre hackers e entusiastas hardcore de computadores por sua flexibilidade e portabilidade. Várias distribuições do Linux evoluíram para diferentes propósitos através de ajustes constantes por parte de seus usuários. As distribuições são tipicamente distinguíveis umas das outras pelo seu tamanho, interface de usuário, drivers de hardware e as ferramentas de software que vêm pré-instaladas. Algumas distribuições populares do Linux, como Red Hat e Ubuntu, são para uso geral. Outros foram desenvolvidos para tarefas e plataformas específicas. O sistema operacional na plataforma de "ataque" de um hacker é o coração de seu kit de ferramentas.

Kali Linux

Anteriormente conhecido como Backtrack, Kali é um popular sistema operacional Linux de código aberto para hackers. Kali (as distribuições mais recentes do Kali Linux podem ser encontradas em www.kali.org/downloads ) pode ser instalado em uma máquina dedicada, ou executado a partir de uma máquina virtual dentro de outro sistema operacional. Ao longo dos anos, Kali evoluiu para conter uma grande variedade dos programas de avaliação e exploração de vulnerabilidades mais úteis. É uma das primeiras ferramentas que um hacker iniciante deve obter. Kali não só fornece prática usando uma plataforma Linux, mas também contém tudo o que um hacker precisa para realizar alguns dos ataques mais básicos de nível inferior, a fim de obter uma experiência valiosa.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.

Вы ознакомились с фрагментом книги.

Для бесплатного чтения открыта только часть текста.

Приобретайте полный текст книги у нашего партнера:


Полная версия книги
bannerbanner