Um hacker deve ter objetivos claros em mente antes de embarcar em qualquer empreendimento, mesmo aqueles destinados apenas à prática. Todas as ações devem ser realizadas levando-se em consideração os próprios padrões éticos de', as expectativas da comunidade e as consequências potenciais (consulte o dilema em Figura 1). Um erro comum para iniciantes é superestimar seu nível de anonimato. Um erro ainda mais grave é superestimar seu nível de habilidade. Um ataque mal executado pode revelar a identidade do hacker ou causar danos não intencionais ou perda de dados no sistema alvo. Leva tempo para atingir um nível apropriado de proficiência e competência para qualquer tarefa, e a impaciência pode arruinar tudo.
Figura 1 - O dilema do hacker
Algumas palavras de cautela.
Antes de embarcar em qualquer missão de teste de penetração ou de qualquer outra forma de implementação do conhecimento e das habilidades adquiridas neste livro, o leitor deve manter em mente o seguinte conselho de advertência.
O panorama em rápida mudança
Mais do que qualquer outro tipo de indústria ou tecnologia, o mundo dos computadores e das redes de informação (tanto termos de hardware quanto software) muda rapidamente. Novas versões - às vezes até várias versões à frente - estão sempre em produção antes mesmo que as mais atuais cheguem ao mercado. Normalmente não é possível prever quando uma nova versão, sub-versão ou patch para um determinado pacote será lançado - ou quais mudanças virão com esse lançamento. O mundo do software de código aberto, de onde vem a maioria das ferramentas de hackers, é especialmente caótico. Versões, patches e documentação são frequentemente conduzidos pela comunidade de usuários e não são necessariamente mantidos de forma centralizada, com qualquer tipo de controle de qualidade rigoroso. Existem vários tipos de distribuições para sistemas operacionais de código aberto e outras ferramentas, e nem sempre se coordenam as mudanças em seus códigos base. Como resultado deste cenário em constante mutação e frequentemente imprevisível, quaisquer etapas individuais ou sintaxe de comando para um determinado procedimento estão sujeitas a alterações a qualquer momento. Além disso, a implementação de certos procedimentos pode ser diferente, às vezes de maneiras sutis e às vezes drasticamente, dependendo da natureza do hardware ou sistema operacional em que estão sendo executados.
Este livro tenta alinhar as informações mais recentes, comuns e universais e fornece advertências onde os procedimentos são diferentes. No entanto, o leitor deve estar preparado para o fato de que há, geralmente, uma grande variedade de solução de problemas e refinamento de etapas individuais que acompanham a implementação de muitos dos procedimentos apresentados neste livro. Quando ocorrem erros ou resultados inesperados, existem recursos disponíveis gratuitamente na Internet para obtenção de informações atualizadas. Os melhores lugares para procurar são os sites de hospedagem do software em questão, vários hackers online ou fóruns de mensagens de software. Na maioria dos casos, outra pessoa já encontrou e publicou uma solução para o problema que você está enfrentando.
Os limites do anonimato
Este livro discute várias ferramentas e métodos diferentes para hackers (ou mesmo apenas usuários casuais da Internet) manterem um grau de anonimato. Estes procedimentos vão desde ocultar ou ofuscar o endereço IP ou MAC de alguém até acessar recursos por meio de canais criptografados ou multi-hop. No entanto, é importante entender que a natureza da comunicação torna virtualmente impossível para qualquer pessoa manter 100% de anonimato. Uma parte motivada e bem financiada, seja uma organização criminosa ou governamental (ou ambas, em alguns casos), pode muitas vezes obter as informações que está procurando. Em muitos casos, basta um pequeno erro da parte da pessoa que deseja permanecer anônima para que sua localização ou identidade seja revelada. A natureza das atividades desta pessoa geralmente determinará os recursos que outros estão dispostos a dedicar para encontrá-la. Ainda é possível manter um alto grau de confiança no anonimato com a implementação de vários métodos simultaneamente. Em muitos casos, isto tornará o tempo necessário para rastrear alguém proibitivo e caro. O resultado final é que você nunca deve presumir que está completamente seguro ou anônimo.
Ramificações legais e éticas
Hacking for Begginers apresenta uma análise detalhada das várias questões legais e éticas que devem ser consideradas antes de se iniciar o hacking de computador como hobby ou carreira. Este livro apresenta informações de maneira prática, incentivando o usuário a usar o conhecimento adquirido com cuidado e diligência. Nenhuma das ferramentas ou procedimentos descritos neste livro são ilegais ou mesmo antiéticos, quando usados no contexto adequado. Na verdade, eles são cruciais para a compreensão da natureza das ameaças modernas à segurança da informação e protegê-las contra aquelas. Além disso, é comum e aconselhável realizar ataques contra os próprios sistemas para identificar e corrigir vulnerabilidades. Tentar acessar ou comprometer um sistema sem a permissão do proprietário não é recomendado, especialmente para iniciantes inexperientes, e pode levar a consequências graves, incluindo processos criminais. Certifique-se de entender as leis e penalidades - que podem variar de acordo com o país e a localidade - e, conforme mencionado acima, não conte com o anonimato para protegê-lo.
Capítulo 1. Linux Kali
Para começar a hackear sem fio, é preciso primeiro se familiarizar com as ferramentas desta atividade. Nenhuma ferramenta é mais valiosa, especialmente para um hacker iniciante, do que o Linux Kali. Um conjunto de software de análise e penetração gratuito, estável, bem mantido e surpreendentemente completo, Kali evoluiu no cadinho das distribuições de código aberto Linux e emergiu como o rei de todos os sistemas operacionais para hackers. Este sucessor da notória distribuição BackTrack tem tudo que um hacker precisa, de novatos a especialistas experientes.
Uma Breve História Do Unix E Linux
No início dos anos 1970, o Unix, - abreviação de UNICS (Uniplexed Information and Computing Service) - um sistema operacional (SO), evoluiu de um projeto extinto da AT&T Bell Labs para fornecer acesso de usuários simultâneos a serviços de computadores mainframe. Conforme o Unix se tornou mais formalizado e cresceu em popularidade, ele começou a substituir os sistemas operacionais nativos em algumas plataformas comuns de mainframe. Originalmente escrito em linguagem assembly, a reformulação do Unix na linguagem de programação C aumentou sua portabilidade. Eventualmente, várias versões do Unix, incluindo algumas para microcomputadores, surgiram no mercado comercial. Vários derivados populares do sistema operacional, chamados de “semelhantes ao Unix”, tomaram forma nas décadas seguintes, incluindo o Mac OS da Apple, Solaris da Sun Microsystem e BSD (Berkeley Software Distribution).
Os esforços para criar uma versão disponível gratuitamente do Unix começaram na década de 1980 com o projeto GNU (“GNU's Not Unix”) General Public License (GPL), mas não conseguiram produzir um sistema viável. Isto levou o programador finlandês Linus Torvalds a lidar com o desenvolvimento de um novo kernel Unix (o módulo de controle central de um sistema operacional) como um projeto de estudante. Usando o sistema operacional educacional semelhante ao Unix, o Minix, Torvalds codificou com sucesso um kernel do sistema operacional em 1991, tornando o código-fonte disponível gratuitamente para download público e manipulação sob a GNU GPL. O projeto foi eventualmente denominado Linux (uma combinação do primeiro nome de Torvalds, “Linus”, com “Unix”).
Embora o termo Linux se referisse inicialmente apenas ao kernel desenvolvido