retornar retornar

Bitlocker em um contexto pós-pandêmico

Após a pandemia da COVID-19, uma pesquisa realizada em 2023 pela Global Workplace Analytics (GWA) revelou que 8% dos funcionários com contrato de trabalho na América Latina trabalham totalmente em casa. Embora esse número pareça insignificante para aqueles que trabalham em ambientes relacionados à tecnologia, é um aumento significativo em relação ao período pré-pandemia, quando apenas 3% dos funcionários trabalhavam sob a dinâmica do home-office. A empresa de consultoria McKinsey & Company revelou que 70% das empresas da região planejam continuar oferecendo opções de trabalho remoto a seus funcionários, e o Banco Interamericano de Desenvolvimento (BID) concluiu que o número de trabalhadores remotos na América Latina deve crescer 50% nos próximos cinco anos. Essa nova dinâmica e tendência do mercado de trabalho estimula as empresas e os empregadores a incluírem como diferencial em suas propostas um incentivo para essas posições, oferecendo equipamentos, como notebooks, PCs e telefones celulares, além de kits de periféricos, como teclados, mouses, microfones e webcams, e até mesmo, em alguns casos, vouchers para "equipar" um escritório em um ambiente não utilizado na casa desses candidatos.

As métricas mais recentes, de acordo com a Statcounter, indicam que aproximadamente 86% da população da região usa o Windows como sistema operacional padrão, o que indica uma alta probabilidade ou quase confirmação de que ele é o sistema operacional preferido para o trabalho remoto.


Levando em conta essas informações, vários órgãos governamentais criaram campanhas de conscientização para funcionários e empregadores sobre segurança cibernética.Citamos o seguinte parágrafo da Cert.ar em seu guia Recommendations for Teleworking (Recomendações para o teletrabalho):

"... O trabalho remoto assumiu uma proeminência raramente vista antes, em um curto período de tempo, onde tanto aqueles que já estavam acostumados a esse modelo de trabalho, quanto aqueles que pela primeira vez tiveram que aprender a configurar um computador com a internet doméstica, são forçados a estar continuamente conectados por meio de vários canais digitais, aprender o uso de novos canais em um ritmo acelerado e modificar um ritmo de vida entre pessoal e profissional que muitas vezes coloca em risco nossa privacidade e a das pessoas que convivem conosco. Essa combinação de inexperiência e necessidade de manusear novas ferramentas sem o conhecimento adequado é frequentemente explorada por criminosos cibernéticos em benefício próprio, obtendo informações pessoais para se passar por outras pessoas, roubando áudios, fotos e vídeos para distribuição sem permissão ou até mesmo criando relacionamentos entre conhecidos da vítima em potencial para disseminar informações falsas ou criar perfis com pessoas de qualidades diferentes, a fim de direcionar futuros ataques cibernéticos ou crimes maiores".


Entre várias recomendações, eles também sugerem alguns itens relevantes para esta postagem:

Se o dispositivo pertencer ao seu empregador:

 • Proteja-o em locais públicos. Ele deve estar sempre sob sua custódia.
 • Não permita que ninguém além de você o utilize, mesmo que sejam colegas.
 • Não instale software desnecessário nem faça download de arquivos desnecessários.
 • Evite realizar tarefas pessoais com esse equipamento, como acessar o home banking ou navegar em sites desconhecidos.
 • Evite usar redes públicas ou inseguras para se conectar.
 • Cuide de suas informações de trabalho. Elas são realmente importantes e não protegê-las pode afetar você, seu empregador e outras pessoas que interagem com a entidade.

