Escolar Documentos
Profissional Documentos
Cultura Documentos
O termo hack ou hacking foi utilizado nos "bons e velhos tempos" para descrever o ato de estudar novas coisas sobre
sistemas e computadores em geral. Nos anos atuais, graças a alguns péssimos atos, bem como a publicação indevida do
termo nas mídias, o termo hacking passou a ter uma má conotação. Por outro lado, muitas empresas empregam hackers
para que possam testar os pontos fortes e fracos dos próprios sistemas. Eles hackers sabem até onde podem ir e a
confiabilidade que já conseguiram passar às empresas garante bons salários.
Se está pronto para mergulhar e aprender esta arte, continue lendo este artigo para conhecer algumas dicas para indicar por
onde você deverá começar.
Método
Antes de começar a hackear
1
1 Aprenda uma linguagem de programação. Você não deveria limitar-se a qualquer linguagem em
particular, mas existem algumas orientações que podem ser seguidas.
C é a linguagem na qual a maioria dos sistemas operacionais são desenvolvidos. Ela ensina algo muito
importante para hackear (hacking): como a memória funciona.
Python ou Ruby são linguagens de script modernas e poderosas que podem ser utilizadas para
automatizar várias tarefas.
Perl é uma boa escolha neste campo, apesar de que também vale a pena aprender PHP, visto que é
muito utilizado por iniciantes para "hackear" aplicações web mal escritas (fórums, blogs, etc.).
Scripts em bash são uma necessidade, uma obrigação. Essa é a forma com a qual se pode manipular
facilmente a maioria dos servidores - escrevendo scripts online, os quais farão a maior parte do
trabalho.
ASM é, também, uma necessidade fundamental. É um framework para vários propósitos em termos de
manipulação e análise de bytecode Java. Você não poderá realmente explorar (exploitar) um programa
caso você não tenha conhecimentos sobre ASM.
2 Conheça o seu alvo. O processo de coletar informações sobre o seu alvo é conhecido como
enumeração. Quanto mais souber antecipadamente sobre o alvo, menos surpresas você terá.
Método
Hackeando
2
1 Utilize um terminal *nix (*nix significa qualquer terminal baseado em Unix, seja ele Linux, OS X,
BSD, etc). O Cygwin o ajudará a emular um terminal *nix para usuários do sistema operacional Windows. O
Nmap, em particular, utiliza o WinPCap para rodar no Windows e não requer o Cygwin. Porém, o Nmap
funciona precariamente em sistemas Windows devido à falta de sockets dos quais ele necessita. Você deveria
também considerar utilizar Linux ou BSD como sistema operacional, visto que ambos são mais flexíveis,
confiáveis e mais seguros. A maioria das distribuições Linux trazem diversas ferramentas úteis pré-instaladas.
2 Proteja a sua máquina antes de mais nada. Compreenda corretamente todas as técnicas básicas,
inclusive sobre como proteger a si mesmo. Comece com o básico - você encontrou um servidor
hospedando um site sobre racismo, pedofilia ou outra atividade ilegal? Tente hackeá-lo, da forma que você
puder. Não modifique o site, apenas assuma o controle do mesmo.
3 Teste o alvo. Você pode chegar ao sistema remoto? Embora possa utilizar o ping (que está disponível na
maioria dos sistemas operacionais) para descobrir se o alvo está ativo, você não poderá confiar sempre
nos resultados desta ferramenta - ele depende do protocolo ICMP, que pode facilmente ser desabilitado por
administradores de sistemas paranóicos.
4 Determine o Sistema Operacional (OS). Execute um escaneamento das portas. Experimente o pOf ou o
nmap para escanear as portas. Isto exibirá as portas que estão abertas na máquina, o SO e poderá,
inclusive, mostrar que tipo de firewall ou roteador eles estão utilizando de forma que você possa planejar um
curso de ação. Você pode ativar a detecção de SO no nmap utilizando o parâmetro -O. Assim como o ping, o
nmap, quando não é especificado, utilizará primeiramente ICMP para determinar se o alvo está ativo ou não;
portanto, caso o administrador do sistema tenha bloqueado o ICMP, você deverá utilizar o parâmetro -sP para
determinar se o alvo está ativo, mesmo que este esteja bloqueando o protocolo ICMP.
5 Encontre um caminho ou porta aberta no sistema. Portas comuns, tais como FTP (21) e HTTP (80)
geralmente são bem protegidas e, possivelmente, apenas vulneráveis a ataques ainda não descobertos.
Experimente outras portas TCP ou UDP que possam ter sido esquecidas, tais como Telnet e várias
portas UDP deixadas abertas para jogos em rede (LAN).
Uma porta 22 aberta é geralmente uma evidência de que o serviço SSH (secure shell ou shell seguro)
está rodando no alvo, o que, algumas vezes, pode ser forçado com ataques de força-bruta (bruteforce).
6 Quebre a senha ou o método de autenticação. Existem diversas maneiras de se quebrar uma senha,
incluindo a técnica de bruteforce ou força bruta. Utilizar o ataque de bruteforce em uma senha significa
tentar todas as senhas possíveis que estejam definidas em um arquivo chamado de "dicionário" de um software
de bruteforce.
Os usuários são geralmente desencorajados a utilizar senhas fracas, portanto o bruteforce poderá levar
muito tempo. No entanto, houveram grandes melhorias nas técnicas de bruteforce.
A maioria dos algoritmos de hash são fracos, e você poderá aumentar significativamente a velocidade
da quebra explorando estas fraquezas (assim como você pode cortar o algoritmo MD5 em 1/4 de forma
a acelerar muito o processo).
Novas técnicas utilizam placas de vídeo como um processador a mais - e é milhares de vezes mais
rápido.
Para conseguir uma quebra de senha mais rápida, você pode experimentar utilizar uma Rainbow Table,
uma tabela de consulta que utiliza um algoritmo de transação memória-tempo, permitindo a
recuperação do texto original de uma senha através de uma senha quebrada (hash) que tenha sido
gerada por um algoritmo criptográfico de hash. Note que a quebra de senhas é uma técnica eficiente
apenas caso você já possua o hash da senha.
Experimentar todas as senhas possíveis ao tentar logar em uma máquina não é uma boa ideia, visto
que pode ser facilmente identificado com um sistema de detecção de intrusão, polui os sistemas de
logs e pode levar anos para achar a senha, em alguns casos.
Você também pode pegar um tablet rooteado, instalar um scanner TCP e jogar o arquivo para o site
pela rede. Assim, o endereço IP se abrirá, fazendo com que a senha apareça em seu Proxy.
Geralmente, é mais fácil encontrar outra maneira para acessar o sistema ao invés de quebra de
senhas.
7 Consiga privilégios de super usuário (root). Tente conseguir privilégios de root caso o seu alvo seja
uma máquina *nix, ou privilégios de administrador caso trate-se de uma máquina com Windows.
A maior parte das informações que serão de interesse vital estarão protegidas e você precisará de um
certo nível de autenticação para consegui-las. Para ver todos os arquivos em um computador você
precisará de privilégios de super-usuário - uma conta de usuário que tenha recebido os mesmos
privilégios que o usuário "root" em sistemas como Linux ou BSD.
Para roteadores, trata-se do usuário admin por padrão (a menos que ele tenha sido modificado); para
Windows, esta conta é a do Administrador.
Ganhar acesso a um sistema não significa que você poderá acessar tudo. Apenas um super-usuário, a
conta de administrador ou a conta do root poderão fazê-lo.
8 Utilize vários truques. Muitas vezes, para se ganhar acesso como super-usuário, você precisará utilizar
diversos truques, tais como criar um buffer overflow, que pode ser feito causando uma sobrecarga e
estouro na pilha de memória, permitindo injetar um código para executar a tarefa com privilégios de super-
usuários.
Em sistemas baseados no Unix, isso ocorrerá caso o software com falhas ou bugs possua o bit setuid
definido, de forma que o programa poderá ser executado como um usuário diferente (super-usuário, por
exemplo).
Apenas escrevendo ou achando um programa inseguro que você possa executar na máquina-alvo e
será permitido fazer isso.
9 Crie uma porta dos fundos (backdoor). Assim que tiver ganho total controle da máquina, será uma boa
ideia garantir que poderá voltar novamente. Isso pode ser feito criando uma backdoor ou porta dos fundos
nos serviços do sistema, tal como um servidor SSH. No entanto, o seu backdoor poderá ser removido na
próxima atualização do sistema. Um hacker experiente criaria um backdoor no compilador em si, de forma que
cada software compilado seria uma potencial forma de dar acesso à máquina.
10 Cubra seus rastros. Nunca deixe o administrador descobrir que o sistema está comprometido. Não
modifique o site (caso exista algum), não crie mais arquivos do que os que você realmente irá precisar.
Não crie nenhum usuário adicional. Aja o mais rápido possível. Se você corrigiu um servidor, como, por
exemplo, um servidor SSHD, crie uma senha secreta muito complexa. Caso alguém tente efetuar login com
outra senha, o servidor deveria permití-la logar, mas não deveria conter nenhuma informação crucial.
Dicas
Avisos
Hackear sistemas de terceiros pode ser ilegal, portanto não o faça a menos que você tenha a certeza de que o dono do
sistema o deu permissão para tal ou caso tenha a certeza de que valerá a pena e de que você não será pego.
O uso indevido desta informação pode ser um crime local ou federal. Este artigo pretende ser informativo e deveria ser
utilizado apenas para propósitos éticos, e nunca para atividades ilegais.
Não delete completamente os arquivos de log; ao invés disto, remova apenas as entradas que possam incriminá-lo. A
outra pergunta é, existe algum backup do arquivo de log? E se eles compararem ambos os arquivos e perceberem as
linhas que você apagou? Sempre pense em suas ações. A melhor coisa é deletar linhas randômicas de um log,
incluindo as suas.
Seja extremamente cauteloso caso você pense que encontrou uma brecha muito fácil de ser explorada ou um erro
grotesco na gestão de segurança. Um profissional de segurança que projeta um sistema pode estar tentando pregar
uma peça ou pode ter configurado um honeypot (pote de mel).
Se você não se sente confiante com suas habilidades, matenha-se longe de tentativas de invasão em sistemas do
governo ou mesmo militares. Mesmo que eles possuam falhas de segurança, eles possuem muito dinheiro para rastreá-
lo e prendê-lo. Se você encontrar uma brecha em redes como estas, é melhor deixar que algum hacker mais experiente
que você, de sua confiança, lide com isto de forma que possa colocar estes sistemas em bom uso.
Nunca faça algo apenas por diversão. Lembre-se que invadir redes e sistemas não é um jogo, mas um poder que pode,
inclusive, mudar o mundo. Não o desperdice em atitudes infantis.
Materiais Necessários