Boa tarde devs, este tópico tem como objetivo ajudar todos que desejam começar na Cibersegurança, como profissional ou como eu, por puro hobbie
Para começo de conversa: colocar uma mascára do Guy Fawkes na foto de perfil, rodar um scan de portas ouchutar cachorro morto invadir um site do governo de uma cidade quase no fim do mundo não te faz hacker. Muitos sabem colar comandos no SQLMap, mas poucos, pouquíssimos sabem como a ferramenta funciona, como desenvolver uma ferramenta parecida ou mesmo como prosseguir ao encontrar uma aplicação que usa bancos não relacionais.
Dito isso e você que não fechou o tópico, que provavelmente está em busca de algo sério e que entendeu que conhecimento base em ciência da computação é primordial, vamos ao que importa. Você deverá começar então pelo que os descritos acima tanto temem: o começo! Você precisa começar aprendendo os fundamentos da IT. Aqui, tento criar uma checklist dos tópicos mais importantes que você precisa aprender para ser um dito hacker:
Redes
É unânime: essa é a maior fatia do bolo. O hacker precisa ser um exímio entendedor das redes de computadores.
Recomendação:
Comece aprendendo sobre os principais padrões (OSI e TCP/IP)
Depois, aprenda o básico sobre cada camada:
Camada física: Cabos, routers, modens, tipos de redes e topologias.
Camada de internet: Protocolo IPv4, IPv6 e como são organizados e atribuídos
Camada de Transporte: TCP, UDP, RTP.
Camada de Aplicação: HTTP, SSH, SMTP, RDP, IRC e outros protocolos.
Sistemas Operacionais
Essa é outra habilidade muito requisitada no meio. Saiba como um computador funciona! Faça ele deixar de ser uma abstração ou um truque de mágica e entende o básico de como essa máquina complexa opera!
Os sistemas operacionais são os sistemas mais complexos dos mundos, ao aprender sobre eles, você vai entender conceitos que poderá usar nos seus próprios programas.
Recomendação:
Computational thinking;
Aprenda sobre o funcionamento dos principais SOs e quais são suas estruturas básicas;
Memória e sua utilização;
Processamento, threads;
Kernel;
Como funciona o processo de compilação;
Básico de linguagem Assembly.
Programação
Sim, é preciso programar, se alguém te disse o contrário, mentiu! A programação é o meio pelo qual você poderá aplicar a maiora das suas ideias.
Caso não programe, seu conhecimento prático será limitado, você não terá liberdade de explorar seus conhecimentos e estará preso a ferramentas desenvolvidas por terceiros.
Recomendação:
Linguagem C: traz controle, interações mais próximas do sistema operacional e do hardware, te ensina a programar pensando em performance.
Linguagens de script: muito resultado em pouco tempo de trabalho, linguagens como Python ou Perl.
Obviamente, nem todo programador, profissional de redes ou desenvolvedor de kernels é um hacker. Segurança ofensiva é sobre encontrar e explorar vulnerabilidades. Portanto, na sua jornada, não se esqueça o porquê de seus estudos, não deixe de estudar sobre WAF/IDS/IPS ao estudar redes ou sobre buffer overflow ao explorar o funcionamento memória e assim por diante.
Alguns tópicos que também poderão ser úteis:
Aplicações web atuais (talvez aprender PHP ou Js)
Banco de dados
Criptografia
Inglês (essencial)
Engenharia social
Computação forense
Engenharia reversa
Desenvolvimento mobile (talvez Java ou Kotlin)
Caso pretenda trabalhar na área, eu também incluiria dar uma olhada na ISO 27000:2018, especificação que rege a segurança da informação.
Deixo aberto para todos acrescentarem suas opiniões e ressalvas, perdooem-me por qualquer erro. Desejo a todos excelentes estudos, bora evoluir juntos!
Vale, bonam fortunam
Prodiggy
Para começo de conversa: colocar uma mascára do Guy Fawkes na foto de perfil, rodar um scan de portas ou
Dito isso e você que não fechou o tópico, que provavelmente está em busca de algo sério e que entendeu que conhecimento base em ciência da computação é primordial, vamos ao que importa. Você deverá começar então pelo que os descritos acima tanto temem: o começo! Você precisa começar aprendendo os fundamentos da IT. Aqui, tento criar uma checklist dos tópicos mais importantes que você precisa aprender para ser um dito hacker:
Redes
É unânime: essa é a maior fatia do bolo. O hacker precisa ser um exímio entendedor das redes de computadores.
Recomendação:
Comece aprendendo sobre os principais padrões (OSI e TCP/IP)
Depois, aprenda o básico sobre cada camada:
Camada física: Cabos, routers, modens, tipos de redes e topologias.
Camada de internet: Protocolo IPv4, IPv6 e como são organizados e atribuídos
Camada de Transporte: TCP, UDP, RTP.
Camada de Aplicação: HTTP, SSH, SMTP, RDP, IRC e outros protocolos.
Sistemas Operacionais
Essa é outra habilidade muito requisitada no meio. Saiba como um computador funciona! Faça ele deixar de ser uma abstração ou um truque de mágica e entende o básico de como essa máquina complexa opera!
Os sistemas operacionais são os sistemas mais complexos dos mundos, ao aprender sobre eles, você vai entender conceitos que poderá usar nos seus próprios programas.
Recomendação:
Computational thinking;
Aprenda sobre o funcionamento dos principais SOs e quais são suas estruturas básicas;
Memória e sua utilização;
Processamento, threads;
Kernel;
Como funciona o processo de compilação;
Básico de linguagem Assembly.
Programação
Sim, é preciso programar, se alguém te disse o contrário, mentiu! A programação é o meio pelo qual você poderá aplicar a maiora das suas ideias.
Caso não programe, seu conhecimento prático será limitado, você não terá liberdade de explorar seus conhecimentos e estará preso a ferramentas desenvolvidas por terceiros.
Recomendação:
Linguagem C: traz controle, interações mais próximas do sistema operacional e do hardware, te ensina a programar pensando em performance.
Linguagens de script: muito resultado em pouco tempo de trabalho, linguagens como Python ou Perl.
Obviamente, nem todo programador, profissional de redes ou desenvolvedor de kernels é um hacker. Segurança ofensiva é sobre encontrar e explorar vulnerabilidades. Portanto, na sua jornada, não se esqueça o porquê de seus estudos, não deixe de estudar sobre WAF/IDS/IPS ao estudar redes ou sobre buffer overflow ao explorar o funcionamento memória e assim por diante.
Alguns tópicos que também poderão ser úteis:
Aplicações web atuais (talvez aprender PHP ou Js)
Banco de dados
Criptografia
Inglês (essencial)
Engenharia social
Computação forense
Engenharia reversa
Desenvolvimento mobile (talvez Java ou Kotlin)
Caso pretenda trabalhar na área, eu também incluiria dar uma olhada na ISO 27000:2018, especificação que rege a segurança da informação.
Deixo aberto para todos acrescentarem suas opiniões e ressalvas, perdooem-me por qualquer erro. Desejo a todos excelentes estudos, bora evoluir juntos!
Vale, bonam fortunam
Prodiggy