Se você for um gerente técnico da organização:

 • Permita o acesso remoto à rede de computadores de sua organização por meio de um canal seguro (por exemplo, VPN) e faça isso somente para os funcionários para os quais isso é necessário.

 • Backup regular de informações críticas.

 • Defina procedimentos e um canal de comunicação para que os funcionários que estejam trabalhando remotamente comuniquem qualquer situação de suporte, anômala ou suspeita.

 • Aumentar os níveis de monitoramento de eventos de segurança, por exemplo, tentativas fracassadas de login e autenticação que posteriormente são bem-sucedidas, acesso com o mesmo usuário a partir de vários endereços IP, identificação de tráfego de rede suspeito e conexões de locais anômalos, como países incomuns.

 • Limite o acesso remoto somente aos serviços permitidos e às áreas adequadamente isoladas da rede.

 • Exigir autenticação de dois fatores, sempre que possível.

 • Analise a capacidade dos links e monitore-os constantemente para ajudar a garantir a continuidade dos serviços, pois o trabalho remoto pode saturar as conexões de Internet.

 • Assegure-se de que os computadores pessoais tenham criptografia de disco e implementem controles de prevenção de vazamento de informações.

 • Verificar controles em equipamentos remotos, vinculados a antivírus, sistemas operacionais, atualizações, configurações de segurança, etc.).

Caso hipotético

Agora vamos imaginar que conseguimos um emprego que oferece um home-office dinâmico e que nos foi designado um notebook para realizar nossas tarefas diárias. Como vimos acima, há uma boa chance de que seja um notebook com sistema operacional Windows e, se tivermos a sorte de participar de uma organização que leva em conta as recomendações de segurança, é muito provável que nos sintamos protegidos contra possíveis ataques. No entanto, se um dia levarmos esse dispositivo da nossa cafeteria favorita para o trabalho, mas, quando decidirmos voltar, o esquecermos (ou formos roubados), podemos responder às seguintes perguntas?:

As nossas informações e as da organização estão realmente protegidas?

É realmente seguro criptografar um disco rígido?

E as redes às quais eu estava me conectando? Os VPNSs funcionam?


A partir deste ponto, esta publicação terá um tom mais técnico. Portanto, se o seu perfil não for esse, concentre-se nas recomendações que compartilhamos no início e compartilhe essas informações com os responsáveis pela segurança na organização à qual você pertence.

Por outro lado, se a sua função estiver relacionada à segurança cibernética ou se você simplesmente tiver curiosidade ou interesse em criptografia, eletrônica ou hardware, convidamos você a continuar a leitura.

Contexto

Ultimamente, uma técnica conhecida como BitLocker Bypass, como o próprio nome sugere, consiste em contornar a criptografia de disco realizada com um aplicativo nativo do Windows. Anos atrás, um grupo de pesquisadores do DolosGroup, do W/labs e de outros pesquisadores citados nesta postagem se fez as mesmas perguntas sobre o que fazer com um notebook perdido de nossa frota, mas antes de entrar nos detalhes de suas pesquisas, vamos rever alguns conceitos.

TPM

O Trusted Platform Module é um chip criptográfico complexo, que fica na placa-mãe dos nossos dispositivos e implementa um conjunto predefinido de operações criptográficas, armazenamento seguro de chaves e um conjunto de registros de configuração de plataforma (PCR).

Uma das vantagens do TPM é a capacidade de liberar um fragmento de um segredo depois que a integridade da plataforma é verificada. Essa verificação é obtida medindo-se cada etapa de um processo de inicialização e armazenando as medições no PCR. O segredo pode ser bloqueado para valores específicos de PCR e só pode ser liberado se o estado atual dos PCRs corresponder a esses valores originais.

Em resumo, o TPM não exporá as chaves a menos que esteja em um estado de inicialização esperado (os registros PCR têm um conjunto específico de valores).
É por causa dessa implementação que poderíamos, por exemplo, não inicializar uma imagem ativa do Ubuntu para simplesmente quebrar a criptografia com um comando no TPM. Para obter mais informações, visite microsoft hardware-security tpm-fundamentals. O BitLocker usa o TPM para "selar" sua chave de máscara de volume (VMK), e a chave só pode ser exposta se o processo de inicialização não tiver sido adulterado.

Normalmente, o chip TPM é um módulo discreto na placa-mãe e se comunica com a CPU por meio do Platform Controller Hub (PCH) ou de uma ponte sul. A especificação do TPM descreve as três diferentes interfaces de comunicação: LPC, SPI e I2C, em particular, falaremos sobre uma delas durante a postagem. Por outro lado, há dois tipos diferentes de encapsulamentos permitidos para o TPM, que são o TSSOP-28 (à esquerda) e o QFN-32. O último, por ser quase BGA, torna mais difícil a conexão com seus pinos, mas não impossível com a implementação de diferentes técnicas.



