Obtendo dados de uma unidade criptografada

Obtendo dados de uma unidade criptografada
A criptografia é a melhor maneira de garantir que ninguém possa ler os arquivos privados dentro do seu disco rígido, mesmo que eles tenham acessado sua unidade fisicamente. O invasor deve inserir a senha de criptografia, uma shret de chave ou a chave privada para acessar o conteúdo dos arquivos dentro dessa unidade. A criptografia converte o arquivo em dados aleatoriamente para dados sem sentido que não podem ser acessados ​​sem entrar na senha. A criptografia não significa que pode proteger a unidade de malware, vírus e vermes enquanto o sistema está em execução, é só que alguém não consegue colocar as mãos no conteúdo da unidade sem inserir a senha.

Vamos começar com uma descrição de alguns softwares de criptografia:

Veracrypt:

Veracrypt é uma versão modificada do TrueCrypt, um famoso software de criptografia de código aberto que pode ser usado no Windows e no Unix, como sistemas operacionais. É uma ferramenta gratuita e de código aberto que fornece criptografia de disco completa. Se comparado ao TrueCrypt, o Veracrypt adiciona alguns algos e formatos de criptografia novos e seguros para partições criptografadas. Veracrypt fornece criptografia com diferentes algoritmos de criptografia, como AES, Serpente, Twofish, Camellia, etc. Além disso, ele usa 30 vezes mais iterações ao criptografar uma partição em comparação com TrueCrypt.

Bitlocker:

Bitlocker é um software popular de criptografia de disco completo disponível apenas para Windows. Ele usa o algoritmo AES com teclas de 128 ou 256 bits para criptografia. Uma coisa importante sobre o Bitlocker é que, se você deixar seu computador ligado em todos os seus arquivos, será visível. O Windows Bitlocker está disponível para qualquer pessoa que use o Windows Vista ou a versão acima do Windows. Através do Bitlocker, um usuário só pode criptografar toda a unidade de uma só vez.

Inicie o Bitlocker digitando na área de pesquisa. Uma tela como essa aparecerá

Clique em Ligue o Bitlocker em frente à partição desejada.

Agora ele pedirá uma senha. Insira uma forte combinação de letras, números e caracteres especiais como uma senha e você está pronto para ir.

Para acessar a unidade protegida do BitLocker no Linux, você precisa instalar o desbroqueiro usando o seguinte comando:

ubuntu@ubuntu: ~ desdlocker de instalação APT de APT

Luks:

Luks (significa Linux Unified Key Setup) é uma ferramenta de criptografia de disco baseada em Linux, projetada por Clemens Fruhwirth em 2004. Ele não oferece tantos recursos em comparação com o Veracrypt, mas é flexível no uso de algoritmos de criptografia. Luks simplesmente não oferece compatibilidade entre diferentes programas, mas também garante o gerenciamento de senhas de maneira sistemática. É usado como padrão para criptografia do disco rígido em sistemas operacionais do Unix, como.

Para acessar unidades criptografadas de Luks no Windows, você pode usar o Librecrypt.

FileVault 2:

FileVault2 é a resposta da Apple para o Windows Bitlocker. Este software está disponível apenas para Mac OS. Para criptografia, ele usa o algoritmo de criptografia de 128 bits do AES-XS e suporta apenas a criptografia de chave simétrica usando uma senha. Uma coisa semelhante sobre o Bitlocker e o FileVault2 é que todos os dados da unidade criptografada são visíveis até que o sistema de computador seja desligado.

Criptografar um disco rígido com veracrypt:

Vamos pegar um USB ou um disco rígido e criptografá -lo com veracrypt e então tentaremos quebrar sua criptografia usando Hashcat para acessar nossos dados.

Abra o Veracrypt, você verá uma tela como esta:

Clique em Criar volume e selecione Criar um volume com partição.

Clique em Avançar e escolha a partição desejada de partições determinadas.

Agora temos duas coisas para escolher. Algoritmo de criptografia e algoritmo de hash.

Escolha qualquer outro se você tiver um requisito especial ou deixá -lo no padrão deve ser suficiente.

