some text

Sejam bem vindos ao Hacking Dojo.

Eu sou o c41tx90 e estou aqui para conduzir seus estudos de introdução ao Hacking.

Primeiramente clique em qualquer lugar da tela por que segundo a política de privacidade dos browsers eu não posso fazer vc ouvir a musiquinha de fundo do dojo sem você antes interagir com o DOM.

Vamos iniciar uma série de exercícios que o farão fortalecer suas skills básicas e intermediarias sobre hacking.

Recomendo que você não tenha pressa para executar todos os exercícios!

Não pule exercícios, e menos ainda deixe de fazer os que não aparentam ser sobre hacking!


Faremos 100 exercícios práticos durante os próximos dias!!!

Um exercício pode ser independente do outro, então cada exercício tem que ser pensado como um desafio diferente.



Se você ler o desafio e pensar - mas não sei fazer isso! é para isso mesmo que serve o desafio... Você vai ter que ir atrás do conteúdo para conseguir resolver o problema.

Então você pensa, - mas não tenho ideia de onde começar para resolver este desafio... Este também é o objetivo. As vezes é preciso cair na água para aprender a nadar...

Se você não sabe como faz algo complexo, significa que não sabe fazer os passos mais básicos para executar a atividade complexa. Por exemplo, o desafio te pede para fazer um sistema em determinada linguagem que executa determinada ação, e você nunca programou antes nesta linguagem, você vai procurar na internet como programar na linguagem proposta, e vai fazer coisas básicas desde um hello world até chegar no que foi pedido.

Se você não consegue fazer nos dias propostos, não tem problema, não tem prazo para você terminar o dojo. Ninguém começa correr antes de andar, e se você quer voar, o seu esforço é quem trará seu resultado.

Sugiro que você faça um diário do Hacking Dojo no seu linkedin, diariamente comentando sobre os seus estudos, o que aprendeu e principalemnte tudo que teve que pesquisar para realizar o desafio do dia. Só lembre de frizar e enfatizar o motívo profissional dos seus estudos, pois para leigos você vai parecer um criminoso cibernético! Seja sempre ético e profissional!

Lembre de criar um Github para os seus códigos, vamos utilizar bastante =D



Image

 

/x01

0 - Leia sobre programação orientada a objeto, crie uma pasta chamada Dojo nos seus favoritos do browser, e a cada pesquisa que fizer, tudo que for relevante salve nestes favoritos separando por subpastas com os tópicos para suas consultas futuras.

1 - Crie um programa em python utilizando socket que inicia um handler na porta 443, ou seja um processo que espera uma conexão na porta 443. Então deixe-o escutando no Kali.

2 - Crie um programa em python que se conecta via socket na porta 443 e envia a frase "Hacking Dojo", entao faça com que este programa seja executado dentro da VM do Windows 10 envie a frase para o handler.

3 - Crie uma condicional no seu programa que ao receber a string "Dojo" escreva o conteúdo recebido em um arquivo de texto chamado log + data + hora + ip de origem do envio.txt por exemplo log-04062020-0344-192-168-1-3.txt

4 - Crie um script em python para windows que mostra na tela do programa as credenciais salvas no sqlite do google chrome no seguinte formato

url : https://url.com.br

user : batata

password : frita

(não utilize diretórios linux, desenvolva para windows)

5 - Altere seu script que envia a string "Hacking Dojo" para que envie o os conteúdos dumpados do browser via socket com as credenciais para o handler que você já fez, e faça com que o handler mostre este conteúdo na tela no Kali.

6 - Faça com que o handler armazene as credenciais recebidas no arquivo de log e após o recebimento das credenciais faça com que o executável seja encerrado no windows.

7 - Estude sobre orientação a objeto.

8 - Estude sobre sockets em python.

Semana 01

Image

 

\x02

9 - Utilize a máquina windows para criar um PE.exe (executável windows) com o seu programa python que faz o dump das credenciais (aprenda como criar um executável, onde você pode executar o exe em um windows que não possui python instalado).

10 - Seu executável precisa fazer o dump das credenciais do google chrome (obviamente você precisa salvar credenciais no chrome para ter o que enviar), tratar os dados coletados do sqlite de forma que envie os dados tratados e legíveis para o handler salva-los em um txt, seu programa deve enviar as credenciais via socket. Por hora desabilite o windows defender.