Imagem de referência de um chip TPM TSSOP-28 em um Surface 3


BitLocker

O BitLocker é o aplicativo nativo usado pelo Windows para criptografar discos rígidos. A partir da versão 1511 do Windows 10, o BitLocker usa o algoritmo de criptografia AES-XTS para criptografar todo o volume. Por padrão, o comprimento da chave é de 128 bits, mas também pode ser configurado para usar uma chave de 256 bits. Os dados são criptografados usando a chave de criptografia de volume completo (FVEK). A FVEK, por sua vez, é criptografada com a chave mestra de volume (VMK). A VMK é criptografada por vários protetores.


Um deles é o TPM que vimos anteriormente, e o outro é a chave de recuperação. Tudo isso existe para que, se um invasor tiver acesso físico ao dispositivo, ele não possa inicializar o laptop em uma distribuição Linux ativa (ou limpar a unidade) e acessar seus dados com alguma técnica forense. Quando o BitLocker está ativado em sua configuração padrão, não é necessária nenhuma interação adicional do usuário no momento da inicialização. Isso ocorre porque o chip TPM é usado apenas para descriptografar a VMK. A ideia por trás disso é que, se o dispositivo for capturado e o invasor não souber sua senha de login, ele não poderá acessar as informações mesmo removendo a unidade. Qualquer modificação no BIOS ou no código do carregador de inicialização alterará os valores de PCR, e o TPM não descriptografará a VMK.


Protocolo SPI

A SPI (Serial Peripheral Interface) é um protocolo de comunicação serial síncrona que suporta comunicação full duplex em frequências de relógio de alta velocidade (SCLK). Ele usa a arquitetura mestre-escravo, em que o dispositivo mestre sempre inicia a comunicação. O barramento SPI consiste em quatro fios.


Vários dispositivos escravos podem ser conectados ao mesmo barramento SPI. Entretanto, nessa situação, cada dispositivo escravo requer sua própria linha SS, conforme mostrado abaixo.


Para capturar os sinais SSX, é necessário um analisador lógico que possa capturar vários sinais simultaneamente, dependendo do número de dispositivos escravos. A frequência mínima de amostragem depende da velocidade usada no barramento. O padrão TPM define que ele deve ser compatível com a faixa entre 10 e 24 MHz. No entanto, o padrão também estabelece que frequências SCLK mais rápidas podem ser suportadas. É importante observar que devemos usar uma taxa de amostragem pelo menos quatro vezes mais rápida do que a velocidade usada no barramento, portanto, recomendamos um analisador lógico de no mínimo 100 MHz para realizar essa tarefa, o que pode ser um pouco caro.


Foto do W/Labs, onde encontramos um Dell Latitude E5470 junto com um analisador lógico Saleae Logic Pro 8, que é capaz de registrar quatro sinais de até 100 MHz. Conectado a um SOIC-8 que permite uma maneira rápida e fácil de conectar as sondas, todo o processo de captura pode ser feito em menos de um minuto.

Prova de conceito

A equipe do DolosGroup recebeu um notebook Lenovo pré-configurado com segurança de acordo com a organização à qual pertencia.

Não havia informações sobre esse dispositivo, nem credenciais de teste, nem detalhes de configuração, e ele estava seguindo muitas das práticas recomendadas no início da postagem, impossibilitando muitos ataques conhecidos.

For examplo:

 • Os ataques de pcileech/DMAforam bloqueados porque a configuração do BIOS VT-d da Intel estava ativada.

 • Todas as configurações do BIOS foram bloqueadas com uma senha.

 • A ordem de inicialização do BIOS foi bloqueada para impedir a inicialização a partir de USB ou CD.

 • O Secureboot foi ativado.

 • O desvio da autenticação do Kon-bootnão funcionou devido à criptografia total do disco.

 •  O LAN turtle e outros ataques de resposta por meio de adaptadores Ethernet USB não retornaram nada utilizável.

 • O SSD foi totalmente criptografado em disco (FDE) usando o BitLocker da Microsoft, protegido pelo Trusted Platform Module (TPM).

