💡 Criado por: WesleyA0101 .
🔧 Status do projeto: Mais conteúdos serão adicionados.
⚠️ Atenção: Irei adicionar vários conteúdos de estudo, tanto gratuitos quanto pagos. Também irei compartilhar canais no Telegram que contêm cursos crackeados, para aqueles que não têm condições de pagar por cursos, mas desejam estudar bons materiais.
Nota: Este roadmap não foi criado para encher sua cabeça de ilusões que inundam seu cérebro de dopamina, prendendo você aqui para ganhar estrelinhas, e muito menos para fazê-lo pensar que é um hacker de filme. Aqui, vou trazer a realidade e mostrar o que você realmente precisa aprender para se tornar, bem entre aspas, um """hacker""", quebrando esse misticismo em torno do hacking.
- 🕵️♂️ História da Cultura purista
- 🎬 A Cultura Pop-Hacker e o Ensino Marketeiro (o famoso "pega-trouxa")
- 🦸♂️ O Último Puro-Sangue
- ⚔️ Ataques que Marcaram a História
- 👨💻 Pessoas que fizeram história em invasões
- 🖥️ A Filosofia do Software Livre
- 🌍 Redes de Computadores
- 💻 Programação
- 🐧 Sistemas Operacionais
- 🔧 Low-Level - "Bit a Bit"
- ➗ Matemática
- 🔒 Criptografia
- 🌐 Web
- 🛠️ Engenharia Reversa
- 🤝 Contribuição e Compartilhamento do Conhecimento
- 🕶️ "Anônimato"
- 🐧 Distros Linux 'Hackers de Boutique' – Porque Só dar apt update não te faz um hacker
- 🛡️ Bug Bounty
- 🌍 Hacktivismo
- 🧩 Malware
- 🎓 Certificações e plataformas de ensino
🚨 Você não deve pular absolutamente nada desse roadmap! 🚨
Isso é para garantir que você não perca o contexto de nenhum conteúdo e não se perca ao longo do caminho. Eu não sou responsável pela sua preguiça em ler e depois ficar perdido nos temas ou interpretá-los errado! 🧐
⚡ Aqui você não vai encontrar receita de bolo para se tornar um "HACKER" da noite para o dia! ⚡
Esqueça os vídeos no YouTube de "Como se tornar um hacker em 5 minutos", criados por quem só quer ganhar like e fama, sem entender absolutamente nada da área. Isso é para quem é script kiddie que não se compromete com o aprendizado real! 🚫
Por aqui, o foco é entender de verdade os conceitos e fundamentos, e não se deixar enganar por promessas vazias de atalhos! Vamos focar no que realmente importa. 👨💻👩💻
👉 Leia com atenção, se concentre e aproveite cada passo desse processo!
Para quem acha que para entrar na área, tem que seguir uma "receita de bolo", para pessoas que têm o cérebro mais liso do que o de um coala, que acham que usar Kali Linux ou Termux, rodando ferramentas automatizadas sem nem saber o que está acontecendo, sem nem saber ler um código, e ainda fazem edits para postar no TikTok usando SQLMAP achando que isso é ser hacker, ou para pessoas que menosprezam iniciantes para se passarem por superiores e dar a impressão de que entendem de algo, sendo que não entendem nada, e ainda confundem hacking com 171, bandidos da internet que se acham descolados fazendo contas laranjas com documentos de idosos, achando que são BlackHat: "Vocês não são personagens de anime 😂."
Bom, hoje em dia, por conta da mídia tradicional, filmes hollywoodianos, vendedores de cursos "hacker" para enganar leigos que querem sentir que têm algum tipo de poder, fazem achar que estão em um filme de ação "hacker", deturparam totalmente o significado do hack ou hacking.
A palavra hack, derivada do inglês antigo "haccian", entrou em uso no século XIII, no ano de 1220. Porém, é datada desde 1200 e significa "cortar grosseiramente, picar ou golpear", usada para o ato de cortar algo de forma improvisada. ✂️⚒️
No inglês do século XVII, "hack" também passou a ser usado metaforicamente para indicar ações improvisadas ou feitas de maneira desajeitada, mas eficaz. Por exemplo:
- Um "hack" era alguém que realizava um trabalho de forma apressada e pouco refinada, como um escritor que produzia conteúdo rapidamente e sem polimento (daí o termo "hack writer").
- Também havia conotações de algo adaptado ou ajustado de maneira prática e funcional, embora não necessariamente bem "apresentável". 📝💡
Origem no MIT (Massachusetts Institute of Technology):
Durante a década de 1950, a palavra "hacker" foi usada no MIT (Instituto de Tecnologia de Massachusetts) para descrever estudantes e programadores que eram extremamente criativos e habilidosos em resolver problemas técnicos. Esses hackers eram conhecidos por sua habilidade em explorar sistemas de maneira inovadora e por sua capacidade de modificar equipamentos e programas para realizar funções inesperadas. 🎓🔧
Atividades no MIT:
O termo começou a ser usado para descrever programadores e engenheiros que, em vez de apenas seguir procedimentos padrão, tentavam explorar os limites dos sistemas e das máquinas. Por exemplo, muitos desses hackers trabalhavam em mainframes e sistemas de computação primitivos para ajustar, melhorar ou modificar softwares e hardwares de maneiras que os engenheiros originais não haviam previsto. 💻🔍
O termo começou a adquirir uma conotação negativa devido à cobertura da mídia sobre invasões de sistemas, principalmente após a publicação do livro "The Hacker Crackdown" e o surgimento de grupos como o Legion of Doom. Nesse período, "hacker" passou a ser usado para descrever pessoas que invadiam sistemas. 🚨🔓
Livro mencionado:
Grupo hacker mencionado:
"Hack" é usado de forma ampla, tanto para descrever práticas criativas e engenhosas (como "life hacks") quanto para atividades relacionadas a cibersegurança, sejam éticas ou maliciosas. 🔨
Tem "profissionais" que tentam explicar o que é hacking — só tentam mesmo — dizendo que a palavra hack teve uma mudança de significado. Não, não mudou de significado; ainda continua significando a mesma coisa. Mas, como hack, hacking e hacker são amplamente usados para se referir a isso, então não tem muito o que fazer, a não ser usar também. Mas agora você saberá que, verdadeiramente, não significa quem invade computadores. 🚫💻
Refere-se a indivíduos que seguem os princípios originais do hacking, antes de sua deturpação pela mídia e pela cultura popular.
- Curiosidade intelectual.
- Desejo de explorar sistemas e compreender profundamente como eles funcionam.
- Contribuição para a comunidade, promovendo compartilhamento de conhecimento.
Richard Stallman:
Stallman é frequentemente considerado um "puro-sangue" no hacking por várias razões:
- Fundador do movimento de software livre e da Free Software Foundation (FSF).
- Criador do projeto GNU, base do que hoje conhecemos como GNU/Linux.
- Seu foco sempre esteve em princípios éticos, como a liberdade de uso, estudo, modificação e distribuição de software, rejeitando qualquer forma de software proprietário que restringisse essas liberdades. 🆓💻
Exemplo da Ética Hacker: Stallman não promove invasões maliciosas ou crimes cibernéticos. Ele representa o lado construtivo e ético do hacking, baseado no compartilhamento de conhecimento e na luta pela liberdade tecnológica. ✊
Entre os técnicos e entusiastas da computação das primeiras eras do hacking (décadas de 1960 a 1990), os hackers eram frequentemente classificados em categorias com base em suas habilidades, motivações e práticas, com o intuito de distinguir aqueles que utilizavam seus conhecimentos para fins criminosos. Contudo, a mídia tradicional acabou colocando criminosos no mesmo pacote que os hackers em geral. ⚖️
O hacker surgiu como um explorador intelectual, alguém que usava suas habilidades para aprender, melhorar e expandir os limites da tecnologia. No entanto, com o tempo e a popularização do acesso a computadores e à Internet, o termo foi distorcido. Enquanto os hackers éticos continuam a influenciar a tecnologia de forma positiva, as ações de criminosos ajudaram a criar a associação negativa que muitos têm do termo até hoje. Assim, a figura do hacker nasceu da curiosidade técnica e do espírito exploratório, mas foi moldada tanto pela mídia quanto pela evolução das práticas tecnológicas ao longo das décadas. 🧑💻🔍
- Definição: Hackers éticos que utilizam suas habilidades para proteger sistemas e ajudar organizações a identificar e corrigir vulnerabilidades.
- Motivação: Segurança, aprendizado e proteção de dados.
- Exemplo clássico: Especialistas que testavam sistemas de segurança para empresas ou governos na época inicial da Internet.
- Definição: Hackers que exploram sistemas com intenções maliciosas, como roubo de dados, espionagem ou destruição de sistemas.
- Motivação: Ganhos financeiros, vingança, ego ou simples diversão.
- Exemplo clássico: Kevin Mitnick (antes de se reformar e virar um consultor ético).
- Definição: Hackers que se situam entre o bem e o mal. Eles podem explorar vulnerabilidades sem permissão, mas frequentemente relatam os problemas sem intenção maliciosa.
- Motivação: Testar limites ou provar suas habilidades.
- Exemplo clássico: Hackers que invadiam redes para alertar sobre vulnerabilidades, mesmo sem autorização.
- Definição: Pessoas com conhecimento técnico limitado que utilizam ferramentas pré-criadas por outros hackers para realizar invasões ou explorações básicas.
- Motivação: Diversão, ego ou tentativa de parecerem mais experientes.
- Exemplo clássico: Iniciantes nos anos 90 que usavam scripts básicos para explorar falhas conhecidas de sistemas Windows.
- Definição: Hackers que usam suas habilidades para promover causas políticas ou sociais.
- Motivação: Ideologia, protestos ou ativismo.
- Exemplo clássico: Grupos como o Cult of the Dead Cow (cDc), conhecidos por misturar ativismo com hacking.
- Definição: Hackers especializados em explorar sistemas telefônicos.
- Motivação: Curiosidade ou desejo de obter chamadas gratuitas.
- Exemplo clássico: John Draper (Captain Crunch), que descobriu como usar apitos de cereal para manipular sistemas telefônicos.
- Definição: Hackers altamente qualificados que desenvolvem suas próprias ferramentas e métodos.
- Motivação: Curiosidade, inovação e status na comunidade hacker.
- Exemplo clássico: Desenvolvedores do primeiro malware ou exploits para sistemas emergentes.
- Definição: Iniciantes que ainda estão aprendendo as bases do hacking.
- Motivação: Aprendizado ou tentativa de ingressar no mundo hacker.
- Exemplo clássico: Jovens nos anos 80 aprendendo a usar os primeiros computadores pessoais.
- Definição: Hackers que operam dentro de subculturas cyberpunk, com ideais antissistêmicos e uma estética futurista e distópica.
- Motivação: Quebra de sistemas e estruturas de poder, rebelião e inovação.
- Exemplo clássico: Filmes e livros de ficção científica que moldaram a cultura hacker como "Blade Runner" ou "Neuromancer".
A cultura pop-hacker é uma visão distorcida do hacking, que foi retirada de jornais, filmes e séries. Isso foi um dos motivos para criar essas piadas que temos hoje, de achar que são hackers de filmes, acreditando que são os Anonymous.
Esse tópico usarei mais como um desabafo da minha frustração com neandertais marketeiros de 'cursos hackers', essas pessoas que querem ganhar em cima de leigos que recém estão entrando na área, usando promessas sensacionalistas para vender cursos caríssimos de como usar ferramentas automatizadas do GitHub, sem nem saber os processos envolvidos nas ferramentas, sem saber redes de computadores, programação, hardware, etc. Sem saber ler o código da ferramenta para, se caso precisar, modificá-la ao cenário que a pessoa está. Os verdadeiros lammers (alguém que se passa por hacker, mas na verdade não tem nenhum conhecimento na área).
Aqui vou mostrar alguns 'reis' do marketing, que são alguns dos responsáveis pela fabricação em massa de script kiddies:
É um dos caras mais famosos entre os leigos e uma vergonha entre os reais profissionais da área, fazendo propaganda de seu livro 'Técnicas de Invasão' e sua plataforma de cursos sobre como ser o pior profissional possível e como virar meme nas comunidades que realmente se interessam em aprender todos os pilares da tecnologia para se tornar um 'hacker'. Agora você se pergunta: mas Wesley, ele não ensina esses pilares? E eu te digo, meu querido leitor, NÃO. Um cara que se declara PROFISSIONAL da área de cibersegurança, se diz e é dito como professor dos hackers (o que me faz me contorcer de vergonha), e diz em um podcast para várias pessoas que não concorda que, para ser um hacker, precisa estudar os fundamentos técnicos como programação e redes de computadores... E eu já expliquei sobre os puro-sangue, o que eles faziam e a origem dos hackers. Então, dizer isso é uma extrema falta de inteligência. Pelo amor de Deus, caiu a parte do cérebro responsável pelo raciocínio lógico (córtex pré-frontal) dele? KKKKK
Bruno Fraga diz em uma conversa no podcast Inteligência Ltda: "Não é necessário estudar programação, redes de computadores e outros fundamentos para se tornar um hacker. Acredito que o desejo de aprender e a curiosidade são mais importantes do que o conhecimento técnico formal."
📺 Link do Podcast: OS SEGREDOS DE UM HACKER: CARLA ALBUQUERQUE E BRUNO FRAGA - Inteligência Ltda. Podcast
Um podcast recheado de desinformação e para tirar boas risadas, ou, no meu caso, estresse. Com a senhora Carla Albuquerque, que estava mais perdida que cego em tiroteio, e Bruno Fraga, falando mais besteiras como sempre.
A plataforma de cursos de Bruno Fraga sofreu vários ataques, resultando no vazamento de logins e senhas de seus alunos, que defendem fielmente seu "mentor" e, junto dele, estão em uma missão de espalhar desinformação e fazer o cérebro de outros iniciantes escorrer pelo ouvido. Ou seja, um cara que se diz hacker, sendo hackeado.
👉 Reclamações no Reclame Aqui sobre os treinamentos do Bruno Fraga
Antonio Dias é uma cópia do Bruno Fraga. Ambos são parecidos, até porque pessoas do tipo deles, que vendem cursos rasos, sem conteúdo e conhecimento nenhum, mais para lucrar em cima de leigos, não têm muitas diferenças. Por conta do seu conhecimento raso, impedindo-os de terem alguma diferença significativa, não há nada de diferente para eu falar desse cara, além de deixar destacado aqui: pessoas com as quais vocês não devem gastar seu tempo e dinheiro. Basicamente, as mesmas coisas:
- Cursos de má qualidade
- Promessas falsas
- Não sabe realmente hacking
- Faz videozinhos de ferramentas prontas e não sabe nem o que está rodando
- Supostamente hackeado em live
- Vazamento de dados de sua plataforma
Impressionante como esses marketeiros mentirosos são iguais. Deviam trabalhar como palhaços; nessa profissão, eles iriam se encaixar direitinho. Ou não, vá que o Bruno Fraga diga que não precisa ser engraçado para ser palhaço. O curso desse tipo de pessoa é como um golpe do Urubu do Pix.
Tem vários assim, mas esses dois são os principais. Conforme o tempo, poderei adicionar mais sobre aqui.
Já citado, o último puro-sangue é o grande Richard Stallman, um cara que sou extremamente fã.
Criação do GNU (GNU's Not Unix):
Em 1983, Stallman iniciou o projeto GNU, que visava criar um sistema operacional livre. Seu objetivo era dar aos usuários a liberdade de usar, estudar, modificar e redistribuir o software. O projeto GNU resultou em muitos programas fundamentais usados até hoje, como o Emacs, um editor de texto altamente configurável, e o GCC (GNU Compiler Collection), que se tornou uma das ferramentas de compilação mais usadas no mundo.
O GNU foi um passo essencial na criação do que hoje é conhecido como software livre. Embora o projeto GNU tenha desenvolvido muitas partes essenciais de um sistema operacional, ele não teve sucesso completo até que o kernel Linux, criado por Linus Torvalds (outro cara foda), fosse integrado, formando o sistema operacional Linux como o conhecemos hoje.
Fundação do Free Software Foundation (FSF):
Em 1985, Stallman fundou a Free Software Foundation (FSF), uma organização dedicada à promoção do software livre e à proteção dos direitos dos usuários de software. A FSF tem sido crucial na advocacia em torno de licenças como a GPL (General Public License), que garantem que o software permaneça livre para os usuários, permitindo que qualquer pessoa modifique e compartilhe o código, desde que também compartilhe suas modificações.
Defesa das Liberdades Digitais:
Stallman é um feroz defensor das liberdades digitais. Ele argumenta que as pessoas devem ter o direito de controlar o software que usam, o que implica em evitar o uso de software proprietário que restrinja essas liberdades. Suas ideias influenciaram diretamente movimentos relacionados à privacidade, segurança, e ao uso ético da tecnologia.
Filosofia e Impacto no Mundo do Hacking:
Richard Stallman também é visto como um puro-sangue do movimento hacker, no sentido de que ele representa um hacker que está em busca de liberdade, conhecimento profundo e compartilhamento. Sua abordagem ao hacking não é só sobre explorar falhas de segurança, mas também sobre desafiar o sistema e as limitações impostas por empresas de software, buscando garantir que as pessoas possam usar as ferramentas de tecnologia de maneira aberta e transparente.
Stallman é considerado uma figura central no mundo do software livre, cujas ideias continuam a moldar a forma como as comunidades de software pensam sobre liberdade e propriedade digital. Sua relevância não se limita ao aspecto técnico, mas se estende à sua defesa da ética do software livre, que sustenta que as tecnologias devem ser controladas por seus usuários, e não por empresas ou governos. A influência de Stallman pode ser vista em muitos projetos de software livre e em iniciativas que buscam defender a privacidade e a liberdade digital.
Sua relevância também está no desenvolvimento das licenças de código aberto, como a GPL, que revolucionaram a forma como o software é distribuído e usado no mundo moderno. Muitas das principais ferramentas e plataformas de software livre, incluindo o Linux, Apache, e Firefox, estão sob essas licenças, que foram fortemente defendidas por Stallman.
"Último Puro-Sangue Vivo":
O termo "último puro-sangue vivo" é uma referência ao fato de que Stallman representa um tipo de hacker ou idealista que permanece fiel a certos princípios originais do hacking, como a busca pelo conhecimento, a liberdade de código, e a ética no uso da tecnologia. Ele sempre se manteve firme em sua visão de que o software deve ser livre, e que os usuários devem ter controle sobre suas ferramentas, sem ceder a pressões comerciais ou políticas.
Em uma era onde muitas empresas de tecnologia estão profundamente envolvidas com software proprietário, vigilância e monetização de dados, Stallman continua a ser uma voz poderosa e intransigente em defesa do software livre. Ele representa uma forma de hacking focada na liberdade intelectual e digital, ao invés de invasões de sistemas ou exploração de falhas.
Essa postura consistente e a defesa intransigente de seus princípios, mesmo quando ele se tornou uma figura polêmica em algumas questões, lhe conferem o título de "último puro-sangue vivo" entre os hackers originais, aqueles que se dedicam à liberdade, ao compartilhamento de conhecimento e à ética.
🔗 Projeto GNU
🎬 Documentário Revolution OS
🎬 Documentário Revolution OS legendado em PT-BR
📚 Biografia na InfoEscola
Por Anna Adami: Um artigo detalhado sobre a trajetória de Stallman pode ser encontrado
Morris Worm (1988): Um dos primeiros worms de computador a ganhar atenção significativa. Criado por Robert Tappan Morris, o worm causou danos significativos ao infectar cerca de 6.000 computadores.
🔗 Link
Ataque ao Yahoo (2013-2014): Um dos maiores vazamentos de dados da história, onde informações de 3 bilhões de contas de usuários foram comprometidas.
🔗 Link
Stuxnet (2010): Um worm de computador que visava especificamente instalações nucleares iranianas. Acredita-se que tenha sido desenvolvido pelos governos dos EUA e de Israel.
🔗 Link
Equifax (2017): Um ataque que comprometeu informações pessoais de 143 milhões de americanos, incluindo números de segurança social e dados financeiros.
🔗 Link
WannaCry (2017): Um ataque de ransomware que afetou centenas de milhares de computadores em mais de 150 países, incluindo sistemas de saúde e empresas.
🔗 Link
SolarWinds (2020): Um ataque sofisticado que comprometeu várias agências governamentais dos EUA e empresas privadas através de uma atualização de software infectada.
🔗 Link
Heartbleed (2014): Uma vulnerabilidade no software de criptografia OpenSSL que permitiu a hackers acessar informações sensíveis em servidores web.
🔗 Link
Sony Pictures (2014): Um ataque atribuído ao grupo Lazarus, supostamente ligado ao governo norte-coreano, que resultou no vazamento de filmes inéditos e informações pessoais de funcionários.
🔗 Link
Ataque ao Target (2013): Hackers conseguiram acessar informações de pagamento de cerca de 40 milhões de clientes da rede de lojas Target.
🔗 Link
Ataque ao Colonial Pipeline (2021): Um ataque de ransomware que interrompeu o fornecimento de combustível na costa leste dos EUA, causando pânico e escassez temporária de combustível.
🔗 Link
Kevin Mitnick é amplamente reconhecido como um dos hackers mais famosos e habilidosos da história. Nos anos 1980 e 1990, ele ganhou notoriedade ao invadir sistemas de empresas como Nokia, Motorola e Sun Microsystems, além de redes governamentais. Ele não roubava dinheiro ou informações confidenciais para ganho pessoal; sua motivação era a curiosidade e o desafio técnico. Em 1995, foi preso pelo FBI e condenado a cinco anos de prisão. Após cumprir sua pena, Mitnick reformulou sua carreira, tornando-se um respeitado consultor de segurança cibernética e autor. Ele fundou a Mitnick Security Consulting e escreveu livros como The Art of Deception e Ghost in the Wires.
Fontes:
- Mitnick, Kevin. Ghost in the Wires.
- https://www.kevinmitnick.com
Adrian Lamo ficou conhecido como o "hacker sem-teto" devido ao seu estilo de vida errante. Ele invadiu sistemas de empresas como The New York Times, Microsoft e Google, deixando recados para as organizações sobre as vulnerabilidades que explorava. Sua fama mundial veio ao denunciar Chelsea Manning, a militar dos EUA que vazou centenas de milhares de documentos confidenciais ao WikiLeaks. Sua decisão gerou polêmica, dividindo opiniões na comunidade de segurança cibernética. Lamo faleceu em 2018, aos 37 anos.
Fontes:
- Poulsen, Kevin. Wired: Adrian Lamo, a Hacker’s Life.
- https://www.wired.com
Gary McKinnon, um hacker britânico, invadiu 97 computadores militares dos EUA e da NASA entre 2001 e 2002. Ele afirmou estar procurando provas de energia livre e tecnologia alienígena que, segundo ele, o governo estaria escondendo. McKinnon causou prejuízos significativos, incluindo a paralisação de sistemas críticos do exército. Apesar dos esforços dos EUA para extraditá-lo, o governo britânico bloqueou sua deportação em 2012, citando seu estado de saúde mental.
Fontes:
Albert Gonzalez liderou um dos maiores esquemas de roubo de dados da história, afetando mais de 170 milhões de cartões de crédito e débito entre 2005 e 2007. Ele usava ataques de injeção SQL para invadir redes de grandes varejistas, como TJX Companies e Heartland Payment Systems. Gonzalez gastou milhões em carros de luxo, relógios e festas extravagantes antes de ser preso em 2008. Foi condenado a 20 anos de prisão.
Fontes:
- Poulsen, Kevin. Wired: The Untold Story of the Great Data Breach.
- https://www.wired.com
Conhecido pelo codinome "c0mrade", Jonathan James foi o primeiro menor de idade a ser preso por crimes cibernéticos nos EUA. Ele invadiu sistemas do Departamento de Defesa e da NASA, obtendo acesso a códigos-fonte sensíveis. A NASA estimou que o ataque causou prejuízos de mais de US$ 41 mil. Em 2008, aos 24 anos, James cometeu suicídio, alegando estar sendo falsamente acusado de crimes cometidos por outros hackers.
Fontes:
- Verton, Dan. The Hacker Diaries: Confessions of Teenage Hackers.
- https://www.cnet.com
Conhecido como "Dark Dante", Kevin Poulsen ficou famoso por invadir sistemas de telecomunicações. Ele manipulou linhas telefônicas para vencer um concurso de rádio e ganhar um Porsche 944. Após ser preso, Poulsen reformou sua vida, tornando-se um jornalista investigativo focado em segurança cibernética. Hoje, ele é editor na Wired e cofundador do projeto Have I Been Pwned.
Fontes:
- Poulsen, Kevin. Kingpin: How One Hacker Took Over the Billion-Dollar Cybercrime Underground.
- https://www.wired.com
O movimento de Software Livre não é apenas uma questão técnica, mas envolve uma profunda filosofia sobre a liberdade, a privacidade e o controle do usuário sobre as ferramentas tecnológicas que utiliza. Ele está fundamentado na ideia de que o software deve ser livre de restrições, permitindo que os usuários possam usar, estudar, modificar e compartilhar os programas como quiserem.
- 📖 Free Software, Free Society
Este livro, escrito por Richard Stallman, é uma coleção de ensaios que descrevem os princípios e as razões por trás do movimento do software livre.
Como estudar: Leia para entender os princípios fundamentais do movimento open source, como a liberdade de uso, modificação e redistribuição de software, além da importância de uma sociedade mais justa e equitativa onde as tecnologias são acessíveis e controláveis por todos.
-
Liberdade de Software: Stallman discute a importância das quatro liberdades fundamentais do software livre:
I. Liberdade 0: A liberdade de executar o programa como desejar, para qualquer propósito.
II. Liberdade 1: A liberdade de estudar como o programa funciona, e mudá-lo para que ele atenda às suas necessidades.
III. Liberdade 2: A liberdade de redistribuir cópias para ajudar outros.
IV. Liberdade 3: A liberdade de distribuir suas versões modificadas do programa, de forma que toda a comunidade possa se beneficiar. -
A Ética do Software Livre: Stallman argumenta que o software deve ser uma ferramenta de capacitação e não de controle. As empresas que distribuem software proprietário (ou seja, software fechado, onde o código-fonte é inacessível) controlam os usuários, limitando sua liberdade e privacidade. No modelo de software livre, o usuário é empoderado, podendo entender e modificar a tecnologia que utiliza, além de compartilhar suas modificações com os outros.
-
Software Livre x Software Proprietário: O autor detalha as diferenças entre software livre e software proprietário, e como o movimento de software livre não se baseia apenas no "preço gratuito", mas nas liberdades essenciais para que o usuário possa ter o controle total sobre suas ferramentas digitais.
-
O Impacto Social e Cultural: O movimento do software livre visa não apenas mudar a maneira como usamos a tecnologia, mas também transformar a sociedade. Ao permitir que todos participem da criação e evolução do software, promove-se uma cultura de colaboração, compartilhamento de conhecimento e liberdade de expressão. A cultura do software livre é vista como um movimento contra a monopolização da informação e a vigilância digital.
Redes de Computadores são fundamentais no mundo moderno, pois conectam dispositivos e possibilitam a troca de informações e recursos. Elas formam a espinha dorsal da internet, das comunicações empresariais, e da infraestrutura digital global. A compreensão das redes é essencial para qualquer técnico, seja ético ou não, pois elas são o ponto de entrada e o mecanismo por meio do qual muitos ataques e defesas acontecem. Vamos explorar o que são as redes de computadores e por que aprender sobre elas é crucial para hacking.
As redes de computadores são compostas por interconexões físicas (como cabos e roteadores) e lógicas (protocolos e sistemas de comunicação) que permitem que dispositivos troquem informações entre si. Existem vários tipos de redes, como:
- LAN (Local Area Network): Rede local, geralmente dentro de uma organização ou residência.
- WAN (Wide Area Network): Rede mais extensa, cobrindo grandes distâncias, como as conexões entre diferentes cidades ou países.
- VPN (Virtual Private Network): Rede privada virtual, utilizada para criar conexões seguras e privadas sobre a internet.
- Wi-Fi: Rede sem fio, cada vez mais popular para conectar dispositivos em áreas como casas, escritórios e espaços públicos.
O conhecimento de redes de computadores é essencial para hacking por várias razões:
-
Identificação de Vulnerabilidades de Rede: A maioria das falhas de segurança que hackers exploram ocorrem em redes. Isso pode envolver a interceptação de tráfego, a exploração de protocolos inseguros ou a exploração de dispositivos mal configurados. Sem entender como as redes funcionam, um hacker seria incapaz de identificar esses pontos fracos.
-
Ataques Baseados em Rede: Muitos tipos de ataques cibernéticos, como Man-in-the-Middle (MITM), DoS (Denial of Service) e SQL Injection, são realizados explorando falhas em redes.
Exemplos de ataques incluem:- MITM: O hacker intercepta e possivelmente altera a comunicação entre dois dispositivos em uma rede.
- Sniffing: Ferramentas como Wireshark permitem que hackers "escutem" e capturem pacotes de dados transmitidos em uma rede.
- Spoofing: O hacker se passa por um dispositivo confiável, enganando a rede ou os usuários.
-
Compreensão dos Protocolos de Comunicação: Redes de computadores dependem de protocolos de comunicação para garantir que os dados sejam enviados e recebidos corretamente. Protocolos como TCP/IP, DNS, HTTP, FTP e SMTP são vitais para a operação de redes. Para um hacker, entender como esses protocolos funcionam ajuda a explorar vulnerabilidades, manipular tráfego ou até criar ataques personalizados.
-
Acesso Remoto e Controle de Sistemas: Muitos ataques envolvem invadir uma rede de computadores remotamente para obter controle sobre dispositivos ou servidores. Técnicas como brute force em redes de login ou a exploração de falhas em redes Wi-Fi (como WEP ou WPA) são usadas para invadir redes domésticas ou corporativas. Dominar os conceitos de redes é crucial para ser capaz de realizar esses ataques.
-
Escalabilidade e Ataques em Larga Escala: Em um ambiente corporativo ou mesmo na internet, as redes podem ser muito complexas e grandes. Hackers precisam entender como trabalhar em diferentes camadas de redes (como layer 2 e layer 3) e como manipular diferentes tipos de tráfego para realizar ataques em larga escala, como DDoS (Distributed Denial of Service).
-
Evasão de Defesas e Segurança de Rede: Defesas como firewalls, IDS (Intrusion Detection Systems) e sistemas de monitoramento de rede são usados para proteger redes. Para um hacker, entender como essas defesas funcionam e como contorná-las é essencial. Além disso, entender como esconder atividades maliciosas dentro de um tráfego de rede legítimo aumenta as chances de sucesso em ataques.
-
Práticas de Defesa e Hardening de Redes: Para hackers éticos, o conhecimento de redes é usado para fortalecer sistemas e proteger contra invasões. Hacking defensivo envolve identificar vulnerabilidades e aplicar soluções de segurança, como criptografia de tráfego, segmentação de rede e implementação de VPNs seguras.
-
Fundamentos de Redes: Comece com o aprendizado dos conceitos básicos de redes, como endereçamento IP, sub-redes, roteamento e switching. Certifique-se de entender o funcionamento do modelo OSI (Open Systems Interconnection) e como os pacotes de dados circulam entre dispositivos.
-
Protocolos de Comunicação: Estude os principais protocolos utilizados em redes, como TCP/IP, HTTP, DNS, e FTP. Compreender como esses protocolos funcionam permite identificar pontos de exploração.
-
Prática com Ferramentas de Hacking de Rede: Ferramentas como Wireshark, Nmap, Metasploit, Aircrack-ng e Ettercap são usadas para explorar redes. Familiarizar-se com essas ferramentas é fundamental para realizar testes de penetração e outras atividades de hacking.
-
Estudo de Segurança de Rede e Criptografia: A segurança de redes envolve aprender sobre firewalls, VPNs, proxies e técnicas de criptografia para proteger dados transmitidos. É importante compreender como essas tecnologias podem ser quebradas ou reforçadas.
- Redes de Computadores - Andrew S. Tanenbaum e David J. Wetherall
- Computer Networking: A Top-Down Approach - James Kurose e Keith Ross
- Network Programmability and Automation - Jason Edelman
- Network Warrior - Gary A. Donahue
- CompTIA Network+ Certification All-in-One Exam Guide - Mike Meyers
- 10 Livros de Redes de Computadores Grátis! [PDF] - InfoLivros
- Apostila de Redes - Universidade do Vale do Paraíba
- CompTIA Network+ (N10-007) Curso Completo e Exame Prático - Udemy
- Os bits e bytes das redes de computadores - Coursera
- Fundamentos da comunicação em rede - Coursera
- Introdução à rede para iniciantes completos - Udemy
- Prime Cursos - Curso de Redes de Computadores Online Grátis
- FIAP - Cursos gratuitos e online
- Hackeone
Irei adicionar cursos de forma gratuita para vocês também, pelos canais do Telegram, para quem não tem condições de pagar um curso no momento, mas deseja aprender redes de computadores.
A Importância da Programação no Mundo do Hacking:
A programação é uma das habilidades mais essenciais para qualquer hacker, seja ele ético ou malicioso. Entender como os sistemas são criados, manipulados e interagem uns com os outros é fundamental para explorar vulnerabilidades, modificar comportamentos de sistemas ou criar ferramentas próprias para alcançar objetivos específicos.
-
Compreensão Profunda dos Sistemas
A programação oferece uma compreensão fundamental de como os sistemas operacionais, redes e aplicativos funcionam. Isso é crucial para entender as vulnerabilidades que podem ser exploradas em uma rede ou aplicação. Um hacker que compreende o código de um programa pode identificar falhas que outros, sem esse conhecimento, não conseguiriam perceber. -
Automação de Tarefas
A maioria das tarefas de hacking envolve repetição: escanear redes, identificar vulnerabilidades, testar senhas, entre outras. A programação permite automatizar esses processos, economizando tempo e tornando o hacker mais eficiente. Ferramentas como scripts de Python, bash scripts ou exploits em C são exemplos de como a automação é usada para facilitar e agilizar os testes de segurança. -
Exploits e Vulnerabilidades
Para explorar falhas de segurança, um hacker precisa entender como os aplicativos e sistemas podem ser manipulados. Programar em linguagens como C, Python ou Assembly permite escrever exploits específicos que aproveitam essas falhas. Isso pode incluir desde ataques simples de negação de serviço (DoS) até injeção de código em sistemas mais complexos. -
Desenvolvimento de Ferramentas
Ferramentas customizadas para testes de penetração, coleta de informações, exploração de vulnerabilidades ou coleta de dados são criadas através de programação. Hackers criam suas próprias ferramentas ou modificam as existentes para atender às suas necessidades específicas. Conhecimento em linguagens como Python, C ou Ruby pode ser crucial para isso. -
Entendimento de Redes
Programar também ajuda a entender como as redes funcionam e como as informações são transmitidas entre os dispositivos. Conhecimentos de protocolos como TCP/IP, UDP, HTTP, DNS e outros são essenciais para manipulação de tráfego de rede ou para ataques como injeção de pacotes, sniffing, man-in-the-middle e DDoS. -
Criptografia e Análise de Dados
Muitos hackers precisam entender como funcionam os sistemas de criptografia e como quebrá-los. A programação permite que você escreva e entenda algoritmos de criptografia, análise de segurança de protocolos criptográficos e até mesmo desenvolva suas próprias técnicas de criptografia. -
Desenvolvimento de Malware
Criação de vírus, worms, trojans e ransomware são feitos por hackers maliciosos para causar danos ou roubar informações. A programação é uma habilidade fundamental nesse contexto, pois permite que o hacker crie e modifique códigos maliciosos de acordo com os objetivos do ataque. -
Desenvolvimento de Exploits
Exploits são peças de código que tiram vantagem de vulnerabilidades de software para obter controle ou informações privilegiadas. Programar é essencial para entender como escrever exploits que podem ser usados para invadir sistemas. Além disso, é importante para corrigir vulnerabilidades de segurança, algo que hackers éticos fazem para melhorar a segurança de sistemas. -
Customização de Ferramentas Existentes
Muitos hackers usam ferramentas existentes para seus testes de penetração, mas o verdadeiro diferencial está em personalizar ou adaptar essas ferramentas para a situação específica que estão enfrentando. Isso pode envolver a modificação de scripts, a criação de novas funcionalidades ou até a integração de diferentes ferramentas para maximizar a eficácia do ataque.
📚 Livros e Guias
-
📘 The C Programming Language
O clássico essencial para aprender C.
Como estudar: Leia capítulo por capítulo e pratique com exercícios. Este livro é considerado a "bíblia" para quem deseja aprender C. -
⚡ Learn C in Y Minutes
Guia rápido para revisar conceitos da linguagem.
Como estudar: Use este recurso como um guia de consulta rápida após estudar o livro K&R. -
🛠️ Beej's Guide to C Programming
Guia prático sobre tópicos avançados como alocação de memória.
Como estudar: Implemente os exemplos práticos e experimente modificações para aprender na prática. -
📄 Documentação do C
Documentação completa da linguagem C.
Como estudar: Consulte frequentemente durante o desenvolvimento de seus projetos para entender as funções e recursos da linguagem. -
🖥️ Documentação do C (Microsoft)
Documentação oficial da Microsoft sobre C.
Como estudar: Aprofunde-se nos detalhes da implementação da linguagem e nos exemplos específicos para Windows. -
🌍 ISO/IEC 9899 - Linguagens de Programação - C
Padrão ISO da linguagem C.
Como estudar: Consulte este documento para uma compreensão formal da linguagem C conforme a norma internacional. -
🖹 Documentação do C++ (Microsoft)
Documentação oficial da Microsoft sobre C++.
Como estudar: Embora o C++ seja uma extensão do C, entender as diferenças e semelhanças entre as duas linguagens pode ser valioso para um programador de baixo nível. -
📖 Linguagem C - Guia Completo
Um guia abrangente sobre a linguagem C. -
📝 Manual dos Iniciantes em C
Introdução básica para iniciantes na linguagem C. -
🧠 Manoel Campos - Dicas de Linguagem C
Dicas práticas e úteis para programadores em C. -
🛡️ Exemplos em C
Coleção de exemplos práticos para estudo e referência. -
🔍 Manual da Sintaxe C
Resumo completo da sintaxe da linguagem C.
🚀 Repositórios e Recursos Práticos
-
🌟 Linguagem C - Primeiros Passos
Repositório com conteúdos básicos e exemplos introdutórios para começar com a linguagem C. -
📂 Estrutura de Dados em C
Coleção de implementações e exemplos de estruturas de dados na linguagem C, ideal para aprofundar conhecimentos em algoritmos e lógica.
📊 Computação Avançada e Algoritmos
-
📖 Introduction to Algorithms
Estruturas de dados e algoritmos em profundidade.
Como estudar: Resolva problemas práticos em plataformas como LeetCode. -
🛠️ Let's Build a Compiler
Aprenda a construir um compilador simples.
Como estudar: Siga os capítulos enquanto implementa as etapas. -
📚 Algorithms, Part I
Curso online sobre algoritmos e estruturas de dados.
Como estudar: Inscreva-se no curso e complete os exercícios práticos. -
🔍 Algorithm Design Manual
Guia abrangente sobre design de algoritmos.
Como estudar: Leia o livro e implemente os algoritmos apresentados. -
🧠 Competitive Programming
Plataforma para praticar algoritmos em competições.
Como estudar: Participe de competições e resolva problemas desafiadores. -
Python:
Uma linguagem altamente acessível e versátil, Python é ideal para desenvolvimento rápido, automação, análise de dados e até mesmo desenvolvimento web. A sintaxe simples de Python a torna uma excelente linguagem para aprender conceitos de programação de forma rápida. É amplamente utilizada em ciência de dados, inteligência artificial e automação.- 📖 Python for Everybody - Curso gratuito online de Python.
- 📖 Automate the Boring Stuff with Python - Livro e curso sobre automação com Python.
-
Rust:
- 📖 The Rust Programming Language - O livro oficial de Rust, gratuito e altamente recomendado.
- 📖 Rust By Example - Um guia para aprender Rust com exemplos práticos.
-
Go (Golang):
Criada pelo Google, Go é uma linguagem de programação moderna que foca em simplicidade e desempenho. É ideal para a criação de servidores web, sistemas distribuídos e microserviços. Go tem uma sintaxe simples e possui um excelente gerenciamento de concorrência, tornando-a uma escolha popular para desenvolvimento de back-end.- 📖 Go by Example - Uma excelente maneira de aprender Go com exemplos práticos.
- 📖 The Go Programming Language - Um dos livros mais completos sobre Go.
-
Java:
Java é uma linguagem amplamente utilizada para desenvolvimento de sistemas empresariais, aplicações web e aplicativos móveis Android. Ela se destaca por sua portabilidade e robustez.- 📖 The Java™ Tutorials - Documentação oficial e tutoriais gratuitos da Oracle para aprender Java.
- 📖 Effective Java - Livro essencial para programadores Java avançados.
-
Desafios de Programação: Plataformas como HackerRank, LeetCode, Exercism, e Codeforces oferecem desafios de programação que podem ajudá-lo a melhorar suas habilidades e aprender novas linguagens de maneira prática.
-
📖 Exercism - Uma plataforma de aprendizado baseada em desafios de código, com mentorias.
-
📖 LeetCode - Focada em desafios de programação e preparação para entrevistas técnicas.
-
Canais de YouTube sobre Programação e Tecnologia
-
☠️ Fabio Akita
Um canal de um cara experiente na área, que mostra conceitos importantes e que são negligenciados por muitas fontes de educação. -
🌟 Computerphile
Explica conceitos de ciência da computação e programação de maneira acessível. -
🌟 Ben Eater
Ensina arquitetura de computadores e como construir computadores do zero. -
🌟 The Coding Train
Ensina programação e criação de projetos interativos com Processing e P5.js. -
🌟 Academind
Tutoriais sobre desenvolvimento web, backend e frameworks populares como React e Node.js. -
🌟 Linux Academy
Ensina tópicos avançados sobre Linux e desenvolvimento em ambientes de servidores. -
🌟 Traversy Media
Excelente para iniciantes em programação e desenvolvimento web com HTML, CSS, JavaScript, e frameworks. -
🌟 Tech With Tim
Dicas e tutoriais sobre Python e outras tecnologias.
Como estudar: Execute projetos enquanto aprende sobre técnicas avançadas e novas ferramentas.
A Importância dos Sistemas Operacionais no Mundo do Hacking
Os sistemas operacionais (SOs) são a base do funcionamento de qualquer computador moderno. Eles são responsáveis por gerenciar o hardware, recursos do sistema, processos em execução e a interação entre o usuário e o computador. No contexto do hacking, uma compreensão profunda dos sistemas operacionais é essencial, pois é por meio deles que o hacker pode acessar, explorar e manipular dados, redes e infraestrutura.
- Função de Controle e Gerenciamento
Um sistema operacional é responsável por gerenciar a execução de processos, a alocação de memória e o controle de dispositivos de hardware. Para hackers, entender esses aspectos é crucial para explorar falhas como corrupção de memória, condições de corrida e vulnerabilidades em gerenciamento de processos. Com esse conhecimento, hackers podem tentar modificar o comportamento dos sistemas, escalonar privilégios ou manipular processos em execução para alcançar seus objetivos.
- Estrutura de Arquivos e Gerenciamento de Permissões
A forma como um sistema operacional organiza e controla o acesso aos arquivos é um aspecto fundamental para a segurança. Compreender a estrutura de diretórios, permissões de arquivos e controles de acesso de sistemas operacionais permite que hackers explorem falhas de segurança, como a execução de códigos maliciosos em locais não autorizados, e acessem dados sensíveis sem as permissões adequadas. O gerenciamento de arquivos também é crucial para realizar ataques de escalonamento de privilégios e evitar a detecção de atividades maliciosas.
- Abstração de Hardware e Interação com a Rede
O sistema operacional serve como uma camada de abstração entre o hardware e os aplicativos, facilitando a comunicação com dispositivos de entrada/saída e a gestão de redes. Hackers precisam entender como o sistema operacional gerencia os recursos de rede, como interfaces de rede, protocolos de comunicação, e a manipulação de pacotes de dados. Além disso, a compreensão do gerenciamento de recursos permite que se explorem vulnerabilidades nas interfaces de rede, como ataques de man-in-the-middle, spoofing e negação de serviço (DoS).
- Vulnerabilidades e Exploração de Sistemas
Cada sistema operacional possui vulnerabilidades únicas que podem ser exploradas por hackers. Estas podem ser causadas por falhas no gerenciamento de memória, falhas de autenticação ou permissões mal configuradas. Hackers precisam entender a arquitetura do sistema operacional para identificar e explorar essas vulnerabilidades, como exploração de buffer overflows, escalonamento de privilégios, ou execução remota de código.
- Isolamento e Contenção de Processos
Os sistemas operacionais modernos fornecem mecanismos de segurança, como o isolamento de processos e a virtualização, para evitar que um processo comprometa o sistema inteiro. No entanto, falhas nesses mecanismos podem permitir que processos maliciosos obtenham controle total do sistema. Para hackers, a capacidade de contornar esses mecanismos, como o uso de técnicas de injeção de código e exploração de falhas em mecanismos de segurança, é essencial para a execução de ataques mais complexos.
- Gerenciamento de Conexões de Rede
O gerenciamento de conexões de rede é uma função crítica de qualquer sistema operacional, já que ele gerencia o tráfego de dados entre dispositivos. Hackers exploram essa camada para realizar ataques direcionados a redes, como sniffing de pacotes, manipulação de tráfego ou ataques de força bruta. A compreensão de como o sistema operacional gerencia sockets e conexões TCP/IP é essencial para identificar pontos fracos e explorar vulnerabilidades em protocolos de comunicação.
- Controle de Acesso e Autenticação
Os mecanismos de controle de acesso e autenticação são fundamentais para garantir que apenas usuários autorizados possam acessar recursos específicos no sistema. A exploração de falhas nesses mecanismos, como o bypass de senhas ou a exploração de senhas fracas, pode dar a hackers acesso privilegiado a sistemas protegidos. Compreender a arquitetura de autenticação e as vulnerabilidades associadas a ela é uma habilidade crucial para quem deseja realizar ataques sofisticados.
- Forense e Análise Pós-Comprometimento
A análise forense de sistemas operacionais é uma parte essencial da investigação de incidentes de segurança. Ao entender como os sistemas operacionais registram logs, armazenam dados e manipulam processos, hackers podem ocultar suas atividades ou, inversamente, usar esse conhecimento para rastrear e investigar ataques. Hackers éticos e profissionais de segurança devem ser capazes de entender as trilhas digitais deixadas em sistemas operacionais para descobrir como um sistema foi comprometido.
- Resposta a Incidentes e Mitigação de Riscos
Sistemas operacionais modernos são projetados com diversas camadas de segurança para proteger contra ataques. Isso inclui firewalls, mecanismos de criptografia, e a execução de auditorias e monitoramento. Hackers precisam entender essas camadas para realizar ataques eficazes e para contornar ou desabilitar as medidas de segurança, enquanto profissionais de segurança devem usar o mesmo conhecimento para fortalecer as defesas e mitigar os riscos.
- Interação com Virtualização e Contêineres
Com o aumento do uso de virtualização e contêineres (como Docker), sistemas operacionais modernos estão cada vez mais integrados com tecnologias de virtualização. Hackers devem entender como os sistemas operacionais gerenciam essas tecnologias, já que falhas na virtualização podem permitir a execução de código malicioso fora do ambiente isolado. A exploração de falhas na separação de contêineres ou máquinas virtuais pode proporcionar acesso a informações sensíveis ou controle do host.
📚 Livros
-
📖 Operating Systems: Three Easy Pieces
Uma introdução aos conceitos de sistemas operacionais.
Como estudar: Resolva os problemas ao final de cada capítulo para praticar a aplicação dos conceitos. -
📘 Modern Operating Systems
Um recurso avançado com exemplos práticos.
Como estudar: Use para aprofundar os conceitos, especialmente sobre gerenciamento de memória, sistemas de arquivos e segurança. -
📙 Operating Systems: Principles and Practice
De Thomas Anderson e Michael Dahlin: Um livro que cobre os princípios fundamentais dos sistemas operacionais com exemplos práticos.
Como estudar: Fique atento aos exemplos práticos e resolva as questões ao final de cada capítulo para garantir que você compreenda os conceitos. -
📗 The Design and Implementation of the FreeBSD Operating System
De Marshall Kirk McKusick e George V. Neville-Neil: Um recurso detalhado sobre o design e a implementação do FreeBSD.
Como estudar: Explore o código-fonte do FreeBSD à medida que estuda o livro para entender como os conceitos são aplicados na prática.
🎓 Cursos e Tutoriais
-
🎥 MIT OpenCourseWare - Operating System Engineering
Curso que explora a construção de sistemas operacionais.
Como estudar: Assista às aulas e implemente projetos práticos para consolidar o aprendizado. Participe dos fóruns de discussão para esclarecer dúvidas. -
📄 GeeksforGeeks - Operating System Tutorials
Uma série de tutoriais que cobrem diversos tópicos de sistemas operacionais, desde conceitos básicos até avançados.
Como estudar: Siga os tutoriais do GeeksforGeeks, praticando com exemplos e testes práticos. Explore temas como escalonamento de processos, gerenciamento de memória, e sistemas de arquivos. -
🎓 Operating Systems: From 0 to 1 (Udemy)
Curso para iniciantes e intermediários que cobre a construção de um sistema operacional simples.
Como estudar: Siga as aulas e implemente pequenos projetos para aplicar o que foi aprendido. -
📚 The Little Book of Semaphores
Exploração dos conceitos de concorrência e semáforos, fundamentais para sistemas operacionais.
Como estudar: Resolva os exercícios práticos e aplique os conceitos de semáforos e sincronização em sistemas multi-thread. -
🎥 FreeBSD - Introduction and Configuration
Vídeo tutorial sobre o sistema operacional FreeBSD, cobrindo instalação e configuração.
Como estudar: Acompanhe o vídeo, faça a instalação do FreeBSD em uma máquina virtual e pratique as configurações mostradas no vídeo. -
🎓 Operating System Engineering - Stanford University
Curso completo sobre sistemas operacionais com ênfase na construção de sistemas de baixo nível.
Como estudar: Implemente as lições de sistemas de arquivos e escalonamento de processos enquanto assiste ao curso. -
🧑💻 Linux Kernel Newbies
Plataforma que ajuda iniciantes a contribuir para o kernel Linux.
Como estudar: Comece com pequenas contribuições, corrigindo bugs e implementando novos recursos no kernel.
🛠️ Ferramentas e Práticas
-
💻 VirtualBox
Plataforma de virtualização para testar diferentes sistemas operacionais.
Como estudar: Instale sistemas operacionais como Linux e FreeBSD em máquinas virtuais e experimente conceitos de sistemas operacionais sem risco para o seu sistema principal. -
🛠️ QEMU
Emulador e virtualizador de sistemas operacionais.
Como estudar: Use QEMU para testar kernels personalizados ou sistemas operacionais de baixo nível em um ambiente controlado. -
📂 GitHub - Operating Systems Projects
Repositório de projetos de sistemas operacionais de código aberto.
Como estudar: Explore o código-fonte de sistemas operacionais open-source e contribua com melhorias. -
📖 Xv6: A Simple, Unix-Like Teaching Operating System
Um sistema operacional simples, desenvolvido para ensino de conceitos de sistemas operacionais.
Como estudar: Modifique o código-fonte do Xv6 para implementar novos recursos e entender o funcionamento interno do sistema.
Para aprender sobre, acesse meu roadmap para low-level: Bitwise Journey: Rumo à Programação de Baixo Nível
Muitos subestimam a importância da matemática no hacking e na tecnologia em geral, dizendo que não é necessário aprender matemática para aprender programação. Esses são os queridos "profissionais" de meia-tigela, que sabem que a maioria dos iniciantes são preguiçosos e querem atalhos para, no fim do dia, só dar um git clone em um repositório do GitHub e rodar em um site para fazer brute force em um painel de login de um site "padoca". Mas, quando você for fazer algum tipo de faculdade, caso queira, como ciência da computação, é aí que você senta no patê. Chegando lá, você terá que lidar mais com matemática do que com programação. Então, largue a preguiça e o seu trauma pedagógico e aprenda matemática para exercitar seu raciocínio lógico e entender de forma robusta como as coisas funcionam.
Criptografia é a ciência de proteger informações. Ela usa conceitos avançados de álgebra, teoria dos números e estatística para criar algoritmos que protegem dados de acessos não autorizados.
- Exemplo: O RSA, um dos algoritmos mais usados, é baseado na dificuldade de fatorar números grandes. Sem matemática, isso seria impossível.
- Quebra de senhas e decodificação de mensagens.
- Desenvolvimento de sistemas de criptografia mais fortes.
O hacking muitas vezes envolve a análise de redes de computadores, que pode incluir modelagem matemática para entender como os dados trafegam.
- Exemplo: A matemática dos grafos (teoria dos grafos) é usada para mapear redes e entender conexões entre dispositivos.
- Identificação de vulnerabilidades em redes.
- Desenvolvimento de exploits que manipulam protocolos e fluxos de dados.
A esteganografia envolve esconder informações dentro de outros arquivos. Isso frequentemente requer matemática para manipular dados em arquivos binários, imagens ou áudios.
- Exemplo: Técnicas como a manipulação de pixels em uma imagem utilizam conceitos de álgebra linear.
- Transferência segura de informações sem levantar suspeitas.
- Descoberta de mensagens ocultas em arquivos.
A matemática é o fundamento dos algoritmos de aprendizado de máquina, usados em ferramentas avançadas de análise de dados e hacking.
- Exemplo: Modelos preditivos que usam estatística para identificar padrões em grandes volumes de dados.
- Reconhecimento de anomalias para identificar possíveis ataques.
- Automação de processos complexos de invasão.
A matemática é usada para entender e desmontar sistemas binários, analisando como os dados são manipulados dentro de um programa.
- Exemplo: Uso de aritmética modular para explorar vulnerabilidades de buffer overflow.
- Criação de ferramentas para exploração de falhas de software.
- Otimização de técnicas de fuzzing.
- Álgebra linear.
- Teoria dos números.
- Estatística e probabilidade.
- Cálculo.
- Teoria dos grafos.
- Khan Academy: Ótimo para fundamentos.
- 3Blue1Brown: Canal do YouTube para visualização intuitiva de conceitos matemáticos.
- Livros clássicos como "Introduction to Algorithms" de Cormen et al.
- Tamanho: 51.6 GB | Duração: 368h 18min | Convite
- Tamanho: 20.25 GB | Duração: 86h 12min | Convite
- Tamanho: 58.46 GB | Duração: 190h 32min | Convite
- Tamanho: 87.42 GB | Duração: 104h 31min | Convite
- Resolva problemas em sites como Project Euler.
Criptografia é uma técnica de segurança essencial que protege dados transformando-os em um formato ilegível através de algoritmos matemáticos 🧮. Existem dois tipos principais de criptografia:
- Criptografia Simétrica: Usa a mesma chave para cifrar e decifrar dados 🔄.
- Criptografia Assimétrica: Usa duas chaves diferentes – uma pública e uma privada 🗝️.
A criptografia é fundamental para garantir a segurança e privacidade dos dados 💻🔒. Seus principais benefícios incluem:
- Confidencialidade: Garante que apenas destinatários autorizados possam acessar e ler os dados 🛡️.
- Integridade: Assegura que os dados não sejam alterados durante a transmissão 🛠️.
- Autenticidade: Verifica a identidade de usuários e a origem das mensagens ✍️.
- Não Repúdio: Previne que uma parte negue ter enviado uma mensagem 📜.
Na segurança cibernética, a criptografia pode tanto proteger quanto ser um alvo de cibercriminoso ⚔️. Veja como:
- Proteção contra cibercriminosos: Dados criptografados são mais difíceis de serem interceptados e lidos, adicionando uma camada extra de segurança 🛡️.
- Quebra de Criptografia: Hackers e cibercriminosos tentam quebrar a criptografia para acessar dados sensíveis. A força da criptografia torna essa tarefa mais desafiadora 💥.
Hash é um processo matemático que transforma dados (como senhas ou arquivos) em um valor fixo de comprimento, chamado "valor hash". Esse valor é uma sequência de caracteres que, ao ser gerada, não pode ser revertida para recuperar os dados originais 🔍.
Exemplo: Se você aplicar um algoritmo hash na senha "minhasenha123"
, o resultado será algo como 5f4dcc3b5aa765d61d8327deb882cf99
– um código único que representa a senha de forma ilegível 💻🔑.
- Armazenamento Seguro de Senhas: Quando você cria uma conta online, a senha não é salva diretamente, mas sim seu valor hash. Isso dificulta que cibercriminosos acessem a senha original 🔐.
- Verificação de Integridade: O hash é utilizado para verificar se um arquivo ou dado foi alterado. Se o hash de um arquivo original coincidir com o hash gerado depois, sabemos que ele não foi modificado 🧐.
O algoritmo de hashing pega dados de qualquer tamanho e gera um valor fixo de caracteres (o hash). A menor alteração nos dados originais gera um hash completamente diferente, tornando muito difícil reverter o hash de volta para os dados originais 🔄.
- Entrada:
"minhasenha123"
- Hash gerado:
5f4dcc3b5aa765d61d8327deb882cf99
Embora a entrada seja simples, o hash gerado é único e impossível de ser revertido para a senha original diretamente ⚡.
Salt é um valor aleatório adicionado ao processo de hashing para garantir que senhas iguais gerem hashes diferentes 🔑✨. Quando aplicamos o hash, o salt é adicionado à senha antes de gerar o valor hash.
Por exemplo, se duas pessoas escolherem a mesma senha "minhasenha123"
, o salt garante que os hashes gerados serão diferentes, porque o salt é único para cada um 🧂.
- Evitar Ataques de Tabelas Rainbow: Tabelas rainbow são usadas por hackers para descobrir senhas rapidamente. O salt torna esse ataque ineficaz, garantindo que cada hash seja único mesmo para senhas iguais 🔒.
- Aumentar a Segurança: Ao adicionar salt, até que um hacker consiga quebrar o hash, ele precisa também conhecer o salt único associado a ele. Isso dificulta ainda mais a tarefa de acessar dados sensíveis 🛡️.
- O salt é gerado aleatoriamente e é único para cada usuário ou senha 🎲.
- O salt é combinado com a senha antes de passar pelo algoritmo de hash 🔐.
- O hash final gerado é armazenado junto com o salt no banco de dados (mas o salt não precisa ser mantido em segredo) 📂.
- Senha:
"minhasenha123"
- Salt gerado:
abc123xyz
- Senha com Salt:
"minhasenha123abc123xyz"
- Hash final:
2a5c29f7a2ffabcde8737f9c64b711c
O valor hash gerado para a senha com salt será diferente de outro usuário com a mesma senha, mas com um salt distinto 🔑💥.
- Segurança: O uso de hash e salt juntos torna muito mais difícil para hackers acessarem senhas ou dados sensíveis 🛡️.
- Prevenção de Ataques: A combinação de hash e salt ajuda a proteger os dados contra ataques avançados, tornando a vida dos hackers bem mais difícil ⚔️.
-
6 Cursos Online Gratuitos de Criptografia - WeLiveSecurity - Uma lista de cursos gratuitos para aprender criptografia, desde conceitos básicos até tópicos mais avançados.
-
Coursera - Cryptography - Um curso que aborda tópicos essenciais de criptografia.
-
Khan Academy - Cryptography - Um curso gratuito de criptografia, com conceitos básicos e aplicações práticas.
-
Introdução à Criptografia - Cornell University - Material de leitura sobre os fundamentos da criptografia, de um curso da Universidade de Cornell.
-
Entendendo Conceitos Básicos de CRIPTOGRAFIA | Parte 1/2 (Fabio Akita) - Então no episódio de hoje vamos começar com alguns conceitos muito básicos sobre encriptação simétrica, alguns algoritmos famosos como DES e AES, entender como acontecem alguns tipos comuns de ataques como dicionário ou extensão de comprimento, e entender o que são de verdades os hashes que programadores usam todos os dias sem saber..
- "Applied Cryptography" de Bruce Schneier - Um clássico que cobre muitos aspectos da criptografia, com exemplos práticos.
- "Cryptography and Network Security" de William Stallings - Um ótimo livro para quem quer entender a criptografia no contexto da segurança de redes.
- "The Code Book" de Simon Singh - Conta a história da criptografia desde a antiguidade até os dias atuais de uma forma acessível e interessante.
- Invertexto - Texto Criptografado - Ferramenta online para criptografar e descriptografar textos.
- TutorialsPoint - Criptografia - Guia completo sobre criptografia, com explicações detalhadas sobre os algoritmos mais comuns.
- CryptoTool - Ferramenta de Criptografia - Uma ferramenta popular para aprender e experimentar criptografia.
- CryptoTool Online - Versão online da ferramenta CryptoTool para uso imediato.
A Web, ou World Wide Web (WWW), é um dos maiores marcos tecnológicos da humanidade. Criada por Tim Berners-Lee em 1989 no CERN, ela transformou a maneira como nos comunicamos, trabalhamos e vivemos.
- 1989: Proposta inicial da Web como um sistema de hipertexto.
- 1991: Primeira página da Web foi publicada, explicando o projeto.
- 1993: Lançamento do Mosaic, o primeiro navegador gráfico amplamente utilizado.
- 1994: Fundação do W3C (World Wide Web Consortium) para padronizar tecnologias da Web.
- 2000s: A chegada da Web 2.0 trouxe maior interatividade, com redes sociais e colaboração.
- Futuro: A Web 3.0, com descentralização, blockchain e inteligência artificial, está moldando o próximo capítulo.
A Web é uma rede de informações que conecta bilhões de dispositivos no mundo todo. Seu funcionamento é baseado no modelo cliente-servidor, mediado pela internet.
- Protocolo HTTP/HTTPS:
- Define como os dados são transmitidos.
- HTTPS garante segurança com criptografia.
- Navegadores (Clientes):
- Interpretam e exibem conteúdo (HTML, CSS, JavaScript etc.).
- Servidores:
- Armazenam e entregam dados aos navegadores.
- Rede:
- Baseada em TCP/IP, conecta clientes e servidores globalmente.
- Camada de Aplicação (7ª camada):
- O navegador interpreta a URL e determina o tipo de solicitação a ser feita, como HTTP/HTTPS.
- Ele usa protocolos como DNS (para resolver o nome do domínio para um endereço IP).
- Camada de Aplicação (7ª camada):
- O navegador monta a solicitação HTTP ou HTTPS, incluindo cabeçalhos e parâmetros.
- Exemplo: Um pedido GET para obter o conteúdo da página.
- Camada de Apresentação (6ª camada):
- Em conexões HTTPS, ocorre criptografia do conteúdo usando SSL/TLS.
- Camada de Sessão (5ª camada):
- Estabelece uma sessão de comunicação entre o cliente e o servidor.
- Camada de Transporte (4ª camada):
- Utiliza o protocolo TCP para dividir a solicitação em pacotes e garantir a entrega correta (ou UDP, para transmissões menos críticas).
- Camada de Rede (3ª camada):
- A solicitação é encapsulada em datagramas IP com endereços de origem (cliente) e destino (servidor).
- Camada de Enlace de Dados (2ª camada):
- Traduz os pacotes IP em quadros para transmissão pela rede local.
- Camada Física (1ª camada):
- Realiza a transmissão física dos dados (via cabo, fibra ótica ou ondas de rádio).
- O servidor recebe os dados pela Camada Física e os passa pelas camadas superiores até a Camada de Aplicação.
- Na camada de aplicação, o servidor processa a solicitação HTTP, consulta bancos de dados ou arquivos e monta a resposta (HTML, CSS, JS, etc.).
- O conteúdo é transmitido de volta para o cliente pelas camadas OSI, seguindo o mesmo caminho inverso.
- Camada de Aplicação (7ª camada):
- O navegador recebe o conteúdo e processa os arquivos HTML, CSS e JS.
- Renderiza a página com gráficos, interatividade e conteúdo solicitado.
- Entender como os dados viajam pelas camadas OSI ajuda a localizar falhas como ataques MITM (na camada de Rede) ou injeções SQL (na camada de Aplicação).
- Criar ou adaptar exploits para vulnerabilidades específicas em servidores ou navegadores depende do conhecimento profundo da comunicação entre as camadas.
- Ferramentas como Wireshark permitem visualizar pacotes em diferentes camadas (especialmente Rede e Transporte), possibilitando entender ataques ou testar segurança.
- Estudar criptografia (Camada de Apresentação) e sessões (Camada de Sessão) é essencial para proteger dados sensíveis e identificar vulnerabilidades.
- Bots, scanners e ferramentas de pentest trabalham manipulando solicitações HTTP/S diretamente na camada de Aplicação. (PELO O AMOR DE DEUS, ESTUDE E FAÇA AS SUAS FERRAMENTAS, NÃO ME SAIA DAQUI PARA NO FINAL USAR SQLMAP)
A Web é uma ferramenta multifuncional com infinitas possibilidades, incluindo:
- Comunicação: Redes sociais, e-mails e chats.
- Educação: Cursos online, pesquisas e tutoriais.
- Comércio: E-commerce, pagamentos online e marketplaces.
- Entretenimento: Streaming de vídeos, jogos e música.
- Serviços: Aplicações para saúde, finanças e produtividade.
A Web é um dos alvos mais comuns no hacking. Aqui está o porquê:
- Aplicações Web: São as mais expostas e frequentemente vulneráveis.
- APIs: Muitas vezes subestimadas, mas podem conter falhas críticas.
- Subdomínios: Pontos de entrada para ataques de reconhecimento e exploração.
- SQL Injection: Manipulação de consultas para acessar dados sensíveis.
- Cross-Site Scripting (XSS): Injeção de scripts maliciosos em páginas confiáveis.
- Cross-Site Request Forgery (CSRF): Enganar usuários para realizar ações não autorizadas.
- File Inclusion: Exploração de arquivos mal configurados no servidor.
- Directory Traversal: Acesso indevido a diretórios e arquivos.
Há muitos ataques para explorar; conforme seus estudos, você vai aprender sobre eles.
- Identificar e corrigir vulnerabilidades.
- Proteger informações confidenciais.
- Realizar testes de penetração para fortalecer sistemas.
- Pratique: Construa projetos do zero para aplicar o que aprendeu. Não adianta assistir a vídeos sobre como criar um portfólio enquanto fica de braços cruzados e só acha que aprendeu. PRATIQUE!
- Participe de Comunidades: Fóruns como Stack Overflow, Reddit e Discord (Não recomendo).
- Leia: Explore recursos como OWASP Top 10 e documentação oficial de tecnologias.
- Simule: Utilize plataformas como Hack The Box e TryHackMe para treinar suas habilidades.
-
HTML and CSS: Design and Build Websites por Jon Duckett
Um ótimo livro para iniciantes aprenderem os fundamentos de HTML e CSS. -
JavaScript: The Good Parts por Douglas Crockford
Essencial para entender JavaScript de forma profunda e evitar práticas ruins. -
Eloquent JavaScript por Marijn Haverbeke
Um livro interativo e gratuito disponível online para quem quer se aprofundar em JavaScript.
-
MDN Web Docs
A referência oficial e completa para desenvolvedores web. -
W3Schools
Um ótimo recurso para tutoriais rápidos e exemplos de código. -
freeCodeCamp
Uma plataforma interativa para aprender desenvolvimento web e muito mais.
-
CodePen
Uma ferramenta para escrever e compartilhar código HTML, CSS e JavaScript online. -
GitHub
A maior plataforma de hospedagem de código-fonte, essencial para colaboração e controle de versão. -
Stack Overflow
Uma comunidade de desenvolvedores para tirar dúvidas e compartilhar soluções.
-
CSS-Tricks
Um blog que cobre todas as facetas de CSS e desenvolvimento front-end. -
Smashing Magazine
Um excelente blog de design e desenvolvimento web. -
r/webdev no Reddit
Uma comunidade ativa para desenvolvedores web compartilharem ideias, recursos e aprendizados.
Vou adicionar mais conteúdos
A engenharia reversa é uma prática antiga, que remonta à análise de ferramentas e dispositivos criados por civilizações passadas. ⚙️ Durante a Revolução Industrial, tornou-se mais sistemática, sendo usada para entender e reproduzir máquinas complexas.
💣 Na Segunda Guerra Mundial, sua aplicação foi crucial: tecnologias inimigas, como radares e aviões, eram desmontadas para fins estratégicos.
💾 Com o avanço da computação no século XX, a engenharia reversa migrou para o digital, desvendando sistemas operacionais, softwares e hardwares.
A prática moderna nasceu nos anos 1960, em polos tecnológicos como Estados Unidos, Alemanha e Japão. Com a chegada da computação avançada, ferramentas como depuradores (debuggers), disassemblers e analisadores de memória transformaram a engenharia reversa em uma ciência. 🖥️
🔧 Ela ganhou relevância em diversas áreas, como desenvolvimento industrial, pesquisa tecnológica e segurança digital.
A engenharia reversa possui aplicações amplas, sendo uma ferramenta essencial para várias áreas:
- Analisar malwares para identificar comportamentos maliciosos e desenvolver contramedidas.
- Descobrir vulnerabilidades em sistemas para reforçar sua segurança.
- Desenvolver softwares ou dispositivos compatíveis com sistemas proprietários.
- Criar drivers e APIs para melhorar integração.
- Restaurar funcionalidades de sistemas corrompidos ou descontinuados.
- Desbloquear dados importantes em softwares obsoletos.
- Aprender como funcionam tecnologias avançadas.
- Dominar técnicas de programação e design de sistemas.
- Garantir que softwares sigam regulamentações e licenças.
- Identificar possíveis violações de propriedade intelectual.
No universo do hacking purista, a engenharia reversa é uma arte e ciência essencial, que representa o espírito de curiosidade e aprendizado contínuo. 🧠✨
Permite entender os sistemas além da superfície, explorando cada detalhe técnico.
Facilita a descoberta de brechas e soluções.
Elimina a dependência de documentações ou permissões externas.
Ao identificar vulnerabilidades, hackers ajudam a tornar a tecnologia mais segura para todos.
- 🛡️ Proteção: Melhore a segurança de sistemas e dados sensíveis.
- 🔍 Investigação: Desvende tecnologias misteriosas e aprenda com elas.
- 🌟 Criatividade: Inove ao criar soluções a partir de sistemas existentes.
- 💼 Carreira: Engenheiros reversos são altamente valorizados em segurança cibernética, desenvolvimento e pesquisa.
- 🎓 A Arte da Engenharia Reversa - Mente Binária
Um curso essencial para iniciantes e intermediários, cobrindo técnicas práticas e ferramentas usadas no mercado.
-
📄 Apostila de Reengenharia e Engenharia Reversa - USP
Uma introdução acadêmica detalhada sobre reengenharia e engenharia reversa. -
📘 Reengenharia e Engenharia Reversa - UFPR
Material técnico abordando conceitos fundamentais e aplicações. -
📗 Apostila: Introdução à Engenharia Reversa
Documento introdutório para entender os princípios e práticas iniciais.
-
🖋️ Engenharia Reversa - Wishbox Blog
Um artigo explicativo sobre a importância e utilidade da engenharia reversa. -
📑 Repositório Acadêmico - Engenharia Reversa
Publicação sobre engenharia reversa em ambientes educacionais e profissionais. -
📚 Monografia: Estudo sobre Engenharia Reversa e Ferramentas
Uma análise detalhada sobre ferramentas e metodologias.
-
🌍 O Que É Engenharia Reversa? - Credited Tecnologia
Explicação simples e direta do conceito e suas aplicações. -
📰 Engenharia Reversa - Engenharia360
Abordagem prática sobre desconstruir para inovar. -
🖥️ Engenharia Reversa na Wikipédia
Recurso introdutório com referências adicionais.
-
✍️ O Que É Engenharia Reversa e Para o Que Ela Serve? - XP Educação
Explicação completa sobre o papel e impacto da engenharia reversa. -
🛠️ Engenharia Reversa: Desconstruindo Para Inovar - Blog da Engenharia
Reflexões sobre como a engenharia reversa contribui para a inovação.
Antes de o termo "hacker" assumir a conotação atual, as contribuições para projetos de tecnologia e o espírito colaborativo das comunidades eram muito mais informais e comunitárias. A cultura hacker tem suas raízes nos anos 1950 e 1960, quando pioneiros da computação, principalmente em universidades e centros de pesquisa, começaram a se reunir e colaborar.
Nos anos 60, universidades como o MIT (Massachusetts Institute of Technology) eram epicentros de inovação computacional. Programadores, geralmente estudantes ou acadêmicos, colaboravam em projetos de software e hardware sem a rígida noção de "propriedade intelectual" que existe hoje. As contribuições eram feitas de forma aberta e compartilhada, muitas vezes através do envio de fitas magnéticas ou acesso remoto a mainframes, onde o código podia ser modificado por qualquer um.
Antes dos computadores pessoais, os mainframes dominavam o cenário. Usados por universidades, empresas e governos, esses sistemas eram acessados remotamente. A colaboração entre programadores de diferentes localidades acontecia através de redes como a ARPANET, uma das precursoras da Internet. O código era compartilhado por meios rudimentares de controle de versão ou até mesmo via correio físico.
Na década de 70 e 80, a filosofia do software livre começou a ganhar força, e o movimento open-source foi tomando forma. Richard Stallman, figura central desse movimento, fundou o Projeto GNU em 1983, com o objetivo de criar um sistema operacional totalmente livre. O foco era permitir que qualquer um pudesse contribuir, modificar e redistribuir código, sem as limitações de licenças proprietárias. As contribuições eram feitas por meio de listas de discussão, fóruns e até disquetes.
Naquela época, a modificação de código era um conceito muito comum. Programadores pegavam softwares existentes, faziam adaptações ou melhorias, e depois compartilhavam suas modificações com a comunidade. Isso resultou em muitos dos primeiros sistemas operacionais e programas utilitários que formariam a espinha dorsal do software livre. Não havia uma grande separação entre hacker e programador – todos colaboravam para expandir o conhecimento coletivo.
O conceito de hackerspaces começou a tomar forma na década de 1980 e se popularizou nos anos 90. Esses espaços eram locais onde engenheiros, programadores e entusiastas se reuniam para trabalhar em projetos. Nesses ambientes, o acesso a computadores, hardware e redes era compartilhado, promovendo um ambiente colaborativo sem barreiras de entrada ou necessidade de títulos formais. A ideia era aprender fazendo.
O cracking (quebra de proteções de software) começou a fazer parte da cultura hacker, muito antes do termo "hacker" ter a conotação negativa de hoje. Programadores trocavam informações sobre como desbloquear softwares pagos, tornando-os acessíveis para todos. Além disso, o uso de engenharia reversa — onde os programadores desmontavam programas e hardware para entender seu funcionamento — também era comum e compartilhado em comunidades de entusiastas.
Contribuir para a comunidade tecnológica vai além de resolver problemas individuais; é sobre:
- 📚 Compartilhar Conhecimento: Auxiliar outros desenvolvedores e entusiastas a aprenderem e crescerem.
- 🔒 Fortalecer a Segurança: Identificar vulnerabilidades para proteger dados e sistemas críticos.
- 🚀 Impulsionar a Inovação: Proporcionar soluções criativas e sustentáveis que moldam o futuro da tecnologia.
- 🤝 Construir Comunidade: Criar um espaço colaborativo e inclusivo para troca de ideias e experiências.
-
Anos 60-70: Surgimento dos primeiros hackers no MIT, com uma mentalidade focada em exploração, aprendizado e melhoria de sistemas existentes.
- 🔑 Marco Histórico: Criação do Unix em 1969, um sistema que inspirou a filosofia de software aberto.
-
Anos 80-90: Expansão do movimento open source e da cultura hacker com projetos como GNU e Linux.
- 🌟 Impacto: Popularização do modelo colaborativo de desenvolvimento.
-
Anos 2000 e Além: A explosão da internet e plataformas como GitHub permitiram colaborações globais em tempo real.
- 🌍 Efeito Global: Inúmeros projetos open source como Firefox, Kubernetes e Signal se tornaram essenciais.
- 🧠 Aprendizado Constante: Trabalhar em projetos reais aprimora suas habilidades.
- 💡 Resolução de Problemas Reais: Ajudar comunidades e empresas a superar desafios técnicos.
- 🌐 Impacto Global: Suas contribuições podem beneficiar milhões de usuários.
- 📜 Reputação Profissional: Demonstrar expertise técnica e dedicação.
- ❤️ Devolver à Comunidade: Recompensar o ecossistema que possibilitou seu aprendizado.
-
GitHub & GitLab:
- Repositórios open source populares.
- Linguagens como Python, C, Rust e Go são ótimos pontos de partida.
-
Projetos de Segurança:
- OWASP: Contribua para guias e ferramentas de segurança.
- Metasploit Framework: Ajude a expandir este conhecido framework de pen testing.
-
Comunidades Online:
- Stack Overflow: Responda perguntas e compartilhe soluções.
- Hack The Box e CTFs: Descubra vulnerabilidades e contribua com write-ups.
-
Documentação e Traduções:
- Projetos frequentemente precisam de ajuda com documentação e internacionalização.
-
Educação e Tutoriais:
- Publique conteúdos em blogs, vídeos ou plataformas como o Medium.
- Linus Torvalds: Criador do Linux, um sistema operacional open source usado globalmente.
- Richard Stallman: Fundador do projeto GNU e ativista do software livre.
- Kevin Mitnick: Ex-hacker que se tornou consultor de segurança cibernética.
- Escolha uma Área: Identifique projetos ou tecnologias que você gosta.
- Aprenda as Ferramentas: Domine Git, ferramentas de desenvolvimento e o básico da área.
- Participe: Comece pequeno, seja corrigindo bugs ou melhorando documentações.
- Networking: Entre em comunidades, participe de fóruns e eventos online.
- Seja Persistente: Todos começam em algum lugar, prática e consistência são chave.
A contribuição para projetos open source e software livre é uma das maneiras mais poderosas de aprender, crescer e colaborar com outras pessoas. Abaixo estão vários projetos e recursos que você pode explorar, começar a contribuir e aprender mais sobre diferentes tecnologias.
-
💻 MINIX 3
Sistema operacional UNIX-like para aprendizado.
Como estudar: Leia o código e experimente modificá-lo.
Contribuição: O projeto é open source e permite contribuições externas. É um ótimo projeto para aprender sobre sistemas operacionais. -
🛠️ Linux From Scratch
Construa seu próprio Linux do zero.
Como estudar: Siga o tutorial passo a passo, validando cada etapa.
Contribuição: Embora seja um projeto de aprendizado, você pode contribuir com documentações ou melhorias nos tutoriais ou até com scripts e ferramentas auxiliares. -
🔧 Bare Metal Programming
Programação diretamente no hardware sem um sistema operacional.
Como estudar: Siga tutoriais e experimente escrever código que interaja diretamente com o hardware.
Contribuição: Você pode contribuir criando exemplos, tutoriais ou até mesmo aprimorando as bibliotecas de hardware com melhorias ou mais exemplos. -
📚 OSDev.org
Recursos e tutoriais para desenvolvimento de sistemas operacionais.
Como estudar: Explore os tutoriais e participe dos fóruns para tirar dúvidas e compartilhar conhecimento.
Contribuição: O site oferece tutoriais, mas você pode contribuir com novas documentações, artigos ou até mesmo projetos de sistemas operacionais que ajudem a expandir os tutoriais existentes. -
🖥️ Raspberry Pi Bare Metal
Desenvolvimento de software bare metal para Raspberry Pi.
Como estudar: Utilize a documentação oficial e projetos de exemplo para começar.
Contribuição: O projeto é aberto e você pode contribuir adicionando novos exemplos ou documentações.
-
🐂 GNU Project
Participe do desenvolvimento de softwares livres que respeitam a liberdade dos usuários.
Como contribuir: Explore os projetos ativos no site oficial, participe de discussões e contribua com código ou documentação.
Contribuição: O projeto é uma fundação focada em software livre. Você pode contribuir de várias maneiras, como criando novos pacotes ou corrigindo bugs. -
🐧 Kernel Linux
Excelente plataforma para iniciantes que desejam aprender sobre desenvolvimento do kernel.
Como contribuir: Comece corrigindo bugs simples ou trabalhando na documentação.
Contribuição: O Kernel Linux é um dos maiores projetos open source e aceita contribuições externas, especialmente para iniciantes, com patches para bugs ou melhorias na documentação. -
📂 FreeBSD Project
Sistema operacional avançado de código aberto.
Como contribuir: Ajude no desenvolvimento, documentação ou suporte comunitário.
Contribuição: Embora o FreeBSD tenha uma base de desenvolvedores específica, você pode contribuir com documentação ou melhorias em áreas como redes e segurança. -
🔓 Debian
Sistema operacional baseado em GNU/Linux com foco em software livre.
Como contribuir: Participe do desenvolvimento de pacotes, teste versões ou ajude na tradução.
Contribuição: O Debian é muito aberto à contribuição, seja criando pacotes, ajudando na tradução, ou testando versões de desenvolvimento. -
🌟 Fedora Project
Comunidade global construindo uma plataforma de software livre para o futuro.
Como contribuir: Colabore em áreas como design, desenvolvimento, QA ou marketing.
Contribuição: Fedora é bem amigável para iniciantes e a comunidade está sempre buscando novas contribuições, seja no código, em testes ou design. -
🛠️ Arch Linux
Distribuição Linux minimalista e altamente customizável.
Como contribuir: Ajude com pacotes no AUR, contribua para a documentação ou reporte bugs.
Contribuição: A comunidade do Arch Linux é muito ativa e você pode contribuir com pacotes no AUR, corrigindo erros ou ajudando com a documentação. -
🤝 Open Source Guide
Aprenda como começar a contribuir em projetos open source.
Como estudar: Leia o guia para aprender boas práticas de contribuição e onde encontrar projetos para participar.
Contribuição: O Open Source Guide oferece dicas valiosas para quem está começando a contribuir para projetos open source, como encontrar bons projetos e praticar boas práticas.
-
💻 Hack The Box
Plataforma para aprender hacking e pentesting de forma interativa.
Como estudar: Resolva desafios de segurança e melhore suas habilidades práticas.
Contribuição: Embora seja uma plataforma de treinamento, você pode contribuir criando novos desafios ou tutoriais para a comunidade. -
🔓 OWASP
Foco em segurança de software e melhores práticas para proteger aplicativos.
Como contribuir: Participe com ferramentas, recursos de segurança ou documentações.
Contribuição: OWASP é uma excelente plataforma para contribuições em segurança de aplicativos. Você pode colaborar no desenvolvimento de ferramentas ou na documentação. -
🛠️ Metasploit Framework
Framework de segurança usado para teste de penetração.
Como contribuir: Envie patches, crie novos exploits ou trabalhe na documentação.
Contribuição: O Metasploit Framework aceita contribuições externas, como código, documentação e novos exploits. -
📊 Wireshark
Ferramenta de análise de protocolos de rede.
Como contribuir: Contribua com novos protocolos, melhorias no código ou na documentação.
Contribuição: Wireshark é uma ferramenta open source onde você pode contribuir com novos protocolos ou melhorias na funcionalidade existente. -
🏡 Home Assistant
Plataforma para automação residencial.
Como contribuir: Crie integrações para novos dispositivos, adicione funcionalidades ou corrija erros.
Contribuição: Home Assistant é bem aberto e você pode ajudar desenvolvendo integrações ou melhorando a interface do usuário.
-
🌍 Wikipedia
A maior enciclopédia online colaborativa.
Como contribuir: Edite e crie artigos, ou ajude na moderação de conteúdo.
Contribuição: A Wikipedia é uma plataforma 100% open source. Você pode contribuir editando e criando novos artigos, corrigindo informações ou traduzindo conteúdo. -
📚 Project Gutenberg
Oferece livros gratuitos e de domínio público.
Como contribuir: Digitalize livros, revise textos ou ajude na tradução.
Contribuição: Um ótimo projeto para quem gosta de livros. A contribuição pode ser feita na digitalização de livros e correção de textos. -
🎓 Khan Academy
Plataforma de ensino online gratuito.
Como contribuir: Traduza vídeos ou crie novos recursos educacionais.
Contribuição: Embora o código da Khan Academy não seja completamente open source, você pode contribuir com traduções ou materiais educacionais.
- Entenda as necessidades do projeto: Antes de começar, explore as questões no GitHub, participe dos fóruns e leia a documentação para entender as prioridades do projeto.
- Comece com problemas simples: Comece corrigindo bugs menores ou melhorando a documentação. Com o tempo, você poderá enfrentar desafios mais complexos.
- Participe da comunidade: Contribua para o fórum, compartilhe conhecimento, ajude novos contribuidores ou participe de eventos como hackathons e conferências.
- Seja paciente e persistente: Contribuir para projetos open source e software livre é um processo contínuo de aprendizado. Seja paciente e continue aprimorando suas habilidades.
O conceito de anonimato remonta às eras anteriores à tecnologia moderna, mas sua aplicação prática na era digital começou a ganhar relevância a partir do desenvolvimento da Internet. Com a possibilidade de interações remotas, surgiu a necessidade de ocultar identidades para proteger a privacidade ou realizar atividades que desafiassem as normas estabelecidas.
Na internet, existem vários "tutoriais" de anonimato, mas muitos deles não compreendem o verdadeiro funcionamento do anonimato na rede. Por exemplo, como o Antônio do FocoEmSec, que, com sua limitada compreensão técnica, apresenta ferramentas como o "Auto IP". Essa ferramenta, que muda seu endereço IP periodicamente, parece promissora, mas apresenta graves problemas de segurança.
O Tor é projetado para manter consistência em seu nó guardião (o primeiro nó da cadeia), exatamente para proteger contra ataques de correlação de tráfego. Ferramentas como o "Auto IP", que desativam e reativam o Tor na máquina do usuário, não apenas reiniciam o circuito como um todo (nós guardião, intermediário e de saída), mas também forçam a alteração do nó guardião.
Essa prática aumenta significativamente a probabilidade de ataques de correlação. Quando você muda frequentemente o nó guardião, indivíduos que monitoram tanto o tráfego de entrada quanto o de saída da rede Tor podem correlacionar padrões e comprometer seu anonimato. O Tor, por padrão, realiza um reset periódico de seus circuitos, mas mantém o nó guardião por um período prolongado exatamente para evitar esses riscos.
Portanto, ferramentas que modificam constantemente os circuitos do Tor sem considerar esses princípios acabam enfraquecendo a segurança do usuário em vez de protegê-lo. Essa prática demonstra um desconhecimento técnico sobre o funcionamento do Tor e pode expor os usuários a riscos que eles poderiam evitar seguindo as recomendações oficiais.
Vou deixar mais fontes de infromações aqui:
Softwall - Ataques de Desanonimização Contra a Rede Tor
Este artigo explora os diferentes tipos de ataques de desanonimização direcionados à rede Tor. Ele fornece exemplos e discute vulnerabilidades conhecidas, além de oferecer insights sobre como esses ataques podem comprometer usuários desavisados.
TorBot - Relatório LACNIC-LACSEC 2017
Este documento técnico, desenvolvido pela Unicamp, discute o "TorBot" e suas implicações para a segurança e anonimato na rede Tor. Ele aborda aspectos técnicos detalhados, sendo uma ótima fonte para quem deseja se aprofundar nos mecanismos de funcionamento do Tor e nos métodos de ataque.
Manual do Navegador Tor - Introdução
Este é o manual oficial do navegador Tor, contendo explicações detalhadas sobre como usá-lo corretamente, configurá-lo para proteger seu anonimato e entender como ele funciona. Uma leitura essencial para usuários iniciantes e experientes.
Manual do Navegador Tor - Menu de Recursos
Outra seção do manual oficial do Tor, com uma visão geral dos recursos do navegador. Ele aborda desde configurações básicas até ferramentas avançadas para maximizar a segurança e privacidade do usuário.
A partir dos anos 1990, ferramentas como o Tor (The Onion Router) e o surgimento de redes privadas virtuais (VPNs) permitiram que indivíduos naveguem pela internet sem expor suas identidades reais. O anonimato se tornou um componente essencial para jornalistas, dissidentes políticos e defensores da privacidade, mas também atraiu a atenção de hackers e cibercriminosos.
- Privacidade: Garantir que as informações pessoais não sejam rastreadas.
- Liberdade de Expressão: Especialmente em regimes autoritários.
- Proteção Contra Vigilância: Contra vigilância em massa e rastreamento corporativo.
Ferramentas como Tor, redes descentralizadas (Freenet) e criptomoedas (como o Bitcoin) desempenharam papéis cruciais para alcançar o anonimato na era digital.
O termo surgiu no MIT, onde estudantes do Tech Model Railroad Club aplicavam suas habilidades para "hackear" sistemas de trens em miniatura. Essa cultura evoluiu para o mundo da computação, com programadores explorando computadores como o PDP-1 da DEC.
Os hackers experimentaram sistemas iniciais como o ARPANET, precursor da Internet. Eles não eram criminosos; eram inovadores e visionários que buscavam superar limites técnicos.
Grupos como o Legion of Doom (LoD) e o Chaos Computer Club (CCC) começaram a surgir, explorando sistemas para demonstrar vulnerabilidades e promover a liberdade de informação.
Filmes como WarGames (1983) popularizaram a figura do hacker, enquanto eventos como o ataque de Robert Tappan Morris com o "Morris Worm" (1988) levaram a uma visão mais negativa, resultando em regulamentações como o Computer Fraud and Abuse Act nos EUA.
Filme citado:
Regulamentação citada:
Conforme o tempo foi passando, com o surgimento de filmes e o marketeiros de cursos de "hackers", distribuições voltadas para script kiddies começaram a se popularizar. Exemplos disso é o Kali Linux, que se tornou bastante popular entre leigos que se consideram hackers de filme, em grande parte devido à série Mr. Robot, além de outras como BlackArch Linux, Parrot, entre outras. Essas distribuições são frequentemente superestimadas por vendedores de cursos e youtubers que tentam falar sobre hacking. Como resultado, surgiram comunidades online compostas por pessoas que confundem atividades ilícitas (como o golpe 171) com black hat hacking, promovendo uma cultura de desinformação. Nessas comunidades, é comum ver pessoas se xingando, humilhando iniciantes e criando uma aura de superioridade intelectual para dar a impressão de que são grandes especialistas. Porém, fica o alerta: se você entrar em uma dessas comunidades e fizer uma pergunta técnica legítima, e em vez de obter ajuda, for desdenhado, pode ter certeza de que eles não sabem a resposta e são pessoas frustradas, em busca de reconhecimento.
Poucas comunidades se destacam, sendo bem organizadas e com conteúdos verdadeiramente úteis e construtivos. A maioria, infelizmente, está mais preocupada em inflar egos e falar sobre teorias vazias do que em realmente compartilhar conhecimento técnico.
Eu não recomendo o uso de distribuições Linux "mastigadas", ou seja, aquelas que vêm pré-configuradas com tudo pronto para você. Embora distribuições como o Kali Linux possam ser práticas para ensinar conceitos em ambientes acadêmicos, elas são altamente desaconselháveis para profissionais. Para quem quer realmente se aprofundar, o Kali Linux apresenta os seguintes problemas:
Instabilidade.
Facilidade demais para iniciantes: O Kali Linux é "mastigado" para aqueles que estão começando, o que pode gerar sequelas no aprendizado. Usuários que começam com Kali podem se acostumar a usar ferramentas prontas sem entender como elas funcionam, o que impede o desenvolvimento de habilidades e o entendimento profundo dos processos.
Ferramentas prontas: Kali Linux oferece um conjunto de ferramentas pré-instaladas, acabam alimentando a mentalidade do script kiddie, onde o foco está em rodar scripts e ferramentas sem entender o que está acontecendo nos bastidores. Isso não contribui para o desenvolvimento de habilidades de hacking real e pode fazer com que o usuário se sinta um "hacker" sem realmente ser.
Se você deseja aprender de verdade e se tornar um profissional de segurança cibernética ou hacker, é fundamental que você desenvolva suas próprias habilidades e entenda os fundamentos técnicos. Não dependa de distribuições que apenas "mastigam" o trabalho por você. A verdadeira aprendizagem vem da prática e do entendimento profundo dos conceitos.
O programa de bug bounty (recompensas por bugs) é uma prática que surgiu como uma maneira de incentivar a descoberta e correção de vulnerabilidades de segurança em sistemas de software. Sua história remonta ao final dos anos 90, quando empresas começaram a perceber que os hackers éticos, também conhecidos como white hats 🦸♂️, poderiam ajudar a encontrar falhas de segurança antes que elas fossem exploradas por indivíduos mal-intencionados (black hats 🦹♂️).
O primeiro programa de bug bounty reconhecido oficialmente foi lançado pelo Netscape Communications em 1995. Eles ofereceram recompensas financeiras 💰 a qualquer pessoa que encontrasse e relatasse vulnerabilidades no navegador Netscape Navigator. Esse foi um marco que estabeleceu um ciclo de colaboração entre empresas e hackers éticos, transformando-os em aliados na luta contra as ameaças cibernéticas.
O ciclo do bug bounty é relativamente simples:
-
Lançamento do Programa 🚀: Empresas ou organizações lançam um programa de recompensas, onde qualquer pessoa, de qualquer parte do mundo 🌍, pode procurar por falhas de segurança em seus sistemas ou aplicativos.
-
Identificação de Vulnerabilidades 🕵️♂️: Os hackers éticos, também conhecidos como white hats, utilizam suas habilidades para identificar e relatar vulnerabilidades de maneira responsável.
-
Relatório e Avaliação 📑: O hacker reporta a vulnerabilidade encontrada à empresa responsável pelo sistema. A empresa então valida a falha, avalia sua gravidade
⚠️ e decide se a recompensa será concedida. -
Correção e Recompensa 🎉: Após a correção do bug, o hacker recebe a recompensa, que pode variar de acordo com a gravidade e o impacto da vulnerabilidade descoberta.
-
Segurança Aprimorada 🔒: O principal benefício é a melhoria da segurança do sistema. Através dos programas de bug bounty, empresas conseguem descobrir falhas de segurança que poderiam ser exploradas por hackers mal-intencionados antes que isso acontecesse.
-
Diversidade de Pesquisadores 🌍: Ao permitir que qualquer pessoa, de qualquer lugar, participe do programa, o bug bounty aproveita a diversidade de habilidades, perspectivas e experiências, aumentando a probabilidade de detectar falhas difíceis de encontrar.
-
Economia de Recursos 💡: Em vez de contratar uma grande equipe de segurança interna para realizar auditorias constantes, as empresas podem contar com uma comunidade global de pesquisadores de segurança. Isso pode ser mais eficiente e econômico.
-
Recompensa Justa e Transparente 💸: O modelo de recompensa oferece uma forma justa de compensar aqueles que contribuem para a segurança. A quantia pode variar conforme a gravidade da vulnerabilidade, tornando o processo transparente e baseado no mérito.
O bug bounty oferece um terreno fértil para a prática do hacking ético por diversos motivos:
-
Ambiente Controlado 🛡️: O participante do programa tem a permissão explícita da empresa para testar sistemas e procurar falhas, eliminando a ilegalidade que caracteriza o hacking malicioso. Isso permite uma prática sem medo de consequências legais.
-
Desenvolvimento de Habilidades 🧠: O processo de procurar e identificar vulnerabilidades exige que os hackers éticos aprimorem suas habilidades técnicas. Eles têm que entender profundamente como os sistemas funcionam, aprender novas técnicas de exploração e, muitas vezes, criar suas próprias ferramentas.
-
Aprendizado Contínuo 📚: Os programas de bug bounty frequentemente desafiam os participantes com sistemas complexos e modernos, o que os mantém atualizados com as últimas tecnologias e ameaças. Essa prática contínua acelera o aprendizado e o domínio de novas técnicas de segurança.
-
Reconhecimento Profissional 🏆: Para aqueles que se destacam, o programa de bug bounty oferece a oportunidade de construir uma reputação sólida na comunidade de segurança. Hackers éticos podem ser reconhecidos como especialistas, podendo até receber ofertas de emprego de grandes empresas de segurança cibernética.
O bug bounty é uma das formas mais eficazes de praticar o hacking ético por diversas razões. Primeiramente, ele proporciona um espaço seguro e legal para explorar vulnerabilidades sem correr o risco de consequências jurídicas. Além disso, a variedade de sistemas e empresas envolvidas garante uma ampla gama de cenários de segurança, o que torna a experiência mais rica e desafiadora.
Ao participar de programas de bug bounty, os hackers éticos têm a chance de aplicar o conhecimento adquirido de maneira prática, enfrentando problemas reais de segurança, e ganhando experiência valiosa. O retorno financeiro também serve como um incentivo, tornando o processo mais motivador e competitivo, ao mesmo tempo que oferece reconhecimento pelo trabalho realizado.
https://www.amazon.com.br/Bug-Bounty-Bootcamp-Reporting-Vulnerabilities/dp/1718501544
https://conteudo.bughunt.com.br/ebook-bug-bounty
https://www.amazon.com.br/Bug-Bounty-Hunting-Essentials-Quick-paced/dp/1788626893
https://github.com/akr3ch/BugBountyBooks/blob/main/Bug-Bounty-Playbook-V2.pdf
https://github.com/akr3ch/BugBountyBooks
https://github.com/penetestersquad/Bug-Bounty-Free-Resources
https://github.com/bittentech/Bug-Bounty-Beginner-Roadmap
https://www.bugcrowd.com/
https://www.bughunt.com.br/
https://www.hackerone.com/
https://www.intigriti.com/
https://www.yeswehack.com/
https://www.openbugbounty.org/
https://www.instagram.com/ofjaaah/
https://www.instagram.com/xande_araujo/
https://tconline.feevale.br/tc/files/0001_5197.pdf
https://www.mindmeister.com/pt/1577748697/bug-bounty-platforms
O hacktivismo é uma forma de ativismo que utiliza o hacking como ferramenta para promover causas políticas, sociais ou ambientais. Ele surgiu como uma resposta à crescente centralização do poder político e econômico na internet, com o objetivo de usar a tecnologia e as vulnerabilidades digitais para desafiar autoridades e corporações. Hackers, tradicionalmente conhecidos por suas habilidades técnicas, começaram a empregar essas habilidades para fins que ultrapassavam os limites do simples prazer de invadir sistemas, mas também para causar mudanças significativas em questões sociais e políticas.
O termo hacktivismo é uma junção das palavras "hacker" e "ativismo", e sua origem remonta ao final dos anos 90, quando os hackers começaram a usar suas habilidades para causas além do simples prazer de invadir sistemas. Durante esse período, as questões sobre a privacidade na internet, a censura digital e os direitos humanos se tornaram cada vez mais evidentes, motivando indivíduos e grupos a tomar ações digitais para lutar por mudanças.
Os primeiros grupos de hacktivismo estavam ligados a movimentos que se opunham à censura, corporativismo, controle governamental da informação e outros problemas sociais. Os hackers, tradicionalmente conhecidos por suas habilidades em contornar sistemas, começaram a empregar essas habilidades para alterar ou derrubar sites governamentais e corporativos, e até mesmo para divulgar informações sensíveis sobre corrupção e violações de direitos humanos.
Os Anonymous são provavelmente o grupo de hacktivismo mais conhecido mundialmente, mas sua origem não é clara, e sua identidade permanece anônima. O movimento começou por volta de 2003, em um ambiente online descentralizado, como o fórum 4chan, como uma manifestação contra a censura, vigilância digital e controle de informações na internet. O grupo se destacou por sua abordagem descentralizada, onde qualquer pessoa poderia fazer parte sem uma liderança formal ou hierarquia.
A máscara de Guy Fawkes 🎭, popularizada pelo filme V for Vendetta, tornou-se o símbolo mais icônico dos Anonymous. A máscara tem uma longa história, remontando a Guy Fawkes, um conspirador inglês do século XVII que tentou explodir o Parlamento Britânico em 1605. A figura de Fawkes se tornou um ícone de rebelião e resistência, sendo amplamente associada à luta contra governos autoritários e tirânicos.
Nos anos 2000, a máscara foi adotada pelos Anonymous em suas manifestações contra abusos de poder e censura, simbolizando uma luta anônima contra a opressão. A utilização da máscara garantiu que as identidades dos membros do movimento fossem protegidas, permitindo que as ações do grupo fossem realizadas sem medo de represálias.
A verdadeira história dos Anonymous começa em 2006, no site 4chan, onde membros do grupo começaram a se organizar para realizar ataques em massa contra instituições, como a Igreja da Cientologia. O primeiro ataque de grande escala foi chamado de Project Chanology, em 2008, onde os Anonymous derrubaram os sites da Igreja da Cientologia e organizaram protestos offline. Essa ação teve grande repercussão e é considerada um marco na história do hacktivismo.
A partir daí, o grupo se expandiu para outras causas, incluindo o apoio à Primavera Árabe, ataques a governos e empresas que violavam a privacidade, e protestos contra a censura em plataformas como o WikiLeaks. Os Anonymous, como grupo descentralizado, permitiram que qualquer um com uma causa em mente pudesse participar dos ataques e manifestações.
Com o passar dos anos, os Anonymous passaram a ser associados a uma série de ações que nem sempre estavam alinhadas com os princípios originais do hacktivismo. Algumas das novas células de Anonymous foram rapidamente dominadas por interesses pessoais e grupos que buscavam notoriedade, em vez de lutar por mudanças sociais reais. Muitas dessas células começaram a realizar ataques sem um objetivo claro, muitas vezes visando apenas causar caos e elevar seu ego por carência, o que distorceu a verdadeira causa do hacktivismo.
Além disso, com a popularização de grupos como os Anonymous, surgiram muitos imitadores e indivíduos que usaram o nome para ganhos próprios, muitas vezes sem compromisso com as causas originais. Esses "Anonymous" distorcidos acabaram gerando uma vergonha para o movimento, tornando-o mais uma moda do que uma verdadeira luta política e social. O "desvirtuamento" das células de Anonymous reflete o que acontece com qualquer movimento popular: o foco em causas legítimas se perde em prol de uma busca por atenção ou protagonismo, e a desorganização prejudica a credibilidade do movimento.
A máscara de Guy Fawkes, usada pelos Anonymous, tem uma história rica e simbólica. Guy Fawkes foi um dos conspiradores envolvidos na Conspiração da Pólvora, uma tentativa frustrada de explodir o Parlamento Britânico em 1605. Fawkes tornou-se um ícone da rebelião, da resistência contra a tirania e do desejo de mudança.
A popularização da máscara de Fawkes começou com o filme V for Vendetta (2005), baseado na graphic novel de Alan Moore. No filme, o protagonista, conhecido apenas como V, usa a máscara como símbolo de sua luta contra um regime opressor e totalitário. Quando os Anonymous adotaram a máscara, ela passou a representar a luta contra governos autoritários, censura e a opressão digital, além de servir como uma maneira de anonimizar os membros do grupo.
A máscara se tornou um símbolo poderoso e facilmente reconhecível do hacktivismo, sendo amplamente usada não apenas por grupos como os Anonymous, mas também em protestos e movimentos sociais ao redor do mundo.
Atualmente, o hacktivismo está morto, o grupo original Anonymous está morto, com apenas alguns "travazapers" que se acham hackers e fazem vídeos e lives no TikTok, sem nem saber o significado da máscara que usam, apenas para se sentirem alguém que não são, para ganhar fama e deturpar totalmente o movimento original, destruindo-o por conta de suas ideologias doentias, manipulados pelo governo que finge apoiar suas ideologias para ganhar em cima. Hoje, a maioria que se diz Anonymous são apenas adolescentes deturpados e manipuláveis, sem propósito e honra nenhuma pelo movimento. Eles puxam dados em painéis de canais no Telegram, fazem doxxing e acham que fizeram justiça. Isso, para mim, é coisa de paneleiros de Discord.
Para os hackers éticos de verdade, é fundamental lembrar o propósito inicial do hacktivismo: desafiar injustiças sociais e políticas, sem comprometer os princípios de ética e responsabilidade. O hacktivismo não deve ser uma ferramenta para desinformação ou caos, mas uma força para a mudança positiva e transformadora no mundo digital.
Malware (software malicioso) é um termo que engloba programas criados com a intenção de causar danos, roubar informações ou obter acesso não autorizado a sistemas. A história do malware remonta aos primórdios da computação:
- 1949: John von Neumann, um dos pioneiros da computação, teorizou a possibilidade de programas que poderiam se replicar automaticamente em seu trabalho "Theory of Self-Reproducing Automata".
- 1986: Surge o primeiro vírus de computador amplamente conhecido, o Brain, criado no Paquistão. Ele infectava disquetes e exibia uma mensagem sobre direitos autorais.
- 1988: O Morris Worm, criado por Robert Tappan Morris, foi o primeiro worm a causar impacto significativo, infectando cerca de 10% dos computadores conectados à internet da época.
- 1999-2000: Worms como Melissa e ILOVEYOU se espalharam via e-mails, marcando a transição para malwares com maior alcance global.
- Atualidade: Malware moderno é sofisticado e inclui ransomware, spyware e trojans avançados, frequentemente usados em ataques direcionados.
Malwares podem ser categorizados de acordo com sua funcionalidade e mecanismos de ataque. Aqui estão os principais tipos e seus comportamentos:
- Vírus: Programas que infectam outros arquivos, replicando-se ao serem executados.
- Worms: Propagam-se automaticamente por redes, sem necessidade de interação do usuário.
- Trojans: Disfarçados como softwares legítimos, permitem acesso remoto ao invasor.
- Ransomware: Criptografa dados da vítima e exige pagamento de resgate.
- Spyware: Coleta informações sigilosas sem o consentimento do usuário.
- Adware: Exibe anúncios indesejados e pode ser vetor para outros malwares.
- Phishing: Envio de e-mails fraudulentos para enganar usuários e instalar malwares.
- Exploração de Vulnerabilidades: Uso de falhas de segurança em sistemas e aplicativos.
- Engenharia Social: Manipulação psicológica para induzir a vítima a executar o malware.
Malwares podem ser escritos em diversas linguagens de programação, escolhidas com base no objetivo, no nível de complexidade desejado e na plataforma alvo. Abaixo estão as linguagens mais utilizadas por desenvolvedores de malwares avançados, longe do perfil de script kiddies:
-
Assembly:
Utilizado principalmente para malwares de baixo nível, como vírus que operam diretamente no firmware ou interagem com drivers de dispositivos. Sua capacidade de manipular diretamente registros e memória o torna essencial para exploits avançados. -
C/C++:
Amplamente usado devido à sua capacidade de acessar APIs de sistema e criar binários altamente otimizados. Ferramentas como rootkits e ransomwares frequentemente se beneficiam da eficiência e do controle granular que essas linguagens oferecem. -
Go (Golang):
Escolhido por desenvolvedores avançados devido à sua capacidade de compilar binários estáticos e multiplataforma. Malwares em Go são difíceis de analisar, pois produzem binários grandes e complexos. -
Rust:
Uma linguagem emergente para desenvolvimento de malware, Rust oferece desempenho similar ao de C/C++, mas com maior segurança de memória. Ideal para criar malwares furtivos e complexos. -
Powershell:
Uma ferramenta poderosa para malwares que visam ambientes Windows, especialmente em ataques direcionados. Scripts maliciosos em Powershell podem ser usados para explorar vulnerabilidades no Windows ou na Active Directory. -
Ruby e Perl:
Embora menos comuns, essas linguagens têm sido usadas em ferramentas maliciosas específicas, como exploits para sistemas UNIX. -
Shell Script (Bash):
Usado para criar scripts maliciosos leves que podem manipular sistemas UNIX/Linux, especialmente em ataques de automação ou configuração remota. -
PHP:
Embora subestimado, PHP ainda é usado em malwares baseados na web, como backdoors em servidores comprometidos.
-
Evasão Avançada:
Malwares modernos são projetados para evitar detecção por antivírus. Linguagens como Rust e Go estão em alta devido à dificuldade de análise de seus binários. -
Persistência no Sistema:
Ferramentas em Assembly ou C/C++ são frequentemente usadas para criar malwares que se escondem profundamente no sistema operacional ou no firmware. -
Automação e Exploração:
Linguagens como Python ou Ruby são frequentemente empregadas para criar frameworks de ataque e exploits dinâmicos.
Estudar malware é essencial para compreender as ameaças digitais e desenvolver estratégias eficazes de defesa. A análise de malwares permite:
- Identificar padrões e tendências de ataques.
- Fortalecer sistemas contra vulnerabilidades.
- Proteger dados sensíveis e a privacidade dos usuários.
As razões para a criação e disseminação de malware variam amplamente:
- Ganhos Financeiros: Ransomware e roubo de dados para extorsão.
- Hacktivismo: Promover ideologias políticas ou sociais.
- Espionagem: Governos e empresas usam malware para coletar informações estratégicas.
- Desafios Técnicos: Criar malwares por curiosidade ou para demonstrar habilidades.
- Sabotagem: Danificar sistemas rivais ou críticos, como infraestruturas de energia.
A engenharia reversa desempenha um papel crucial na compreensão do funcionamento interno de malwares e no desenvolvimento de soluções eficazes para mitigá-los.
- The Art of Computer Virus Research and Defense - Peter Szor
- VX Underground: Repositório de malwares e pesquisas avançadas.
- MalDev Academy
- Introdução ao Desenvolvimento de Malware (YouTube)
- Malware Development Part 1 (Blog)
- Introdução ao Desenvolvimento de Malware (MakoSec)
- Malware Development Introduction Part 1 (W. Summerhill)
- Malware Dev & Analysis (Fareed Fauzi)
- Ferramentas para Desenvolvimento de Malware (OffWhite Security)
- Categoria: Malware Development (Gatari)
- Malware Dev - Sandbox Evasion com Machine Learning (D3Ext)
- Malware on Steroids - Part 3 (0xDarkVortex)
- Custom Command and Control (C2) Servers
- Red Team Operator Malware Development
- Understanding Malware Packing (PE Files)
- Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software
- The Art of Software Security Assessment
- Malware Analyst's Cookbook
- Practical Reverse Engineering
- Online Malware Analysis Guide (Tuts+)
- Malware Analysis & Reverse Engineering (PDF)
- Advanced Malware Analysis (SANS)
- Offensive Malware Analysis
- Malware Research Tools (Malwarebytes)
- DeepDive for Malware Analysis
- The Art of Malware Development
- MITRE ATT&CK Framework for Malware Analysis
- Symantec Threat Intelligence
- Reverse Engineering Malware (Udemy)
- Understanding Malware (SecuringTheHuman)
- Malware Injection Techniques
- Shellcode Development Resources (Payload Development)
- Custom Malware Payloads (Black Hat)
- Advanced Malware Detection Techniques (SANS)
- Mobile Malware Analysis (AppSec)
Existem várias certificações e plataformas que dizem ensinar pentest. Aqui, vou citar desde certificações de nível iniciante até as mais avançadas, além de plataformas de cursos, e o que eu acho delas:
- Descrição: Ideal para quem está começando na área de segurança da informação. Cobre conceitos básicos de segurança, redes e conformidade.
- Descrição: Oferecida pelo EC-Council, é uma das certificações mais conhecidas para quem quer se tornar um hacker ético. Foca em técnicas de hacking e ferramentas usadas por hackers.
- Descrição: Uma certificação prática que testa habilidades básicas de pentest e segurança da informação.
- Descrição: Uma das certificações mais respeitadas na área de pentest. Exige que o candidato comprometa várias máquinas virtuais dentro de uma rede em um exame prático.
- Descrição: Oferecida pelo EC-Council, foca em técnicas avançadas de pentest e inclui um exame prático.
- Descrição: Oferecida pelo SANS Institute, cobre uma ampla gama de técnicas de pentest e é reconhecida mundialmente.
- Descrição: Uma certificação avançada da Offensive Security que testa habilidades de exploração e pós-exploração em ambientes complexos.
- Descrição: Foca em técnicas de Red Teaming, incluindo exploração de Active Directory e evasão de defesas.
- Descrição: Uma certificação avançada que testa habilidades de Red Teaming em ambientes complexos e simulados.
- Descrição: Oferecida pela HackerSec, é uma certificação prática que valida habilidades de pentest em ambientes corporativos reais.
- Descrição: Oferecida pela Solyd Offensive Security, é uma certificação prática focada em técnicas de exploração de vulnerabilidades e testes de penetração em redes, aplicativos e infraestrutura.
Conforme fui estudando ao longo do tempo, percebi que seria interessante conquistar alguns certificados e certificações para entrar na área. Fui pesquisando e adquirindo cursos de plataformas que o pessoal falava bem. Sempre gostei de estudar sozinho, lendo documentações, livros, PDFs, praticando e assistindo a vídeos no YouTube, mas nunca fui fã de frequentar uma sala de aula. No entanto, como no mercado brasileiro eles nem sempre reconhecem autodidatas e preferem um papel do que as habilidades reais, pois com o papel eles podem fazer propaganda e marketing para terceiros, dizendo que "nossa equipe é formada por tal faculdade". O problema é que esses mesmos profissionais muitas vezes são pagos para instalar e configurar firewalls e acabam sendo vulneráveis a ataques de moleques de 14 anos que mal sabem programar. Por isso, decidi fazer alguns cursos para, quem sabe, absorver o conhecimento de pessoas que estão na área há mais tempo que eu. Sempre optei por instrutores mais experientes, pessoas que aparentavam mais idade, que já não estão com idade para vender cursos superficiais, mas sim compartilhando um conhecimento maduro e sólido. Infelizmente, como são poucos, não tive muita escolha. Dentre algumas plataformas, estão:
Comprei todos os cursos de 2024 dessa plataforma e, apesar de eles fazerem uma boa propaganda, percebi que têm o hábito de reciclar aulas. A cada ano, aumentam o preço dos cursos, principalmente de pentest profissional, mas, ao acessar os conteúdos, encontrei módulos reciclados ou feitos pela metade. Um exemplo disso foi o módulo "C para Pentesters", que tinha apenas 4 aulas de C, o que é risível. O módulo de Python, por sua vez, era apenas uma reciclagem de um curso de Python, aulas antigas que não foram atualizadas. No geral, os cursos não são muito interessantes e o conteúdo não justifica o preço cobrado. Projetos como a "Pokedex" ou "Agenda" não têm nada a ver com a proposta do curso e poderiam ser substituídos por projetos mais alinhados aos temas abordados. Esses exemplos deixam claro que a plataforma carece de coerência e atualização nos seus materiais.
A Desec Security oferece uma variedade de cursos online focados em pentest e segurança cibernética. A certificação deles tem um bom peso na área e, em particular, gosto dos cursos oferecidos, pois possuem uma boa didática. No entanto, acredito que os cursos de C e Python para "pentesters" poderiam ser melhores:
Particularmente, é o que eu mais gosto. O professor Rafa é um profissional fenomenal, que realmente compartilha conhecimentos avançados adquiridos ao longo de sua vasta experiência. Ele é excelente no que faz. Sua plataforma de cursos é constantemente atualizada, com novas aulas postadas regularmente e sem conteúdo reciclado.
Recomendo que você tenha um conhecimento prévio na área, especialmente em programação, pois ele adota uma abordagem técnica e explora bastante conteúdo de baixo nível (low-level).
Além disso, ele mantém um blog onde publica diversos conteúdos interessantes, ampliando ainda mais as oportunidades de aprendizado para seus alunos e seguidores.
A HackOne é uma plataforma liderada pelo professor Lucas Palma, oferecendo cursos nas áreas de redes de computadores (com módulos focados em infraestrutura CISCO), cibersegurança, Mikrotik, Cloud, e também disponibiliza livros próprios.
Adquiri acesso à plataforma, incluindo todos os livros, e considero a HackOne impressionante. O empenho dos professores é incrível; eles realmente colocam tudo de si nas aulas para oferecer um ensino de alta qualidade.
Recomendo a plataforma especialmente para iniciantes, pois ela proporciona uma base sólida e abrangente para quem está começando.
Com o tempo, irei adicionar mais conteúdos e tópicos à medida que tiver novas ideias. Também planejo expandir os conteúdos já existentes nos tópicos.