11 - Crie no kali em outro arquivo python, uma API que recebe uma requisição POST contendo a frase "Hacking Dojo".

12 - Crie no Windows em outro arquivo python, um script que envia a frase "Hacking Dojo" para a API e faça com que a API salve estes dados em um arquivo de log como anteriormente.

13 - Execute todos os passos anteriores, alterando o formato da conexão via socket para requisição POST na sua API.

14 - Crie um programa em python que faz uma requisição da URL https://en.wikipedia.org/wiki/Batata e retorna quantas vezes a palavra batata aparece na página.

15 - Crie um programa em python que faz uma requisição na URL https://en.wikipedia.org/wiki/Batata e retorna todos os links presentes na página.

Semana 02

Image

 

\x03

16 - Inicie o servidor SSH no kali, então na VM linux, crie um script python utilizando paramiko para que seja estabelecida uma conexão via SSH entre as duas máquinas (crie o server ssh com paramiko). Faça um client no Windows para se conectar no Kali, após a conexão com sucesso, finalize. Então faça um server SSH no Windows com paramiko e se conecte com o ssh nativo do Kali no Windows.

17 - leia RFC 1918 e também sobre protocólos e serviços de rede.

18 - Crie um script em python no seu kali que realiza um banner grabbing nas portas 80 , 22 e 3306 na VM linux (não utilize bibliotecas prontas, realize a conexão via socket, receba o banner e printe o resultado).

19 - Crie um script em python que realiza um discover de portas no IP da VM linux, seu script precisa percorrer 65535 portas e retornar a saída " [porta] OPEN " e não deve printar as portas que não respondem.

20 - Crie um script em python que verifica se o IP está respondendo utilizando ICMP. Utilize a biblioteca icmplib e crie uma função que executa o ping para o host retornando true se o mesmo estiver vivo.

21 - Leia sobre mascara de subrede.

22 - Crie uma script em python que retorna a quantidade de IPs que cabe dentro de cada barramento, exemplo: /9 = 8388606 Hosts /30 = 2 Hosts e etc... (dica utilize variáveis fixas, não precisa consumir procesamento para isso).

23 - Pesquise a diferença entre classe, função e método em programação.

24 - Crie uma lista chamada hosts.txt contendo 10 endereços IP (um em cada linha, da mesma maneira que você faria uma wordlist), dentre eles insira IPs válidos da sua estrutura, então crie um script python que le o arquivo hosts.txt e informa quais dos IPs do arquivo estão vivos na rede.

24 - Crie um Script em python que identifica qual é o endereço IP da máquina em que o mesmo está sendo executado. Desenvolva este programa para ser executado no windows, o programa precisa printar na tela qual é o IP e a máscara de subrede da máquina que o executou.

25 - Crie um programa em python com as seguintes específicações, e após a conclusão crie um executável de windows para o mesmo.

Especificações:

O programa precisa identificar qual é o endereço de rede do host que está o executando, para isso ele precisa receber o IP e a Máscara de Subrede do host. Então o programa fará um scan de discovery neste endereço de rede. Após encontrar os IPs vivos, o mesmo irá realizar um scan de portas, então realizará um banner grabbing nas portas abertas e mostrará os resultados na tela seguindo as seguintes especificações:

(Exemplo)

Rede: 192.168.1.0/24

[ - ] 192.168.1.22

80 --- OPEN

22 --- OPEN

3306 --- OPEN

[ - ] 192.168.1.28

80 --- OPEN

22 --- OPEN

Não mostre na tela os IPs que não retornaram portas abertas. Uma dica, crie uma função que utiliza ICMP para validar se o host está vivo antes de escanear todas as portas. (não utilize bibliotecas prontas ou funções de sistema como system(ping ip) por exemplo.). Faça com que o "-" seja printado com a cor verde claro o "[]" seja branco e o endereço IP seja branco. "---" vermelho e O "OPEN" azul claro.

Semana 03

Image

 

\x04

26 - Inicie o web server no seu kali e copie o executável windows que faz o dump das credenciais do chrome que você criou para a raiz do servidor web. Então na workstation com windows 10, crie um script powershell (ps1) que realiza o download do executável e na sequência o executa. (não esqueça de iniciar o seu handler para receber as credenciais =D ).

27 - Crie um scanner de portas que realize recon de hosts vivos e portas abertas em powershell.