Clicar em Avançar nos levará para escolher a senha.

Escolha uma senha forte com uma combinação de letras, números e caracteres especiais, conforme instruções.

Clicar em Avançar solicitará um formato. Clique em OK e depois de um curto período, sua unidade será criptografada.

Cracking veracrypt criptografia:

Agora, para quebrar volumes veracrypt com hashcat, você precisa fornecer ao Hashcat com os dados binários que contêm hashes e informações de criptografia. O que você precisará são os primeiros 512 bytes do volume veracrypt.

As unidades de inicialização exigem puxar os 512 bytes localizados no último setor da primeira pista da unidade. 1 pista é 63 setores por muito tempo, então o que precisamos fazer é pular 31744 (62*512) bytes e extrair os próximos 512 bytes onde o cabeçalho é armazenado. Para unidades que não são de botas, precisamos extrair os primeiros 512 bytes.

Faremos isso usando o DD em nossa unidade USB criptografada chamada /dev /sdb1 usando o seguinte comando:

ubuntu@ubuntu: ~ $ sudo dd if =/dev/sdb1 de = binary_data bs = 512 contagem = 1
Conv = Noerror, Status de sincronização = Progresso
  • se = Nome da unidade
  • de =arquivo no qual dados extraídos serão armazenados
  • bs =Tamanho do bloco (número de bytes sendo puxados)
  • conv = noerror, sincronização status = progresso = Continue fazendo o trabalho em caso de erro

Para os boot-drives, usaremos o seguinte comando, temos que pular os primeiros 31744 bytes:

ubuntu@ubuntu: ~ $ sudo dd if =/dev/sdb1 de = binary_data skip = 31744 bs = 512 contagem = 1
Conv = Noerror, Status de sincronização = Progresso

No caso, ao criptografar a unidade se selecionarmos uma partição oculta, temos que pular os primeiros 64k (65536) bytes e usar o seguinte comando:

ubuntu@ubuntu: ~ $ sudo dd if =/dev/sdb1 de = binary_data skip = 65536 bs = 512
contagem = 1 conv = noerror, status de sincronização = progresso

Hashcat:

Hashcat é o utilitário de recuperação de senha mais poderoso e rápido que suporta 5 modos de ataques para mais de 300 algoritmos de hash altamente otimizados. É compatível com diferentes tipos de unidades de processamento gráfico (GPUs), que podem se multiplicar até sua velocidade de rachadura. Hashcat está disponível para Windows e Systems operacionais como o Unix.

Hashcat precisa de 3 coisas para começar a quebrar:

  1. m: Tipo de hash
  2. a: Tipo de ataque
  3. Arquivo de dados binários

Vamos olhar para Hashcat -Help:

