Cracken em ação: uma aventura de quebra de senhas

Um notebook dentro de uma sala de banco de dados

Este é o segundo artigo de uma série que fala sobre nossa ferramenta de quebra de senhas chamada Cracken. Não deixe de ler a parte um para ver a história completa.

A equipe do IBM X-Force Red tinha uma necessidade urgente de um sistema poderoso e dedicado para quebra de senhas, algo que fosse fácil de usar por toda a nossa equipe global. Em meus 10 anos de carreira como testador de penetração, aprendi que isso é 100% necessário, pois a maioria dos nossos projetos tem um prazo limitado de uma ou duas semanas. Isso significa que um testador de penetração pode ter apenas de três a quatro dias para quebrar uma senha antes que o projeto termine. Um invasor real tem muito mais tempo.

Cracking na nuvem

Começamos nossas aventuras de quebra de senhas em um computador na nuvem. Precisávamos de algo que não exigisse meses de planejamento e que nos permitisse quebrar as senhas dos nossos projetos. Nossa primeira máquina tinha apenas quatro Graphics Processing Units (GPUs). Funcionou, mas foi muito lento. Então surgiu um sistema de oito GPUs na nuvem. Melhorou, mas ainda não era nada excepcional comparado com o desempenho de algumas placas de vídeo comuns.

Quando começamos, nossa prática de quebrar senhas na nuvem custava, no máximo, algumas centenas de dólares por mês. Quando já tínhamos dados suficientes para justificar nosso equipamento, estávamos gastando de USD 2.500 a USD 3.000 por mês em execuções de quebras de senhas limitadas a 200 ou 300 horas.

Vamos fazer um cálculo rápido desses custos: um sistema novo e completo que atendesse às nossas necessidades custaria entre USD 22.000 e USD 24.000. Se continuássemos pagando USD 2.500 por mês, isso acabaria nos custando USD 30.000 por ano, então trabalhávamos apenas cerca de 200 a 300 horas por mês para manter os custos baixos. Para executar trabalhos 24/7, pagaríamos USD 105.000 por ano por um sistema. Mas, precisávamos de dois, então construir nosso próprio sistema se tornou uma prioridade. Isso nos geraria uma economia de USD 500.000 a USD 1 milhão em um período de cinco anos.

O hardware que usamos consistia nos componentes listados abaixo.

  • Servidor Lenovo M3650:
    • 2x CPU Intel Xeon E5-2650 v4 – 12 núcleos por processador, dois threads por núcleo = 48 threads;
    • 128 GB de random-access memory (RAM) – é recomendável 8 GB de RAM por placa de GPU; e
    • 1 TB de disco.
  • Cubix Rack Expander 5U com slots 8x PCI x16 Gen3:
    • 8x placa Nvidia GTX 1080

Construção do nosso próprio equipamento de quebra de senhas

Solicitamos nosso hardware de quebra de senha em fevereiro de 2017. Se as placas GTX Ti tivessem sido lançadas antes que finalizássemos nosso pedido, teríamos escolhido essas placas, pois elas oferecem um aumento significativo nas taxas de hash em relação à GTX 1080 padrão. É muito provável que nossa próximo equipamento utilize esse componente.

Podemos justificar com facilidade o custo deste equipamento de quebra de senha apenas com base nos custos mensais. No entanto, vale a pena analisar as taxas de quebra de hash.

  • Provedor em nuvem
    • 8x Nvidia Tesla K80s
    • SHA1 e Hashcat: 14,8 GH/s
    • Bcrypt e Hashcat: 15,2 kH/s
    • NTLM e Hashcat: 66,493 GH/s
  • Cracken do X-Force Red
    • 8x Nvidia GTX 1080s Founders Edition
    • SHA1 e Hashcat: 66,1 GH/s
    • Bcrypt e Hashcat: 118,6 kH/s
    • NTLM e Hashcat: 334 GH/s

Construir nosso próprio hardware nos dá muito mais cavalos de potência. Lembre-se de que esses números são apenas de um nó. Quando desenvolvemos o Cracken, construímos dois nós, o que significa que temos um total de 16 GPUs em que podemos executar trabalhos de quebra de senha. Com base nesses números, as placas GTX 1080 são significativamente mais rápidas para quebrar hashes por um custo mais baixo.

Há alguns anos, em outro cluster de quebra de senhas, troquei a pasta térmica de um conjunto de ATI 390X, o que efetivamente reduziu a temperatura das placas. Estávamos atingindo o limite máximo de desligamento térmico com bastante frequência durante nossas execuções. A falha de uma única placa afetava todo o barramento PCI e o servidor. Para colocar o sistema novamente em funcionamento, era necessário desligá-lo fisicamente. Após a instalação de uma nova pasta térmica nas placas ATI, as temperaturas máximas das placas diminuíram em pelo menos 4 graus Celsius, impedindo que elas atingissem o ponto de desligamento térmico.

Antes de instalar nossas placas Nvidia GTX 1080FE, tive a brilhante ideia de trocar a pasta térmica em uma das placas. Desmontei, removi a pasta térmica de fábrica e coloquei minha própria pasta de alta qualidade. Sou rebelde, então anulei a garantia de uma das nossas 16 placas. Isso ajudou? Não o suficiente para justificar o tempo gasto. Ao que parece, as placas GTX 1080 possuem uma boa pasta térmica, e o ventilador da edição Founders Edition cumpre bem a função de dissipar o calor das placas já na configuração de fábrica. Além disso, os gabinetes externos contam com três ventoinhas de grande porte para promover a circulação de ar.

Com as placas Nvidia GTX 1080, o desligamento térmico não foi um problema. Mas, com essas placas, o mais importante mesmo é ter um fluxo de ar adequado e fontes de alimentação fortes e confiáveis. Mantemos essas placas em gabinetes externos de GPU para evitar que elas travem e acabem derrubando todo o cluster junto.

Mixture of Experts | 12 de dezembro, episódio 85

Decodificando a IA: resumo semanal das notícias

Participe do nosso renomado painel de engenheiros, pesquisadores, líderes de produtos e outros enquanto filtram as informações sobre IA para trazerem a você as mais recentes notícias e insights sobre IA.

Principais conclusões

Para resumir as principais lições que aprendi durante essa experiência:

  • É importante que a sala em que você colocou seu equipamento de quebra de senhas tenha resfriamento adequado.
  • Você sabia que a maioria dos sistemas de climatização dos edifícios desliga durante a noite e nos fins de semana? Você também pode descobrir isso da pior maneira possível, quando seu cluster de GPUs queimar.
  • Dimensione corretamente todos os requisitos de energia para as placas. Não economize com isso.
  • Verifique se você tem memória suficiente para cada GPU; 8 GB/GPU é o recomendado para o Hashcat.
  • Verifique se há resfriamento e fluxo de ar adequados para todas as placas.
  • Não utilize cabos de energia ou cabos PCI de baixa qualidade. Você vai causar um incêndio ou, no mínimo, queimar alguns cabos. O ideal é usar um backplane para lidar com a corrente elétrica e a frequência do barramento.

Na terceira e última parte desta série, falaremos sobre algumas dicas e truques para aproveitar ao máximo o Hashcat e algumas coisas divertidas que fizemos com ele.

Enquanto isso, siga-nos no Twitter: @XForceRed, @Evil_Mog, @_videoman_ e ouça nosso podcast recente sobre senhas Cracken.