Guia Para Iniciantes Em Hacking De Computadores. Alan T. Norman
Читать онлайн книгу.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