ubuntu@ubuntu: ~ $ hashcat --help
- [Opções] -
Opções curtas / longas | Tipo | Descrição | Exemplo
=================================+======+=========== ==============================+===================== ===
-M,--Hash-Type | Num | Hash-Type, veja referências abaixo | -m 1000
-A, --TACK-MODE | Num | Modo de ataque, veja referências abaixo | -a 3
-V, --versões | | Versão impressa |
-H, --help | | Imprima ajuda |
--quieto | | Suprimir saída |
--Charset Hex | | Suponha que o charset seja dado em hexadecimal |
--Salto hexadecimal | | Suponha que o sal seja dado em hexadecimal |
--Lista hexadecimal | | Suponha que as palavras na lista de palavras sejam dadas em hexadecimal |
--força | | Ignorar avisos |
--status | | Ativar atualização automática da tela de status |
--status-timer | Num | Define segundos entre as atualizações da tela de status para x | -status-timer = 1
--stdin-timeout-abort | Num | Abortar se não houver entrada de stdin por x segundos | -Stdin-timeout-abort = 300
--Legável da máquina | | Exiba a visualização de status em um formato legível por máquina |
--Keep adiveding | | Continue adivinhando o hash depois que ele foi rachado |
--Auto-teste-Disisable | | Desative a funcionalidade de autoteste na startup |
--loopback | | Adicione novas planícies para induzir o diretório |
--Markov-hcstat2 | Arquivo | Especifique o arquivo hcstat2 para usar | --Markov-hcstat2 = my.hcstat2
--Markov-Disable | | Desative as cadeias de Markov, emula a força bruta clássica |
--Markov-Classic | | Ativa as cadeias markov clássicas, sem posição |
-t,--markov-limiar | Num | Limiar x Quando parar de aceitar novas cadeias de markov | -t 50
--Tempo de execução | Num | Sessão abortada após x segundos de tempo de execução | -Runtime = 10
--sessão | Str | Defina o nome específico da sessão | --Session = MySession
--Restauração | | Restaurar sessão de - -Session |
--Disisable Disisable | | Não escreva arquivo de restauração |
--RESTORE-FILE-FILE | Arquivo | Caminho específico para restaurar o arquivo | --Restore-File-Path = x.restaurar
-o, - -outfile | Arquivo | Defina o pulo para o hash recuperado | -O Outfile.TXT
--formato de saída | Num | Defina o formato de saída x para hash recuperado | --outfile format =
--Outfile-Autohex-Disable | | Desative o uso de $ hex [] em planícies de saída |
--Perfil-de-check-timer | Num | Define segundos entre as verificações de outfile para x | ----iaxão-heck = 30
--WordList-Autohex-Disable | | Desative a conversão de $ Hex [] da lista de palavras |
-P, -Separador | Char | Char do separador para hashlists e saída | -p:
--stdout | | Não quebre um hash, em vez de imprimir apenas os candidatos |
--show | | Compare Hashlist com Potfile; Mostre hashes rachados |
--Esquerda | | Compare Hashlist com Potfile; Mostre hashes não empurrados |
--nome de usuário | | Ativar ignorando nomes de usuário no hashfile |
--Remova | | Habilite a remoção de hashes depois de rachados |
--Remover-timer | Num | Atualize o arquivo de hash de entrada cada x segundos | --REMOVE-TIMER = 30
--Potfile-Disisable | | Não escreva PotFile |
--Potfile-caminho | Arquivo | Caminho específico para Potfile | --Potfile-path = my.Panela
--codificação de | Código | Força a codificação interna de Words codificando de x | --Encoding-from = ISO-8859-15
--codificação para | Código | Força a lista de palavras internas que codifica para x | --Encoding-to = UTF-32LE
--modo de depuração | Num | Define o modo de depuração (híbrido apenas usando regras) | --DEBUG-MODE = 4
--Faleiro de Depuração | Arquivo | Arquivo de saída para regras de depuração | -Debug-File = bom.registro
--Indução-Dir | Dir | Especifique o diretório de indução a ser usado para loopback | -Indução = induz
--Outfile-check-Dir | Dir | Especifique o diretório de saída para monitorar as planícies | ---ia / check-dir = x
--LogFile-Disable | | Desative o arquivo de log |
--HCCAPX-MESSAGE-PAI | Num | Carregar apenas pares de mensagens do HCCAPX correspondendo x | --hccapx-message-par = 2
--Correção de Nonce-Error | Num | A faixa de tamanho do BF para substituir o Nonce do AP Last Bytes | --Nonce-Error-Cortrections = 16
--Maging-layout-layout | Arquivo | Tabela de mapeamento de layout do teclado para modos especiais de hash | --Keyb = alemão.hckmap
--TrueCrypt-keyfiles | Arquivo | Faltos -chave para usar, separados com vírgulas | --truecrypt-keyf = x.png
--veracrypt-keyfiles | Arquivo | Faltos -chave para usar, separados com vírgulas | --veracrypt-keyf = x.TXT
--veracrypt-pim | Num | Multiplicador de iterações pessoais de veracrypt | --veracrypt-pim = 1000
-B, -Benchmark | | Referência de execução de modos de hash selecionados |
--benchmark-all | | Executar referência de todos os modos de hash (requer -b) |
--somente velocidade | | Retorno Velocidade esperada do ataque e depois desiste |
--somente progresso | | Retorne o progresso ideal Tamanho e o tempo do passo para processar |
-C,-Size-size | Num | Define o tamanho em MB para armazenar em cache do arquivo do Word para X | -C 32
--bitmap-min | Num | Define bits mínimos permitidos para bitmaps para x | --bitmap-min = 24
--bitmap-max | Num | Define bits máximos permitidos para bitmaps para x | --bitmap-max = 24
--CPU-Affinity | Str | Bloqueios para dispositivos CPU, separados com vírgulas | --CPU-Affinity = 1,2,3
--Exemplo-hashes | | Mostre um exemplo de hash para cada modo de hash |
-Eu, --pencl-info | | Mostre informações sobre plataformas/dispositivos OpenCL detectados | -EU
--OpenCl-platforms | Str | Plataformas OpenCL para usar, separadas com vírgulas | --Opencl-platforms = 2
-d, --pencl-device | Str | Dispositivos OpenCl para usar, separados com vírgulas | -d 1
-D, --pencl-device-types | Str | OpenCL Types para usar, separados com vírgulas | -D 1
--OpenCl-vetor-width | Num | Substituir manualmente a largura do vetor de OpenCL para x | --Opencl-vetor = 4
-O,-Optimized-Kernel-Enable | | Ativar kernels otimizados (comprimento da senha limites) |
-W, --Rorkload-perfil | Num | Ativar um perfil de carga de trabalho específico, consulte o pool abaixo | -w 3
-n, --kernel-ace. Num | Ajuste manual da carga de trabalho, defina o tamanho da etapa Outerloop como x | -n 64
-u, --kernel-loops | Num | Ajuste manual da carga de trabalho, defina o tamanho da etapa Innerloop como x | -u 256
-T,-Kernel-Threads | Num | Ajuste manual da carga de trabalho, defina a contagem de threads para x | -T 64
-S, - -SKIP | Num | Pule x palavras desde o início | -S 1000000
-L, -Limit | Num | Limite x palavras das palavras iniciantes + ignoradas | -l 1000000
--Keyspace | | Mostrar base de chaves: valores de mod e desistir |
-J,--Rule-Left | Regra | Regra única aplicada a cada palavra da lista de palavras esquerdas | -j 'c'
-K,--RULLE-RATE | Regra | Regra única aplicada a cada palavra da lista de palavras corretas | -k '^-'
-R,-RULES-FILE | Arquivo | Várias regras aplicadas a cada palavra de listas de palavras | -R Regras/Best64.regra
-g,--generado-ROLES | Num | Gerar x regras aleatórias | -g 10000
--gerar-rulas-func-min | Num | Force Min X Funções por Regra |
--gerar-rulas-func-max | Num | Força Max X Funções por Regra |
--Gereate-Rules-Seed | Num | Força RNG Seed Set como X |
-1,--Custom-Charset1 | Cs | CHARST definido pelo usuário ?1 | -1 ?eu?d?você
-2,--Custom-Charset2 | Cs | CHARST definido pelo usuário ?2 | -2 ?eu?d?s
-3,--Custom-Charset3 | Cs | CHARST definido pelo usuário ?3 |
-4,--Custom-Charset4 | Cs | CHARST definido pelo usuário ?4 |
-Eu, -incremento | | Ativar modo de incremento de máscara |
--incremento-min | Num | Iniciar máscara Incrementando em X | --incremento-min = 4
--incremento-max | Num | Stop Mask Incrementing em x | --Crement-max = 8
-S,--Slow-Candidates | | Habilitar geradores de candidatos mais lentos (mas avançados) |
--servidor do cérebro | | Ativar servidor cerebral |
-Z,-Brain-Client | | Ativar cliente cerebral, ativa -s |
--Rumores-do-cliente do cérebro | Num | Defina os recursos do cliente cerebral, veja abaixo | -Rumores de client-client = 3
--Host cerebral | Str | Host do servidor cerebral (IP ou domínio) | --brain-host = 127.0.0.1
--porta cerebral | Porta | Porta do servidor cerebral | --brain-port = 13743
--passagem cerebral | Str | Senha de autenticação do servidor cerebral | --Brain-Password = BZFHCVGUSJRQ
--sessão cerebral | Hex | Substituições calculadas automaticamente sessão cerebral | --brain-session = 0x2ae611db
--Lista-Brancária do Cerebro | Hex | Permitir apenas sessões, separadas com vírgulas | -Lista-branca-sessão-sessão = 0x2ae611db