28 - aprenda utilizar o github em linha de comando no seu linux.

29 - Envie para o seu git o seu script powershell que você criou para recon e portas abertas.

30 - No powershell da workstation, realize uma requisição no seu repositório do git em formato raw, fazendo com que seu script seja executado sem que você precise digita-lo.

31 - Para este exercício você precisará do excel instalado na workstation. Habilite o modo desenvolvedor no excel.

32 - Crie uma macro em VBA que abre uma caixa de alerta com o texto "Hacking Dojo".

33 - Crie um script em VBA que abre o cmd.exe chama o powershell executando o comando whoami.

34 - Altere o script para que o mesmo após executar o powershell realize o download e execução do executável que faz o dump das credenciais do chrome.

35 - realize o mesmo procedimento utilizando rundll32.exe chamando a dll do powerhsell ao invés de cmd.exe.

36 - Altere a macro para que seja executada automaticamente quando o arquivo excel que você criou for aberto.

Semana 04

Image

 

\x05

37 - Crie um hello world em flask.

38 - Modele uma database chamada phishing utilizando sqlite, esta database precisa conter usuário, senha, data e hora.

39 - Pesquise sobre AD FS

40 - Crie uma tela de login simulando a tela de login do AD FS em flask, inserindo no banco de dados sqlite as credenciais interceptadas, então após a credencial ser interceptada direcione o usuário para a página do outlook.com

41 - Utilize a tela de login em php do servidor que criamos durante as aulas (não a tela flask do ADFS) para esta atividade. Crie um script em python que requisita a página de login da aplicação, passando como parâmetro o login e senha, então mostre a resposta após o login realizado com sucesso.

42 - Utilize o código que faz o login na aplicação e faça com que este código leia uma wordlist de um arquivo local como por exemplo /usr/share/wordlists/rockyou.txt e realize um ataque de password spray (você fixa a senha e realiza o spray dos usuários).

43 - Execute o mesmo procedimento, porém fixando a senha e fazendo o spray dos usuários.

44 - Crie um script em javascript que executa automaticamente o download do seu executável que realiza o dump de credenciais ao acessar a página.

45 - Faça com que o javascript chame o seu programa após o download no windows, para que o mesmo seja executado.

Semana 05

Image

 

\x06

46 - Crie um template de email em html phishing direcionando a vitima para a página falsa do adfs que você criou.

47 - Crie dois emails de teste, um atacante e um vitima (utilize outlook, gmail, algo mais comum do que protonmail).

48 - Configure um email de teste seu no client do outlook dentro da workstation windows.

48 - Crie um script em python no seu kali que envia um email com seu email atacante para o seu email vitima.

49 - Faça com que seu script de envio de email phishing leia o endereço das vitimas a partir de um arquivo .txt (futuramente você va recisar mandar para uma lista de emails).

50 - Utilize seu template html de email phishing, seu script de envio de email e então envie a pagina falsa de roubo de credenciais para o alvo. fique neste exercício até que o seu template esteja aceitável e convincente no client do outlook no windows.

51 - Execute o mesmo teste observando os resultados no client web do outlook e não no client do windows.

52 - Execute o mesmo teste alterado o phishing para a url que faz o download + execução do executável que faz o dump de credenciais do chrome que você criou anteriormente.

53 - Execute o mesmo teste enviando o excel que executa a macro automática de download do arquivo malicioso que você criou anteriormente.

54 - Pesquise sobre spear phishing e phishing.

55 - Pesquise sobre smtp relay, envio de emails utilizando telnet.

Semana 06

Image

 

\x07

56 - Crie um scanner de portas em VBA.

57 - Pesquise sobre criptografia.

58 - Crie uma chave pgp.

59 - Escreva um texto e criptografe-o com pgp em sua maquina kali, envie para a maquina linux e abra a menssagem utilizando a chave publica.

60 - Utilize open ssl para criptografar o tráfego socket que você criou no inicio do dojo.

61 - Crie um handler em C++.

62 - Crie um conector em C++ para windows e faça com que ele se conecte no seu kali via socket.

63 - Faça com que seu kali consiga enviar comandos para o handler, e o handler deve executar estes comandos no sistema operacional Windows.

64 - Leia sobre DLLs.

65 - Crie uma DLL que imprime "Beco do Exploit" na tela.

66 - Leia sobre dll hijacking.

