Skip to main content
Bruno Menozzi aka Zeroc00i
Back to homepage

Minha trajetória hacker

📑 Navegação Rápida


Note

Cuidado, o título realmente contém a palavra hacker :/

Sei o que você está pensando e, realmente: foi um clickbait calculado.

Introdução

Por muitos anos a galera mais “oldschool” se privou da utilização da palavra “hacker”, por se refletir em dois cenários possíveis:

A pessoa que a usa faz o estilo script kiddie que assiste Mr. Robot: surfa no hype holywoodiano da segurança propagado pela mídia (que como sabemos, recebeu maior visibilidade devido à pandemia) e usa o famoso “sistema de hacker”- Kali Linux;

Ou é algum blackhat/carder que usa de seu vandalismo e senso de impunidade virtual para se vangloriar de sua trajetória com phishings ou defacements baratos em sites do governo.

Contudo, nenhum desses significados resume esse artigo.

A LGPD e a Visibilidade do Termo “Hacker”

Graças à visibilidade promovida pelos canais de mídia em consequência à aprovação da LGPD - sendo essa claramente responsável por uma maior conscientização sobre o termo “hacker” - evitaremos o uso incorreto desse termo que, como já mencionado, vem sendo usado por pessoas que desconheciam as atividades de nós, hackers (éticos).

Essa atenção que a mídia tem proporcionado sobre a Lei Geral de Proteção de Dados (justamente pelo impacto nas pessoas direta e indiretamente envolvidas nas adequações exigidas pela LGPD), auxilia na disseminação de informações corretas, pois o assunto acaba sendo mais debatido publicamente.

Note
Se você ainda não está por dentro sobre o que é a LGPD e as mudanças que ela está promovendo, te aconselho a seguir as publicações desse perfil:
https://www.linkedin.com/in/anaguimaraesadv/

Curiosidade sobre a Origem

Note

Você sabia?
Dizem por aí que a palavra “hacker” possui derivação do latim “ack” - que significa quebrar.

E isso faria muito sentido; já que nós de infosec temos instinto de quebrar/desmontar coisas para entender seu funcionamento, certo? :)

Minha Curiosidade desde Criança

A curiosidade me move desde criança em minhas áreas de hiperfoco (automatização e bugs também).

Desde muito cedo sempre gostei de tentar criar coisas novas: em meu quarto tinha a certeza da existência de um mundo onde tudo estava a espera de uma busca por novas perguntas.

Passava grande parte do meu tempo em cima de invenções que ao final sempre refletiam um cenário de um mini laboratório (era apaixonado no desenho Dexter).


Como sapecagem, juntava vários dominós em frente à porta e chamava meus pais para que a abrissem.

Assim, eles acionavam a queda da trilha de dominós, um a um.

Como planejado, após a queda, a sequência de itens espalhados pelo chão batia na minha mochila fazendo com que ela descesse por uma corda.

Eu achava isso incrível!

Podia passar horas fazendo tudo isso, ou planejando novos feitos dos quais eu pudesse me gabar por ter automatizado alguma ação rotineira.

Sobre meus tempos de fulltime Script Kiddie

Note

Uma coisa que senti ao entrar na área de TI e infosec é que quanto mais velho você for nela, mais você tem aversão à superficialidade;

você vai aprendendo cada vez mais a ser autodidata e ler documentações e soluções por conta própria.

Vai percebendo que as descobertas movem seus dias (mas também podem causar burnouts).

E, sobre isso, tenho que te confessar: muitas vezes acaba sendo até um certo “ego” intelectual, uma busca incessante onde só se questiona um colega em último caso.


O que tiramos de aprendizado desse tempo de Script Kiddie certamente deveria ser a compreensão e permissão do “outro” passar por essa mesma fase.

Rodar códigos sem entender como são feitos é muito comum no início do aprendizado de todos, com toda certeza!

A parte inicial de entendimento de códigos é uma das mais desmotivadoras, pois a compreensão de códigos exigirá um bom tempo de “imersão” no assunto.

Note