Modos de hash:

Veremos mais de mil modos de hash aqui. Estes são de interesse agora.

137xy | Veracrypt | Criptografia de disco completo (FDE)
X | 1 = PBKDF2-HMAC-RIPEMD160 | Criptografia de disco completo (FDE)
X | 2 = PBKDF2-HMAC-SHA512 | Criptografia de disco completo (FDE)
X | 3 = pbkdf2-hmac-whirlpool | Criptografia de disco completo (FDE)
X | 4 = PBKDF2-HMAC-RIPEMD160 + Modo de inicialização | Criptografia de disco completo (FDE)
X | 5 = PBKDF2-HMAC-SHA256 | Criptografia de disco completo (FDE)
X | 6 = PBKDF2-HMAC-SHA256 + Modo de inicialização | Criptografia de disco completo (FDE)
X | 7 = PBKDF2-HMAC-STREEBOG-512 | Criptografia de disco completo (FDE)
Y | 1 = XTS 512 BIT PURO AES | Criptografia de disco completo (FDE)
Y | 1 = XTS 512 bits Pure Serpent | Criptografia de disco completo (FDE)
Y | 1 = XTS 512 bits puro duplo | Criptografia de disco completo (FDE)
Y | 1 = XTS 512 bit Camellia pura | Criptografia de disco completo (FDE)
Y | 1 = XTS 512 bits pura Kuznyechik | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 BIT PURO AES | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits Pure Serpent | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits puro duplo | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 BIT PURO CAMELLIA | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits pura kuznyechik | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits em cascata Aes-twofish | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits Camellia-Kuznyechik | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits em cascata Camellia-Serpent | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits em cascata Kuznyechik-aes | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits em cascata Kuznyechik-twofish | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits Serpent-AES em cascata | Criptografia de disco completo (FDE)
Y | 2 = XTS 1024 bits em cascata dupla serpente | Criptografia de disco completo (FDE)
Y | 3 = XTS 1536 bits All | Criptografia de disco completo (FDE)
14600 | Luks | Criptografia de disco completo (FDE)
16700 | FileVault 2 | Criptografia de disco completo (FDE)
18300 | Sistema de arquivos Apple (APFS) | Criptografia de disco completo (FDE)

