- Published on
Hacking - Por onde começar?
- Authors
- Name
- ReddyyZ
- @ReddyyZ_
O hacking, engloba diversas áreas, entre elas, programação, redes, sistemas operacionais, etc. O que pode deixar um iniciante completamente perdido, sem saber por onde começar. Então, decidi escrever este artigo, para ajudá-lo em sua trajetória.
Table of Contents
Qual caminho devo seguir?
Eu, sinceramente, não sigo nenhum roadmap, estudo o que eu estiver achando mais interesante no momento, o que me mantém mais consistente. Mas seguir um caminho predefinido, vai com certeza facilitar as coisas. Por isso, criei este roadmap para te ajudar em sua trajetória.
Vamos lá!
- Lógica de Programação
É recomendado começar por lógica de programação, pois pode facilitar muito o seu aprendizado, porém não é uma regra, você pode seguir diretamente para programação e aprender na prática.
- Programação
A programação é essencial para entender como os sistemas funcionam por debaixo dos panos, e desenvolver scripts e ferramentas que você usará no dia a dia.
As mais recomendadas são:
- C
- Linguagem compilada
- Gera arquivos executáveis pequenos
- É rápida
- Mais díficil
- Source code maior
- Algumas coisas só são possíveis em C (ex: criar drivers)
- Python
- Linguagem interpretada
- Para gerar arquivos executáveis é preciso usar algumas bibliotecas de terceiros, o que gera arquivos executáveis grandes
- É um pouco mais lenta comparada ao C
- Mais fácil
- Source code menor
Minha primeira linguagem foi Python, e ainda é minha preferida, principalmente pelo número de bibliotecas, documentação clara, e por gerar um código menor.
- Redes
É importantíssimo entender como funcionam as conexões, endereços IPs, portas e servidores, para você ser capaz de realizar um bom reconhecimento, parte fundamental de um pentest. Você também pode mesclar seus estudos de programação e redes, treinando com sockets, criando seus próprios servidores, port scanners, etc.
- Sistemas Operacionais
Também é essencial aprender como funcionam os sistemas, aprenda como funciona o CMD e o Powershell do Windows, o terminal do Linux, as permissões do Linux, os principais comandos, etc.
- Bancos de Dados
Outra coisa de extrema importância, é aprender SQL, linguagem usada pelos principais bancos de dados. Para praticar você pode instalar um servidor qualquer (ex: XAMPP), um cliente SQL, e ir estudando pelo W3Schools.
- Linguagem Backend
É interessante também aprender alguma linguagem backend, como por exemplo PHP, pois o mais importante, é que você consiga entender como as vulnerabilidades acontecem no servidor, para não ficar limitado ao uso ferramentas.
- Vulnerabilidades WEB
Quando você tiver aprendido todo o resto, já conseguirá começar a se aprofundar em vulnerabilidades WEB, focando sempre em aprender como ela acontece no lado do servidor, sem depender de ferramentas e scans automáticos. E para isso, a Web Security Academy da PortSwigger, tem vários guias e laboratórios para você aprender como funcionam as vulnerabilidades na prática.
Onde posso praticar?
É importante frisar, que procurar vulnerabilidades em sites aleátorios, mesmo que seja apenas para treinar, é CRIME, pratique apenas em ambientes controlados!
E quando se fala em praticar técnicas de hacking, os CTFs (Capture the Flag) são sem dúvida, os melhores. Eles simulam um servidor completo, com vários níveis de dificuldades e falhas propositais para você treinar suas habilidades, tendo como objetivo invadir o sistema e capturar a bandeira.
Os meus preferidos são:
- TryHackMe - Gratuito
- HackTheBox - Gratuito
- UHC Labs - Pago
Obrigado!
Obrigado por ler até aqui, espero que tenha gostado. Em caso de dúvidas, estou à disposição em minhas redes sociais!