Diante dessa situação, decidiu-se realizar um BitlockerBypass trabalhando diretamente no chip TPM, nesse caso com um QFN-32 ou tipo semelhante de encapsulamento:


Conforme mostrado na Folha de dados, esse chip se comunica com a CPU usando o protocolo SPI descrito acima:


Isso foi confirmado posteriormente pelo esquema do notebook:


Como você verá, o SPI é um protocolo de comunicação extremamente comum, praticamente todos os hardwares de commodities o utilizam. Devido à sua simplicidade, não há opção de criptografia para o SPI. Qualquer criptografia deve ser tratada pelos próprios dispositivos.

Mesmo hoje, o BitLocker não usa nenhum recurso de comunicação criptografada do padrão TPM 2.0, o que significa que todos os dados que saem do TPM estão em texto simples, inclusive a chave de descriptografia do Windows. Se conseguirmos obter essa chave, poderemos descriptografar a unidade e, idealmente, dadas as práticas recomendadas implementadas nesse notebook, obter acesso à configuração do cliente VPN e talvez obter acesso à rede interna da organização.

Geralmente, os chips SPI compartilham o mesmo "barramento" com outros chips que o implementam. Essa é uma técnica que os projetistas de hardware usam para simplificar as conexões, economizar custos e facilitar a solução de problemas/programação. Por esse motivo, se o TPM for um BGA, é recomendável procurar outro chip em que as conexões sejam mais fáceis de fazer e sem a necessidade de solda. Nesse caso, verificou-se que o TPM compartilhava um barramento SPI com o chip CMOS, que definitivamente tinha pinos maiores. De fato, o chip CMOS tinha quase o maior tamanho de pino que pode ser encontrado em placas-mãe padrão, era um SOP-8 (também conhecido como SOIC-8).


Assim como o equipamento de pesquisa mencionado acima e recomendado pelo BASE4, foi usado um analisador lógico Saleae.



Fotografias de DolosGroup

Um invasor experiente ou previamente preparado poderia usar um clipe SOIC-8 em vez de sondas individuais, economizando muito tempo em um contexto de ataque real.

Depois que as sondas foram conectadas, o notebook foi ligado e cada byte no barramento SPI foi registrado. Em algum lugar entre os milhares e milhares de bits, uma chave de descriptografia do BitLocker estava sendo enviada; o problema agora era encontrá-la.

A ferramenta de Henri Nurmi foi usada para extrair a chave automaticamente. Como você pode ver, é mostrada uma captura de tela de um analisador de alto nível (HLA) e a chave obtida:


Prática ofensiva

Uma vez obtida a chave, podemos simplesmente descriptografar a unidade colocando-a em um adaptador e usando ferramentas como o Dislocker para descriptografar o FVEK e, em seguida, montar a unidade ou, como é recomendado nesse tipo de prática ofensiva/forense, criar uma imagem da unidade para trabalhar confortavelmente sem alterar o original:


Depois que a imagem foi criada, começaram as etapas para obter dados como hashes de senha, texto simples ou credenciais criptografadas, arquivos confidenciais expostos etc. Como se tratava de um PC para o POC, nada de útil foi encontrado e nenhuma credencial de qualquer tipo foi obtida, pois não se tratava de um notebook de um funcionário real com anos de arquivos.

No entanto, o cliente VPN em uso foi encontrado: Global Protect da (GP) Palo Alto . Ele tem um "recurso" interessante chamado tunelamento de pré-login:

O pré-login é um método de conexão que estabelece um túnel VPN antes que o usuário faça login. O objetivo do pré-login é autenticar o endpoint (não o usuário) e permitir que scripts de domínio ou outras tarefas sejam executados assim que o endpoint for ligado.

Embora esse "recurso" seja ideal para a equipe de TI gerenciar seus endpoints. Ele também é uma forma de obter acesso à VPN sem conhecer as credenciais.