Modos de ataque:

# | Modo
===+======
0 | Direto
1 | Combinação
3 | Força bruta
6 | Lista de palavras híbridas + máscara
7 | Máscara híbrida + WordList

Temos todas as três coisas que o Hashcat precisa, vamos fazê -lo usando o seguinte comando:

ubuntu@ubuntu: ~ $ sudo hashcat -a 0 -m 13722 binário_data wordlist.txt -force
Hashcat (v5.1.0) Iniciando…
Hashes: 1 digestão; 1 digestas únicas, 1 sais únicos
Bitmaps: 16 bits, 65536 entradas, máscara 0x00fffff, 262144 bytes, 5/13 gira
Regras: 1
Otimizadores aplicáveis:
* Zero byte
* Hash único
* Salto único
* Loop lento-hash-simd
* Usa-64 bits
Comprimento mínimo de senha suportada pelo kernel: 0
Comprimento máximo de senha suportada pelo kernel: 64
* Dispositivo #1: Build_Opts '-cl-std = cl1.2 -i opencl -i/usr/share/hashcat/opencl -d
LOCAL_MEM_TYPE = 2 -D VENDOR_ID = 64 -D CUDA_ARCH = 0 -D AMD_ROCM = 0 -D VECT_SIZE = 4 -D
Device_Type = 2
-D dgst_r0 = 0 -d dgst_r1 = 1 -d dgst_r2 = 2 -d dgst_r3 = 3 -d dgst_elem = 16 -d
Kern_type = 6222 -d _unroll '
[Opções de clang de registro] "/usr/bin/ld" "--eh-frame-hdr" "-m" "elf_x86_64" "-shared"
"-o" "/root/.cache/pocl/não.Então "" -l/usr/lib/gcc/x86_64
-Linux-Gnu/9 "" -l/usr/lib/gcc/x86_64-linux-gnu/9/…/…/…/x86_64-linux-gnu "
"-L/usr/lib/gcc/x86_64-linux-gnu/9/…/…/…/…/lib64" "-l/lib/x86_64-linux-gnu"
"-L/lib/…/lib64" "-l/usr/lib/x86_64-linux-gnu" "-l/usr/lib/…/lib64"
"-L/usr/lib/x86_64-linux-gnu/…/…/lib64" "-l/usr/lib/gcc/x86_64-linux-gnu/9/
.../…/… "" -l/usr/lib/llvm-6.0/bin/…/lib "" -l/lib "" -l/usr/lib "
"/raiz/.cache/pocl/não.então.O "" -lm "
Cache do dicionário Hit:
* Nome do arquivo…: WordList.TXT
* Senhas.: 600000
* Bytes…: 6000000
* Keyspace…: 600000
[Opções de clang de registro] "/usr/bin/ld" "--eh-frame-hdr" "-m" "-l/usr/lib/llvm-6.0/bin/…/lib "
"-L/lib" "-l/usr/lib" "/root/.cache/pocl/não.então.O "" -lm "" -lm "
"-lgcc" "-como necessário" "-lgcc_s" "-não-como necessário" "-lc" "-lgcc" "--s necessário" "-lgcc_s"
"-Não como necessário"

