Então queres ser um Hacker?

Recentemente tenho lido uma tonelada de perguntas, posts e discussões gerais sobre como entrar no jogo ‘Segurança da Informação’, e na minha opinião, pelo menos é normalmente seguido por uma quantidade razoável de informações enganosas. Isso pode ser um pouco duro considerando que tenho certeza que é bem intencionado, também é possível que o conselho tenha funcionado para eles (não há um tamanho que se encaixe em todos os conselhos), mas eu pensei em expor meus pensamentos aqui na esperança de ajudar um novo hacker a avançar.

Eu quero praticar esportes, por onde devo começar?
Esta pergunta vaga, aberta e muito ambígua é muito parecida com alguém perguntando como eles devem entrar na segurança da informação. A primeira coisa a perceber é que existe uma enorme variedade de campos de segurança da informação, e dentro de cada um desses enormes campos é o valor de uma vida inteira de conteúdo de aprendizagem. Assim como escolher um esporte não é o “melhor”, às vezes é simplesmente uma área que você pode desfrutar mais do que outras. Aqui estão alguns exemplos de áreas que não são, de forma alguma, exaustivas.

  • Segurança da Aplicação Web
  • Engenharia Reversa
  • Engenharia Reversa de Malware
  • Segurança da Rede
  • Resposta a Incidentes
  • Cumprimento das Normas
  • Programar / Criar Ferramentas para Outros
  • Explorar Desenvolvimento
  • Forense
  • Alguns destes são mais de natureza técnica enquanto outros são mais de natureza teórica. Eu garanto que o que quer que você goste há outros por aí que vão achar chato, assim como você vai achar com o que os outros estão interessados, às vezes. Neste momento é esperado que se você estiver lendo isso você pode saber muito pouco sobre qualquer uma dessas áreas, mas o importante é a sua vontade de aprender e que tipo de motivação você tem.

    O Tipo de Hacking
    Uma marca que é quase universal de pessoas em todas essas áreas é o seu foco na aprendizagem independente e autodirigida. Infelizmente em alguns aspectos a segurança ainda é considerada uma ‘arte obscura’, quero dizer, por que alguém iria querer saber como invadir um sistema de computador a menos que o fizesse? Como resultado, muitas pessoas mostrarão desdém pela hostilidade ao fazer perguntas sobre segurança sob a falsa (talvez às vezes verdadeira) suposição de que é meramente um ‘script kiddie’ procurando aprender a hackear sistemas ao invés de querer aprender e usar esse conhecimento para um bom propósito. É também um facto que os recursos de ‘aprendizagem’ da segurança da informação são bastante desarticulados sem um verdadeiro repositório central de material de aprendizagem.

    O ponto de destacar isto é que se você deseja prosperar e entrar com sucesso no campo da segurança da informação você deve estar preparado para pular e encontrar seu caminho sem esperar que alguém segure sua mão e o leve pelo caminho certo. Google alguns dos termos acima e veja o que soa como diversão. Apesar do que às vezes parece ser uma batalha constante para encontrar o ‘melhor’ campo para aprender, ou o ‘melhor’ recurso, ou a ‘melhor’ maneira de aprender muitas vezes mais tempo é gasto procrastinando a se perguntar estas questões em vez de dedicar o tempo para realmente aprender. Veja os vídeos no youtube para exemplos de hacking – tudo bem se você não sabe o que significa muita coisa, mas escreva uma lista e depois procure esses termos no Google. Use pontos de interesse para desovar com uma teia de conhecimento cada vez maior em torno de tópicos que você está interessado.

    Eu preciso aprender X primeiro?
    Do curso você precisa ter um conhecimento completo da camada OSI antes de começar. Sim, você precisa ler aquele livro de 1000 páginas sobre o protocolo TCP. Sim, você precisa ser proficiente em 5 linguagens de programação (pelo menos!) antes de considerar o hacking. Você pode compilar seu próprio kernel Linux a partir do código fonte? Não? Não se preocupe em aprender hacking. Na verdade…. tudo isso está cheio de lixo, mas é uma das respostas mais comuns dadas às pessoas que procuram aprender a segurança da informação. Há um requisito para se tornar um hacker decente – o interesse. A diferença entre um futuro hacker e um script kiddie não é o conhecimento, é a vontade de aprender.

    Desde que você tenha uma vaga idéia de como usar um computador, você está no ponto de partida com o qual pode trabalhar. Sim, se você não tem uma compreensão sólida de como o TCP funciona, você deve ter isso em sua lista de afazeres para procurar quando alguém está falando sobre isso em um tutorial de hacking – mas é ridículo pensar que você precisa de uma tonelada de conhecimento pré-requisito antes de ter permissão para começar a aprender sobre os tópicos em que você está interessado. Quando você estiver olhando para cima como esse quebra-cabeça de login funciona em um site de hacking e ele usa JavaScript, você vai aprender como o JavaScript funciona. Quando você ler como um buffer overflow funciona e ele tem um modelo Python você aprenderá algumas noções básicas de Python. Não, você não vai conseguir um trabalho como desenvolvedor nessas linguagens no final dele, mas você vai pegar a maneira comum de quebrar a linguagem.

    Aprendizagem Informal
    “Ok, entendi a dica – preciso aprender as coisas sozinho, mas você pode ao menos me dar um ponto de partida?”

    Certo, há uma tonelada de grandes recursos gratuitos ou baratos para começar, dependendo do tópico que lhe agrada. Aqui estão alguns exemplos.

    Segurança da Aplicação Web

  • HackThisSite – Bom para alguns desafios básicos baseados na web (link)
  • Enigma Group – Similar ao Hack this site (link)
  • OWASP Top 10 – Idéia do que são os mais vulnerabilidades comuns (link)
  • OWASP Broken Wep Apps – Um computador virtual que você pode carregar para praticar habilidades de hacking em sua rede (link)
  • Pentesting Lab – Outra máquina virtual focada na web (link)
  • Na verdade qualquer coisa do vulnhub que lhe interesse é boa (link)
  • The Web Application Hackers Handbook – The book on web hacking and vulnerabilities (link)
  • Reverse Engineering / Malware Reversing

  • Lena’s Tutorials – Conhecido como uma das melhores introduções à engenharia reversa (link)
  • The Legends of Random – Novamente outro conjunto sólido de tutoriais para engenharia reversa (link)
  • Reversing: Secrets of Reverse Engineering – Um bom livro sobre os fundamentos da engenharia reversa (link)
  • Practical Malware Analysis – Um grande livro focando em reverter malware (link)
  • Malware Analysts Cookbook – Outro livro focando em reverter malware (link)
  • Network Security

  • Virtual Machines dominam esta categoria pois permitem que você pratique contra máquinas reais. Vá para vulnhub e baixe qualquer VM que pareça interessante (link)
  • Metasploit Unleashed – Uma execução sólida do framework de testes metasploit para ser usado em conjunto contra VM’s. (link)
  • The Basics of Hacking and Penetration Testing – Um olhar muito básico sobre os testes de penetração útil para aqueles completamente novos no campo. (link)
  • Metasploit – The Penetration Testers Guide – Outro livro focado no uso de metasploit em testes de penetração (link)
  • Porque este é um campo tão grande que muitas vezes o divide em um aspecto, e depois pesquisa esse aspecto especificamente. Blogs são o seu melhor amigo aqui. (link)
  • Explorar Desenvolvimento

  • Corelan – Este é de longe o melhor recurso lá fora para aprender sobre desenvolvimento de exploração. (link)
  • FuzzySecurity – Outro bom recurso de aprendizado com alguns tutoriais disponíveis (link)
  • Exploit-DB – Uma das melhores coisas que você pode fazer é encontrar exemplos de exploits (muitas vezes com aplicativos anexados) e tentar replicar o exploit independentemente (link)
  • Hacking – The Art of Exploitation – Um livro fantástico que cobre toneladas de diferentes técnicas de exploração (link)
  • The Shellcoders Handbook – Outro livro fantástico sobre desenvolvimento de exploit e shellcoding (link)
  • Other than that, Google, Google, e mais alguns Google. Deixei de lado algumas áreas como a forense e a de conformidade porque pessoalmente não estou interessado nelas, por isso não fui à procura de recursos, tenho a certeza que há algumas fantásticas por aí.

    Aprendizagem Formal
    Para além dos recursos gratuitos você também pode começar a obter certificados para se tornar mais atraente para os empregadores se você deseja fazer a transição para o campo como mais de um caminho de carreira. Alguns certificados que eu recomendo altamente seria o curso “Penetration Testing with Kali Linux” da Offensive Security (link) se você estiver interessado em segurança de rede. É facilmente uma das melhores experiências de aprendizagem que já tive no campo e me ensinou mais em 60 dias do que aprendi em um ano por conta própria. Seu “Cracking the Perimeter” também é um ótimo curso, focando um pouco mais no desenvolvimento de exploração (link).

    Se você está olhando para desenvolver suas habilidades de programação coisas como o “Python for Pentesters and Hackers” do SecurityTube (link) é uma grande base que lhe ensinará como fazer muitas coisas interessantes como construir seus próprios scanners de portas, crackers de senhas, etc. Eu não coloco um valor enorme nos certificados que eles oferecem do ponto de vista de emprego, mas eu olharia para isso mais como um conjunto consolidado de conhecimentos e exemplos para venda que ainda podem ser valiosos.

    O curso “Certified Ethical Hacker” é outro comumente mencionado. Honestamente, ele é tipicamente menosprezado, então não acho que valha necessariamente o dinheiro – mas se você precisa de um curso formal para aprender coisas, então pode valer o dinheiro para você. Muitas dessas certificações e seu valor são discutidas nos fóruns do TheEthicalHacker.net localizados aqui.

    “Só vendo se você pode”
    Hacking é tudo sobre ganhar acesso a coisas que não estamos destinados a fazer. Criar um exploit, encontrar uma injeção SQL, quebrar uma senha é tudo projetado para nos colocar no objetivo de assumir o controle da caixa que estamos atacando. Eu garanto que quase todos os novos hackers começaram a sonhar com “Só para ver se eles conseguem” ter acesso a esse site da escola. “Só para ver se eles conseguem” ter acesso à rede WiFi dos vizinhos. Enviando um vírus de trojan a um amigo “só para ver se eles conseguem” assumir o controle. Pior ainda, você pode acabar visitando lugares como HackForums.net e ver muitas pessoas tentando infectar outros com RATs, construir botnet’s etc sob a impressão de que isto é hacking, ou infelizmente que esta é a única maneira que você pode aprender.

    Eu preciso enfatizar que este não é o caso. Qualquer tipo de exercícios do tipo “apenas vendo se você pode” pode ser replicado através do uso de máquinas virtuais, seus próprios roteadores ou até mesmo capturar as competições de bandeira / wargame por aí. Sendo realista, mesmo que você possa acessar a máquina de outra pessoa, o que você vai fazer com ela? Vais mesmo tentar roubar detalhes de cartões de crédito e fazer transacções fraudulentas? Vai mesmo roubar senhas e ficar paranóico que a sua actividade vai ser rastreada até si, para poder espreitar os e-mails de alguém? Tem havido muitos exemplos de novatos sendo acusados, não percebendo a seriedade dos crimes que estão cometendo. Se você foi para um trabalho no FBI e eles deram uma olhada no histórico do seu post, você gostaria que eles lessem aquele post sobre você perguntando como hospedar uma botnet? É um exemplo clássico do que está na internet é para sempre, e se você realmente quer uma carreira em segurança da informação você precisa daquele registro limpo para obter qualquer autorização de segurança que você vai precisar para fazer o seu trabalho. Ser apanhado por coisas estúpidas simplesmente não vale a pena.

    Sumário
    Então, depois de um longo divagamento, quais são os pontos chave?

  • Um hacker vai procurar ativamente informações, não esperar que outros lhe dêem
  • A diferença entre um script kiddie e um novo hacker é o desejo de aprender
  • Você precisa experimentar uma ampla gama de campos de segurança da informação para encontrar o que lhe interessa
  • Não deixe ninguém lhe dizer que há pré-requisitos para aprender segurança da informação, não há.
  • Não vale a pena “apenas ver se você pode” fazer algo que não seja legal, o risco vs recompensa não faz sentido para fazer isso
  • Com cursos, wargames, capturar as bandeiras e, mais importante, máquinas virtuais, não há cenário de hacking que não possa ser replicado legalmente
  • Divertir-se, desculpe se ficou pregado no final e aproveite as caixas de empenamento! A segurança da informação é um campo fantástico e você estará aprendendo algo novo todos os dias que você está envolvido nele. Não há resposta certa para entrar no campo, a não ser saltar para dentro dele com os dois pés. Molha-te, aprende a pisar água e mantém-te a flutuar, um dia poderás até ser capaz de nadar um pouco!

    Deixe uma resposta

    O seu endereço de email não será publicado.