
Neste artigo, quebramos a permutação e as cifras de Vigenere, descriptografamos a senha salva no navegador Mozilla Firefox, lidamos com o bloqueio do Android e lidamos com o ataque Bit-Flipping. Partes anteriores:
Parte 1 - Codificações, cifra de deslocamento, hashes brutos e criação de imagem usando PIL python.
Parte 2 - Cripta, XOR, ZIP não criptografado e cracking PRNG.
Informação organizacional
, - , :
, , , .
, , Telegram . , , .
. , - , .
- PWN;
- (Crypto);
- c (Network);
- (Reverse Engineering);
- (Stegano);
- WEB-.
, , , .
, , Telegram . , , .
. , - , .
Senha do Mozilla Firefox

Precisamos encontrar a senha do usuário. Baixe e abra o arquivo que contém o diretório .mozilla. Este diretório contém uma pasta com extensões e uma pasta com o nome do navegador.

Como não estamos interessados em extensões, vamos ao diu-browser. Existe um arquivo de configuração de perfil e mais um diretório.

Vamos para a pasta e vemos os arquivos.

Todas as senhas armazenadas no banco de dados são criptografadas, então você não será capaz de vê-las assim. Você pode usar este script para descriptografar .
python3 firefox_decrypt.py ~//.mozilla/firefox/o0s0xxhl.default/

Cifra de Vigenère

Recebemos um texto criptografado e precisamos encontrar seu autor. Como esta é uma cifra de Vigenère, usaremos um decodificador online .

Escolhemos o modo automático.

E obtemos o texto simples e a chave. Resta google o texto e encontrar o autor.
Padrão de bloqueio Android

Recebemos um dump do sistema de arquivos android e é solicitado que encontremos a senha. Isso é muito fácil de fazer com acesso ao sistema de arquivos. O hash de senha (SHA1) está localizado no arquivo /data/system/gesture.key.

Podemos pegar e torcer o hash ou usar androidpatternlock .

Encontrou a senha e o padrão.
Cifra de permutação

Recebemos uma mensagem criptografada e é solicitado a descriptografá-la. Como esta é uma cifra Rail Fence, usaremos o já familiar decodificador online .

E agora, entre as descrições propostas, precisamos escolher aquela que possui um texto significativo.

E obtemos a resposta.
AES CBC - ataque de inversão de bits

Recebemos um host e uma porta para conexão. Vamos nos conectar usando o netcat.

Temos opções de ação - registre-se ou faça login. Vamos nos registrar primeiro.

E recebemos um texto parcialmente aberto e criptografado. Agora, entramos com este token.

Porém, após o login, não podemos acessar os dados, pois não somos membros do grupo.

Com a tarefa resolvida, agora vamos lidar com o ataque Bit-Flipping. Esse ataque geralmente ocorre quando a função de criptografia recebe alguma entrada, acrescenta uma string aleatória e outra string antes de criptografá-la (nosso caso).
Abaixo está um diagrama para descriptografar uma mensagem usando o algoritmo AES CBC.

O fato é que o bloco anterior do texto cifrado é xorsado com o próximo bloco, a fim de remover a sobreposição de texto, como resultado temos o texto descriptografado.
Portanto, se alterarmos um byte de texto cifrado no bloco anterior, um byte de texto simples no próximo bloco será alterado.

Agora vamos voltar à tarefa. O texto não criptografado possui o parâmetro is_member = false. É difícil imaginar como mudar. Mas como temos os símbolos da equação, para que todo o texto seja um múltiplo do tamanho do bloco, podemos alterá-los para que, quando descriptografados, a string is_member = true seja obtida.
Vamos descobrir como fazer isso. Esta linha deve ser obtida durante a descriptografia do último bloco - EvilP2. Para fazer isso, precisamos coletar o bloco EvilC1.

Como fazer: Temos CC1 e PP2. Fazendo proxy deles juntos, podemos obter DC2. Como sabemos que EvilP2 contém “; is_member = false]” e sabemos DC2, fazendo proxy deles entre nós, você pode obter EvilC1.
Vamos nos registrar novamente.

Inicializamos os parâmetros iniciais.

Agora temos os blocos que conhecemos.

Agora temos novos blocos.

Recolhemos a carga.

Tentamos fazer login.

E não deu em nada, eles nos encontraram. Provavelmente, isso se deve à presença de dois parâmetros idênticos. Vamos matar o primeiro.

E agora nós logamos com sucesso e pegamos o token.

Você pode se juntar a nós no Telegram... Vamos reunir uma comunidade na qual haverá pessoas versadas em várias áreas de TI, para que possamos sempre ajudar uns aos outros em quaisquer questões de TI e segurança da informação.