Binário_data: Tokyo2002

Sessão…: hashcat
Status…: rachado
Cerquilha.Tipo…: veracrypt pbkdf2-hmac-sha512 + xtts 1024 bits
Cerquilha.Target…: binary_data
Tempo.Iniciado…: qui 11 de junho 20:38:17 2020 (11 segundos)
Tempo.Estimado…: qui 11 de junho 20:38:28 2020 (0 segundos)
Adivinhar.Base…: Arquivo (WordList.TXT)
Adivinhar.Fila…: 1/1 (100.00%)
Velocidade.#1…: 0 h/s (0.57ms) @ Acel: 32 Loops: 32 Thr: 1 VEC: 4
Recuperado…: 1/1 (100.00%) Digestas, 1/1 (100.00%) sais
Progresso…: 600000/60000 (100.00%)
Rejeitado…: 0/60000 (0.00%)
Restaurar.Ponto…: 0/60000 (0.00%)
Restaurar.Sub.#1…: sal: 0 amplificador: 0-1 iteração: 499968-499999
Candidatos.#1…: Mango 23232 -> WhryPassword23

Temos a senha Tokyo2002.

Criptografar uma unidade com Luks:

Vejamos como criptografar um USB usando a criptografia Luks:

Antes de tudo, instale o pacote CryptSetup-luks usando o seguinte comando:

ubuntu@ubuntu: ~ $ sudo apt instalt Cryptsetup-luks

Agora use o seguinte comando para configurar a partição desejada para criptografia:

ubuntu@ubuntu: ~ Cryptsetup -y -v luksformat /dev /xdc

XDC é o nome da partição. Se você não conhece o nome da partição, use "fdisk -l".

Agora crie um dispositivo de dispositivo lógico montado para a partição Luks criptografada usando:

ubuntu@ubuntu: ~ Cryptsetup luksopen /dev /xdc

Ele pedirá uma senha. Insira uma forte combinação de letras, números e caracteres especiais como uma senha e você está pronto para ir.

Cracking Luks Criptografia:

Agora, para quebrar volumes de luks com hashcat, você precisa alimentar o hashcat com um arquivo de dados binários corretos. Podemos extrair esses dados usando o seguinte comando:

ubuntu@ubuntu: ~ $ sudo dd if =/dev/sdb1 de = cabeçalho.luks bs = 512 contagem = 4097
Conv = Noerror, Status de sincronização = Progresso

Isso criará um arquivo de 2 MB contendo todas as necessidades de hashcat de dados para rachaduras.

