Brainfuck - Write Up - Parte 2 - Cifra de Vigenére



A segunda parte do laboratório começa decodificando as mensagens do Forum  sup3rs3cr3t.brainfuck.htb para descobrir a chave-ssh. 

A cifra usada nas mensagens é a Vigenére que é uma variante da antiga cifra de Cesar e usa substituição a partir da letra de uma palavra-chave. Para o cálculo da cifra usa-se o quadrado de Vigenére mostrado abaixo: 



Nessa tabela é mostrado o alfabeto organizado em 26 linhas que representam as 26 variações da cifra de Cesar. Na cifra de Cesar é escolhido um número de deslocamento e a cifra é construída com base nesse deslocamento usando o alfabeto, então se uso 4 para deslocar as letras, logo A = E, B = F, C = G

Na criptografia usando Vigenére é escolhida as linha da tabela de acordo com a palavra-chave. 

Exemplo: 

Mensagem: Hacking é legal 
Palavra-chave: entropia
Cifra: LNVBWCOIPRZRY

Para cada letra da mensagem, a lógica é a seguinte:

Letra H = usa a linha E onde H = L
Letra A = usa a linha N onde A = N
Letra C = usa a linha T onde C = V 

Quando a palavra-chave acaba, volta-se ao inicio dela e continua a cifragem. 

Usando o exemplo deste site aqui, entendi o processo de crifragem melhorando e descrevendo as etapas no script vigenere-decrypt.py disponível no meu github. 

Nas mensagens do Forum, o usuário Orestis sempre repere a frase: Orestis - Hacking for fun and profit

E há 3 mensagens cifradas com a mesma estrutura. Ao executar o script vigenere-decrypt.py é possível identificar a palavra-chave fuck my brain

Usando o site DCODE a mensagem mnvze://zsrivszwm.rfz/8cr5ai10r915218697i1w658enqc0cs8/ozrxnkc/ub_sja é descriptografada revelando a chave-ssh para acesso ao servidor da aplicação. 

Cracking SSH Passphase

Para fazer a quebra de senha da passphase da chave-publica é possível usar a ferramenta ssh2john.py localizada em /usr/share/john/. O script deve ser copiado para o diretório onde a chave-publica esta localizada. Essa ferramenta cria um hash do arquivo da chave-pública, usando o comando mostrado abaixo:

python ssh2john.py id_rsa > id_rsa.hash

John To Cracking

john id_rsa.hash -wordlist=rockyou.txt 


Usando a chave-publica e a passphase foi possível acessar o servidor com o SSH 



A próxima etapa é fazer a escalação de privilégio e obter acesso root 

TO BE CONTINUE...

Comentários

Postagens mais visitadas