67 - Crie uma dll que executa o PE calc.exe.

68 - Leia sobre CVEs CWEs e CVSs.

69 - Procure um software vulnerável a dll hijacking e o instale na workstation windows.

70 - Execute o ataque de dll hijacking neste software fazendo com que a dll vulnerável execute seu código de abertura do pe calc.exe.

71 - Crie uma dll que abre o powershell e faz o download do seu executável que faz o dump das credenciais do chrome, e então o executa.

Semana 07

Image

 

\x08

72 - Configure seu handler python (transformado em PE.exe no windows) para quando receber uma requisição via socket contendo a palavra "drop" na porta udp 1337 desligue a máquina windows.

73 - Configure seu código python no kali para fazer a requisição UDP enviando o comando de drop para a máquina windows.

74 - Crie uma função em python que captura um screenshoot da tela (para windows).

75 - Faça com que seu handler ao receber o comando "print" via socket UDP na porta 1337 tire um print da tela, salvando-o em um diretório temporário.

76 - Faça com que o seu handler envie um email para você com o texto "Beco do Exploit" utilizando smtp ao receber o comando "send" via socket UDP na porta 1337.

77 - Faça com que o handler no windows envie para você por email o screenshot que ele capturou ao receber o comando "print" via socket UDP na porta 1337.

78 - Faça com que o seu handler capture as credenciais salvas no chrome ao receber o comando "chrome" via socket UDP na porta 1337 e as envie por email para você.

79 - Crie um servidor linux em outra VM com 256 mb de ram e 2gb de disco utilizando debian netinst + apache e crie um snapshot.

80 - Crie uma função no seu handler windows que requisita 1337 vezes a url http:// /index.html e deixe executando até que trave, desligue ou crashe a vm.

81 - Restore o snapshot da vm, então crie uma função no seu handler do windows para que ao receber uma requisição contendo a string "ddos" via socket UDP na porta 1337, inicie as requisições para o host como descrito na atividade 80.

Semana 08

Image

 

\x09

82 - Compile seu handler que executa as ações dos exercicios 72 á 81 e hospede-o no seu servidor web do kali, então prepare um template de phishing que executa o download do malware como já fizemos anteriormente.

83 - Prepare e inicie o ataque com seu email atacante, execute o ataque e faça com que omalware seja baixado e executado da forma mais automatizada possível dentro da vm windows (até aqui estamos com o windows defender desabilitado).

84 - Execute comandos remotamente no alvo infectado.

85 - Leia sobre packers, cripters, FUD, obfuscação, smooking e evasão.

86 - Crie uma função no seu malware que inicia um servidor ssh utilizando paramiko.

87 - Faça com que ao enviar a string "remote" via socket UDP na porta 1337 para o handler, o mesmo inicie o servidor ssh na porta 11337, então teste a conexão via ssh.

88 - Faça com que o proprio algoritimo que envia as strings para o malware abra a sessão ssh com o alvo após o start do ssh server no host afetado.

Semana 09

Image

 

\0a

89 - Instale o ftkimager.

90 - Faça um dump de memória da vm windows.

91 - Desligue a vm e crie outra vm windows.

92 - Instale o IPED da policia federal na nova VM windows.

93 - Importe o dump de memoria para o IPED.

94 - Procure por algum dos seus atos executados até o passo 88 evidenciados em memória no dump coletado.

95 - Habilite o windows defender e observe o comportamento dos seus códigos maliciosos.

96 - Pesquise sobre obfuscação novamente e tente aplicar algum conceito em seu malware para que o mesmo não seja pego pelo windows defender.

97 - Organize uma pasta para você iniciar os estudos em low level.

98 - Inicie os estudos sobre windows internals.

99 - Leia sobre leis de crime cibernético.

100 - Use tudo o que aprendeu aqui e aprenderá depois daqui para o bem, ou vai acabar vendo a butina 42 do agente da PC dropando sua porta. Neste caso a lição 100 seria aprender comer caco de vidro para não virar acompanhante na penitenciária mais próxima!

Brincadeiras a parte, lembre sempre do que o tio aranha disse;

Grandes poderes, grandes responsábilidades...

É claro que tudo o que aprendeu aqui é simples! e tem muito o que estudar ainda para considerar como um "poder"... Mas... Vamos nessa!

#partiuHackear

Semana 10