Hashcat:

Vejamos a sintaxe Hashcat:

ubuntu@ubuntu: ~ $ sudo hashcat -a -m

Agora temos o arquivo binário e a lista de palavras, mas não sabemos o tipo de ataque e o tipoefencryption. Para esta informação, daremos uma olhada no hashcat -help.

Descobrimos os dois:

typeofencryption:

14600 | Luks | Criptografia de disco completo (FDE)
16700 | FileVault 2 | Criptografia de disco completo (FDE)
18300 | Sistema de arquivos Apple (APFS) | Criptografia de disco completo (FDE)

Tipo de ataque:

# | Modo
===+======
0 | Direto
1 | Combinação
3 | Força bruta

Lá vamos nós, vamos começar a quebrar digitando o seguinte comando:

ubuntu@ubuntu: ~ $ sudo hashcat -a 0 -m 14600 cabeçalho.Luks WordList.TXT
Hashcat (v5.1.0) Iniciando…
Dispositivo #1: Build_Opts '-cl-std = cl1.2 -i opencl -i/usr/share/hashcat/opencl -d
LOCAL_MEM_TYPE = 2 -D VENDOR_ID = 64 -D CUDA_ARCH = 0 -D AMD_ROCM = 0 -D VECT_SIZE = 4 -D
Device_type = 2 -d DGST_R0 = 0 -D DGST_R1 = 1 -D DGST_R2 = 2 -D DGST_R3 = 3 -D DGST_ELEM = 16
-D Kern_type = 6222 -d _unroll '
[Opções de clang de registro] "/usr/bin/ld" "--eh-frame-hdr" "-m" "elf_x86_64" "-shared"
"-o" "/root/.cache/pocl/não.então"
"-L/usr/lib/gcc/x86_64-linux-gnu/9" "-l/usr/lib/gcc/x86_64-linux-gnu/9/…/…/…//
x86_64-linux-gnu "" -l/usr/lib/gcc/x86_64-linux-gnu/9/…/…/…/…/lib64 "" -l/lib/libe
x86_64-linux-gnu "" -l/lib/…/lib64 "" -l/usr/lib/x86_64-linux-gnu "" -l/usr/lib/…/…/…/…
lib64 "" -l/usr/lib/x86_64-linux-gnu/…/…/lib64 "" -l/usr/lib/gcc/x86_64-linux-gnu/9/
.../…/… "" -l/usr/lib/llvm-6.0/bin/…/lib "" -l/lib "" -l/usr/lib ""/root/.cache/pocl/
Incacheado/TempFile-B1-44-3F-F1-67.então.O "" -lm "
Cache do dicionário Hit:
* Nome do arquivo…: WordList.TXT
* Senhas.: 50
* Bytes…: 500
* Keyspace…: 50
[Opções de clang de registro] "/usr/bin/ld" "--eh-frame-hdr" "-m"
"-L/usr/lib/llvm-6.0/bin/…/lib "" -l/lib "" -l/usr/lib ""/root/.cache/pocl/
Incacheado/Tempfile-E2-BA-DB-1F-BA.então.O "" -lm "" -lm "" -lgcc ""-como necessário "
"-lgcc_s" "--não-como necessária" "-lc" "-lgcc" "-como necessária" "-lgcc_s" "-não-como-needed"

cabeçalho.Luks: Tokyo2002

Sessão…: hashcat
Status…: rachado
Cerquilha.Tipo…: luks
Cerquilha.Target…: Cabeçalho.Luks
Tempo.Iniciado…: qui 11 de junho 20:38:17 2020 (11 segundos)
Tempo.Estimado…: qui 11 de junho 20:38:28 2020 (0 segundos)
Adivinhar.Base…: Arquivo (WordList.TXT)
Adivinhar.Fila…: 1/1 (100.00%)
Velocidade.#1…: 0 h/s (0.57ms) @ Acel: 32 Loops: 32 Thr: 1 VEC: 4
Recuperado…: 1/1 (100.00%) Digestas, 1/1 (100.00%) sais
Progresso…: 50/50 (100.00%)
Rejeitado…: 0/50 (0.00%)
Restaurar.Ponto…: 0/50 (0.00%)
Restaurar.Sub.#1…: sal: 0 amplificador: 0-1 iteração: 499968-499999
Candidatos.#1…: Mango 23232 -> WhryPassword23