Aprendendo a programar
Aprender codar é como aprender uma novo idioma, como aprender inglês por exemplo:

no início todo mundo odeia o esforço que parece ser em vão e não vê notável progresso;

mas, após alguns bons meses em imersão, seja ouvindo músicas, filmes, seja vendo suas referências falando aquela linguagem, você então percebe que a aprendizagem vai se tornando menos forçada e passa a virar um hobbie.

Desse modo, aqui vai a minha sugestão: não force o processo e o tempo, permita-se simplesmente vivenciar essa fase e superá-la.

Primeiros contatos com TI

Aos 10 anos ganhei meu primeiro computador.

Essa foi uma época de bastante idas e vindas de técnicos de informática à casa dos meus pais, pois como era muito curioso, clicava em todas informações na internet sem desconfiar minimamente das suas fontes e nem saber da existência de vírus de computadores.


Como podem imaginar, devido a minha curiosidade e vontade de aprender, após algumas visitas técnicas, decidi usar um programa que gravasse a tela enquanto o cara da TI arrumava o PC.

Assim, caso eu causasse algum problema novamente, minha família não teria que pagar pelos meus erros (hahaha).

Minha sede por segurança começou por acaso

Nessa época eu já possuía uma conta no Orkut, sendo um usuário bastante ativo e curioso sobre suas funcionalidades.

Isso contribuiu para que eu fosse alvo de uma invasão de conta: um tópico criado nessa rede social mencionava sobre uma código que, se fosse executado, as cores de texto de uma mensagem ficariam em formato arco-íris (era um Javascript).

Executei-o e, então: nada ocorreu.


Não satisfeito, fui fazer outra coisa.

Nem esperava que aquele JS teria enviado meus cookies para um site externo, no qual o hacker reutilizaria para realizar um roubo de sessão e consecutivamente roubar minha conta.

Depois de eu passar algumas horas tentando logar, não consegui e percebi que meu perfil havia sido hackeado.

Aquilo gerou muitas perguntas na minha cabeça e uma sensação de vulnerabilidade/impotência a qual não quis mais me submeter e, por isso, dei início em minha jornada de perguntas no mundo da Segurança.

O começo da fase profissional

Trabalhei em empresa de hospedagem de sites

Meu primeiro emprego na área de TI foi em uma empresa de hospedagem de sites da minha cidade, na qual tracei o seguinte caminho:

Analista de Suporte e Chamados

Durante essa fase, comecei a ver necessidade de automatizar meus atendimentos com JS.

Via que muitas das minhas ações cotidianas se repetiam e, com isso, aprendi que poderia deixar de lado os softwares que gravavam a posição do mouse (coisa que já usava desde criança para ganhar vantagem em jogos haha) e poderia automatizá-las com códigos:

isso permitia maior velocidade e fazia com que eu realizasse um maior número de atendimentos em um tempo menor;


Minhas automatizações com JS tinham ajudado em muitas coisas, mas quando eu queria ler o conteúdo de um site externo, percebi uma limitação: a proteção CORS (o domínio origem não podia se comunicar com outro que não possuía essa liberação — pois eu não detia controle sobre ele).

Então, comecei a aprender Bash Scripting, pois dessa forma eu poderia “bypassar” (burlar) essa proteção do navegador:

já que não mais o estaria utilizando, mas sim uma lib Linux que somente faz uma chamada direto do web socket usando um pacote chamado curl.

Atuação em Desenvolvimento

Durante minha trajetória nessa empresa, pude refletir que o cenário nacional de Segurança dá um valor maior para equipes Blue Team;

Então compreendi que não bastava encontrar falhas nos produtos (aumentando o backlog da empresa), eu tinha que auxiliar a corrigir essas novas demandas;

dessa forma, estaria aumentando a segurança da organização;


Percebi, então, que quando você está em um cenário white box: você conhece como a aplicação funciona - você pode se focar somente em encontrar as vulnerabilidades diretamente, sem ficar perdendo tempo.