Em teoria, se usássemos a imagem virtualizada criada acima, poderíamos implementar o Event Triggered Execution: Accessibility Features, para que pudéssemos acessar o túnel VPN sem precisar de uma credencial. Supondo que teríamos acesso de gravação a todo o sistema de arquivos, poderíamos fazer praticamente qualquer coisa, inclusive reescrever arquivos de driver de malware no nível do kernel ou DLLs com privilégios de proxy para simplesmente adicionar contas. Mas voltando à referência anterior da Mitre, as etapas são realmente simples:

 • Copie C:\Windows\System32\Utilman.exe para Utilman.exe.bak
 • Copie C:Windows System32.exe PARA Utilman.exe
 • Pressione Windows + U na tela de login.

Com o BackDoor ativo, só precisaríamos montar a unidade. Para inicializar corretamente uma imagem criptografada do Windows em uma máquina virtual, é necessário criar um arquivo VMDK personalizado, que não entraremos em detalhes (você pode procurar mais informações nas referências). Agora, com esse VMDK e o backdoor, criamos a máquina virtual, inicializamos e pressionamos Windows + U na tela de login.


Visibilidade alcançada: "Status do GlobalProtect: Conectado".


Para que isso funcione, a autenticação da VPN é feita por meio de um certificado anexado à conta do computador. Como cada conta de computador tem privilégios muito básicos no Active Directory, podemos executar comandos SMB básicos dentro do domínio. Consultamos o controlador de domínio para obter vários tipos de informações sobre o domínio, como usuários, grupos, sistemas e assim por diante. Também podemos listar e exibir o conteúdo de arquivos em compartilhamentos SMB internos:


Também poderíamos usar esse acesso à conta do computador como uma plataforma para lançar ataques internos e escalar lateralmente. Para provar o acesso de gravação a um servidor, foi escolhido um servidor de arquivos on-line interno. O POC consistia em gravar um arquivo nesse servidor e lê-lo de volta para provar o acesso de leitura/gravação.


A ação "Scanner" é uma ótima opção para um invasor, por exemplo, ataques LNK, cavalos de Troia de PDF etc. Nesse ponto, obtivemos acesso à rede interna, privilégios básicos do Active Directory e acesso a compartilhamentos de arquivos internos, o que é mais do que suficiente para começar a comprometer uma organização inteira a partir de um notebook esquecido ou roubado, mesmo que ela siga todas as boas práticas.

Conclusão

Para atenuar esse ataque, em vez de usar o TPM padrão sozinho, ele deve ser usado com um dos itens a seguir:

 • TPM com PIN
 • TPM com chave de inicialização
 • TPM com chave de inicialização e PIN

No modo TPM com PIN, o TPM exige um código PIN adicional antes que a VMK seja descriptografada, como vimos no diagrama de arquitetura. Embora a chave possa ser obtida do barramento mesmo se o código PIN for usado, o invasor deve ser capaz de obtê-la no instante em que o PIN for inserido.

Se usuários sem privilégios puderem acessar as chaves do BitLocker ou os protetores do BitLocker, o escalonamento de privilégios locais (LPE) poderá ser realizado modificando o conteúdo do volume. Portanto, esse ataque permite um LPE fácil. É importante observar que o mesmo LPE se aplica se os usuários conhecerem suas chaves de recuperação. Uma chave de inicialização acrescenta uma camada adicional em que a VMK pode ser descriptografada somente se o TPM e a chave de inicialização estiverem presentes. A chave de inicialização pode ser armazenada em um dispositivo removível, por exemplo, um pendrive ou dongle, para maior segurança. Por outro lado, é recomendável seguir as sugestões da Microsoft no link a seguir:

https://learn.microsoft.com/es-mx/windows/security/operating-system-security/data-protection/bitlocker/bitlocker-countermeasures

Other links of interest

1.https://earthweb.com/operating-system-market-share/
2.https://earthweb.com/tech-industry-statistics/
3.https://learn.microsoft.com/es-es/windows/security/hardware-security/tpm/switch-pcr-banks-on-tpm-2-0-devices
4.https://learn.microsoft.com/es-es/troubleshoot/windows-client/windows-security/decode-measured-boot-logs-to-track-pcr-changes
5.https://www.st.com/en/secure-mcus/st33tphf20spi.html
6.Disobey 2018 - All your encrypted computer are belong to us - Tomi Tuominen & Timo Hirvonen