Temos a senha Tokyo2002.

Listas de palavras personalizadas usando o Crunch:

Criar uma lista de palavras de uma maneira que você deseja é uma boa habilidade para ter em seu cinto. Ajuda muito em força bruta e ataques de dicionário. Uma das ferramentas que podem ser usadas para fazer uma lista de palavras personalizadas é a crise.

ubuntu@ubuntu: ~
Uso: Crunch [Opções]
  • Min: Comprimento mínimo
  • Max: comprimento máximo
  • Opções: Várias opções que encontraremos em sua página de homem

Opções:

B: tamanho máximo
C: número de linhas
D: Número limite de caracteres duplicados
e: pare de serem uma certa string é alcance
f: Use charset.arquivo LST para gerar a partir de
eu: ordem invertida
O: saída para arquivo especificado
r: retomar uma sessão anterior
s: Especifique a string com a qual o WordList começará
t: Defina o padrão usando @,%^ (Letras minúsculas, cartas maiúsculas, números, caracteres especiais simultaneamente)
z: comprimir o arquivo de saída

Suponhamos que tenhamos que gerar uma lista de palavras com o mínimo de caracteres 6 e caracteres máximos 8, usaremos o seguinte comando e salvaremos a saída para a saída.TXT:

ubuntu@ubuntu: ~ $ crunch 6 8 -O Saída.TXT

A crise agora gerará a seguinte quantidade de dados: 1945860473024 bytes

1855717 MB
1812 GB
1 TB
0 PB

A crise agora gerará o seguinte número de linhas: 217167790528

Vamos assumir outro cenário em que sabemos que o aniversário do alvo é 2002 e ele geralmente usa uma senha de 9 caracteres que terminam com seu aniversário. Usaremos o seguinte comando para gerar uma lista de palavras correspondentes a todas essas características e salvá -lo em um arquivo chamado WordList.TXT.

ubuntu@ubuntu: ~ Crunch 9 9 -t @@@@@ 2002 -o wordlist.TXT

A crise agora gerará a seguinte quantidade de dados: 118813760 bytes

113 MB
0 GB
0 TB0 PB

A crise agora gerará o seguinte número de linhas: 11881376

Crunch: 100% concluído gerando saída

ubuntu@ubuntu: ~ $ ls -la wordlist.TXT
-RW-RW-RW- 1 AZAD AZAD 118813760 Jun 13 14:43 WordList.TXT

Saber como criar as listas de palavras certas para sua tarefa é uma habilidade que pode economizar muito tempo em ataques de dicionário.

Conclusão:

Se você está tentando escolher entre o software de criptografia, algum software de criptografia como o Veracrypt não permitirá que alguém abra suas unidades sem inserir uma senha, mesmo que a pessoa maliciosa esteja conectada, enquanto usa algum software como o Bitlocker para Windows e FileVault2 para Apple faz com que todos Seus arquivos visíveis se o usuário estiver conectado. Criptografar suas unidades é uma coisa boa, mas usar senhas fracas, repetidas ou adivinháveis ​​para elas facilitará a rachadura. Quase todo tipo de criptografia pode ser rachado, dependendo do comprimento e complexidade da senha. Rachadir unidades de criptografia usando uma lista de palavras personalizadas economizará muito tempo e ajudará a fazer a tarefa com eficiência. Fazer boas listas de palavras é uma arte, muitas ferramentas estão disponíveis como croch, cewl, etc. que ajudarão você a fazê -lo. Depois, existem algumas ferramentas muito boas por aí, como Hashcat, Johnseripper que podem quebrar qualquer tipo de criptografia se for fornecido com o arquivo binário certo e a lista de palavras certas. Em comparação com John, o Hashcat pode usar as GPUs e é muito mais rápido com uma velocidade de 882 c/s sobre John com uma velocidade de 54.8 c/s.