Ou seja, já em um cenário black box, você não conhece como a aplicação funciona e fica fazendo fuzzing (adivinhação e brute force de diretório/parametros que a aplicação pode ter) o tempo inteiro, percebendo que boa parte de seu tempo está sendo jogado fora.

Isso somente, é claro, caso você esteja tentando um fuzzing em algo que não faça sentido para o contexto da aplicação que está sendo estudada.


Por isso, é sempre importante ter essa base de compreender como as aplicações funcionam e qual contexto você está inserido (white box / black box), pois, sabendo minimamente sobre ela, irá poupar seu tempo de pentest na empresa.

Um exemplo para o caso acima seria: Você faria fuzzing de arquivos aspx em uma aplicação rodando Apache + PHP?

Por mais que possa existir algum desenvolvedor/ infra que deixou esse arquivo solto lá, não faria sentido para o contexto, certo?

Descoberta do Bug Bounty

Essa também foi a fase que eu descobri os programas de Bug Bounty (como a https://hackerone.com), momento que mais aprendi e estudei sozinho em toda minha vida.

Esse tópico com certeza vai ficar para um outro artigo, ele merece, pelo auxílio e motivação que me deu ao longo dessa caminhada.

Atuação em Segurança (Atual)

Minha afinidade com Segurança da Informação não é novidade: quem me conhece de longa data sabe que sempre sonhei em trabalhar atuando em segurança ofensiva.


Ao longo de todo esse período atuando em três empresas, com o papel de conscientizar e desenvolver Segurança na organização, pude trabalhar com pessoas muito inteligentes e que amavam o que faziam.

Isso com certeza possui relação direta com a velocidade com que eu cresci profissionalmente (e com a velocidade que você crescerá também).

Como diz o ditado: “Se você é o mais esperto da sala, você está na sala errada”.

Como entrar na área de segurança

Se você espera entrar no mercado de segurança ofensivo (Red Team), sem nenhum conhecimento de desenvolvimento ou alguma indicação de sua rede, pode ter certeza que vai ser um processo muuuito complicado e, talvez, até improvável:

podemos dizer que TODAS as empresas brasileiras estão em processo de amadurecimento sobre Segurança, isto é, ainda estão consolidando equipes de defesa para só então, após alguns anos, implementar alguma equipe de caráter ofensivo.


Pelo o que já vi e ouvi falar dentro da comunidade de Segurança: somente empresas financeiras de grande porte ou de consultoria de Segurança Ofensiva estão “menos atrasadas” em comparação ao mercado estrangeiro, o qual já possui Red Teams bem consolidados e um amadurecimento bem maior sobre essa questão.

Por enquanto, devido ao item acima, não espere uma atuação bem definida /especializada ao longo de sua carreira aqui no Brasil, pois provavelmente o maior valor agregado para as empresas nacionais seja um funcionário de perfil generalista, ou de Blue Team.

O futuro da profissão

Pentesters sempre se deram muito bem, desde quando as aplicações rodavam em máquinas físicas, até os dias de hoje.

Por isso que muitas pessoas que tinham bagagem de SysAdmin conseguiam compreender de forma muito rápida sobre como a escalação de privilégios horizontal/vertical era possível.


Contudo, esse cenário está cada vez mais mudando e indo para a nuvem (Cloud), fazendo com que exista a arquitetura de “Infra As Code”.

Então, se você não entende de infra, nem de “code”, pode ter certeza que tem muita chance de ficar para trás.

Conclusão

Sendo assim, como palavras finais desse artigo:

Aconselharia você a estudar minimamente programação e/ou um pouco de DevOps.

Pois, com certeza, esse é o cenário futuro da área de Segurança.


E, retomando, lembre-se sempre de não surfar no hype holywoodiano:

os maiores hackers já vistos pela internet passaram (e ainda passam) por um período de persistência solitária, muitas vezes somente com motivação própria, para estudar coisas abstratas e ainda não desvendadas;

até que, por fim, realizassem alguma descoberta que abrisse as portas para toda a comunidade de Segurança.


*Artigo originalmente publicado em 25 de julho de 2021