Catracas na perspectiva de um hacker - Parte 2

Implantes físicos em catracas, ataques de replay e uma breve introdução ao protocolo Wiegand

Nota esclarecedora
PRIDE Security não oferece nenhuma garantia às informações contidas neste documento e não assume responsabilidade por quaisquer erros que também possam estar presentes. Em nenhum caso a PRIDE Security ou qualquer um dos seus parceiros serão responsáveis por danos decorrentes do uso das informações aqui descritas. A PRIDE Security se reserva o direito de alterar ou atualizar este conteúdo sem aviso prévio a qualquer momento.

Introdução

Bem-vindo, entusiasta em segurança da informação!

Antes de começar a explorar os temas deste segundo capítulo, você está convidado a conferir uma versão em vídeo do mesmo conteúdo. No vídeo, os pontos-chave serão abordados visualmente, proporcionando uma experiência dinâmica. Se preferir aprender de uma maneira diferente, clique no play abaixo.

No capítulo anterior, foram identificadas vulnerabilidades no sistema de biometria facial, revelando as técnicas que eram utilizadas por indivíduos mal-intencionados para evadir esses mecanismos e obter acesso não autorizado a ambientes físicos. Observou-se que uma catraca possui sua própria camada de segurança física para restringir o acesso ao ambiente interno. Foram demonstrados ataques de lock bumping e um problema de design que facilitava sua abertura.

Neste capítulo, será explorada a utilização de implantes em catracas para a realização de ataques de replay, um método que permite a um indivíduo mal-intencionado obter acesso não autorizado se passando por outra pessoa. Para realizar essa tarefa, será abordado um pouco sobre o protocolo Wiegand. Vale destacar que nenhum dos temas abordados nesta série é novo ou inédito, mas a associação destes ataques pode ser útil em um ataque real e causar grande impacto para a segurança do ambiente.

Implantes físicos em catracas

Anteriormente, discutiu-se de forma superficial o tema dos implantes, que podem ser inseridos tanto na parte externa como na interna da catraca. Dependendo da localização escolhida, a detecção desses implantes pode ser uma tarefa trivial para olhos treinados. Para ilustrar o ataque, colocou-se o dispositivo em uma área visível, atrás do módulo de reconhecimento facial da ZKTeco.

Figura 1 - Inserindo o implante no módulo de reconhecimento facial da ZKTeco

Entretanto, encontrá-lo na parte interna da catraca não é uma tarefa trivial, imagine-o instalado na fiação dentro da catraca que conecta o leitor de RFID.

Figura 2 - Exibindo a fiação do leitor de RFID

Uma alternativa seria instalar o implante na parte interna da catraca, utilizando um dos ataques explicados no primeiro capítulo. Conforme evidenciado, há espaço suficiente para posicioná-lo internamente de maneira furtiva. Você acredita que a identificação é trivial? :)

Figura 3 - Parte interna da catraca

A importância dos implantes para realizar ataques de replay

Neste momento, você deve estar se perguntando:

"Por que inserir um implante?"

O objetivo é realizar o antigo e conhecido ataque de replay, que essencialmente possibilita abrir a catraca, de maneira não autorizada, quando o atacante assim desejar. Para isso, após a instalação do implante, é necessário aguardar que alguém passe por essas catracas e seja validado com sucesso. Posteriormente, basta reenviar esses dados, e a catraca se abrirá como que por mágica. Voilà!

O dispositivo é implantado estrategicamente para interceptar a comunicação, similar a um ataque de MitM (Man-in-the-Middle).

O processo inicia-se com a coleta dos dados desejados para posterior reenvio, sendo esse o momento em que o implante se revela uma ferramenta crucial.

Internamente, no módulo de reconhecimento facial da ZKTeco, foi instalado um pequeno dispositivo chamado de NodeMCU.

Figura 4 - NodeMCU

Essa classe de implante não é de uso exclusivo das catracas, ela pode ser empregada em uma variedade de dispositivos. Praticamente qualquer sistema que se comunique por meio do protocolo Wiegand torna-se um alvo em potencial. Esse implante pode ser instalado em diversos sistemas de controle de acesso, como módulos de reconhecimento facial, de impressão digital, entre outros, comumente encontrados em ambientes corporativos.

Figura 5 - Dispositivos compatíveis com o protocolo Wiegand

É frequente depararmo-nos com esses dispositivos de controle de acesso espalhados por toda a empresa, protegendo áreas sensíveis como a sala dos servidores e a diretoria. A abrangência desse ataque torna-se evidente quando se considera a variedade de locais onde esses sistemas estão presentes. Para ilustrar de forma mais clara, será analisado um exemplo prático envolvendo uma catraca.

Conforme mencionado anteriormente, as catracas em questão possuem múltiplas camadas de segurança, sendo capazes de realizar reconhecimento facial mesmo em usuários que estejam utilizando máscaras. Além disso, essas catracas também incorporam funcionalidades como medição de temperatura e identificação por crachás, ampliando suas capacidades de validação.

Ao inserir o implante na catraca, é possível simular o processo de entrada e saída de um colaborador comum, demonstrando que a catraca continua operando normalmente. A validação ocorre de forma transparente, autorizando o acesso como se nada estivesse fora do comum.

0:00
/0:40

Figura 6 - Simulação de entrada e saída de um colaborador

O NodeMCU desempenha um papel fundamental nesse ataque, criando uma rede sem fio dedicada ao gerenciamento remoto do implante. Através de um dispositivo móvel, é possível acessar o sistema de gerenciamento do implante por meio de um endereço IP específico, que redireciona para uma aplicação web desenvolvida especialmente para essa finalidade. Nessa aplicação, é possível não apenas visualizar, mas também gerenciar as informações capturadas durante a simulação de entrada e saída. Esses dados, armazenados em formato binário, representam a autenticação realizada por meio do protocolo Wiegand.

Para executar o ataque, as informações binárias são copiadas no software de gerenciamento do NodeMCU. Em seguida, basta clicar no botão "transmitir" para dar início ao processo. Essa ação instrui o módulo NodeMCU a retransmitir os dados binários capturados anteriormente. Como resultado, o sistema de controle de acesso realiza a autenticação do usuário, reconhecendo-o como o legítimo proprietário dos dados, e permite a abertura da catraca. É como se uma mágica acontecesse diante dos olhos, com a catraca se abrindo sem qualquer suspeita.

0:00
/0:57

Figura 7 - Aplicando o ataque de replay com o NodeMCU

Inserindo o implante na catraca - like a ninja 🐱‍👤

No primeiro capítulo dessa série, foram abordadas técnicas para abrir a catraca de forma não autorizada e como acessar a sua parte interna através do leitor de RFID.

Em algum momento, você pode questionar como um atacante real faria para inserir o implante na catraca sem levantar suspeitas, especialmente em ambientes com seguranças e câmeras de segurança. Embora o foco não seja contar histórias sobre testes de segurança física, uma abordagem bastante útil e ainda eficaz é se apresentar uniformizado como um funcionário da empresa responsável pela manutenção das catracas, já que essas pessoas raramente são abordadas, além do uniforme já conhecido passar confiança para os colaboradores. Outras abordagens podem incluir o uso de engenharia social ou a coleta de informações sobre horários estratégicos, optando por momentos em que a segurança pode estar mais relaxada, como durante os horários de grande movimento ou mudanças de turno.

No exemplo, é apresentada uma animação na qual é possível obter informações, como os detalhes do uniforme utilizado pela empresa de manutenção, a identificação por meio de crachás e os equipamentos geralmente utilizados.

0:00
/0:12

Figura 8 - Colaborador da PRIDE Security uniformizado com a roupa da Wolpac

Uma breve apresentação sobre o protocolo Wiegand

Agora que aprenderam a colocar o implante sem apanhar dos seguranças e presenciaram o ataque em execução, será aprofundado um pouco em seu funcionamento. O ataque conduzido explora o protocolo Wiegand, transmitido em texto simples. O termo "Wiegand" é uma homenagem a John Richard Wiegand, um inventor nascido na Alemanha que descobriu o que ficou conhecido como o "efeito Wiegand" - um fenômeno magnético não linear, inclusive registrando uma patente na década de 70. Embora os leitores de cartão originais não sejam mais produzidos, a interface de hardware e o formato ainda são amplamente utilizados.

Existem outras opções disponíveis, entretanto, o protocolo Wiegand é um dos mais comuns em uso no mundo, sendo amplamente empregado em muitos sistemas de controle de acesso e suas integrações. O funcionamento da comunicação é bastante simples. Basicamente, existem dois fios para dados, denominados D0 e D1, também conhecidos como Data 0 e Data 1, entre outros nomes. Além disso, há o Ground, que corresponde ao terra, e o VCC, também conhecido como VDC em inglês. Na ilustração, o VCC tem 12 volts.

0:00
/0:21

Figura 9 - Fiação do Wiegand

O VCC não precisa ser fixo em 12 volts, pois existem implementações que utilizam outras tensões. Vale ressaltar que é importante considerar a tensão da implementação, pois o NodeMCU pode ser danificado, caso a tensão não seja adequada. Nesses casos, seguindo a sugestão do Prideano Lucas Teske, é aconselhável utilizar um conversor de nível lógico bidirecional. Essa dica pode evitar que vários NodeMCU sejam danificados! 😊

Funcionamento do protocolo Wiegand

Você deve estar se perguntando, como funciona o protocolo? Apenas para ilustrar o funcionamento, imagine uma implementação onde o VCC utiliza 5V. Quando nenhum dado é transmitido, tanto o D0 quanto o D1, ficam em nível alto, ou seja, estão recebendo 5 volts de tensão. Quando se deseja enviar o bit 0, basicamente o D0 é colocado em nível baixo, enquanto o D1 permanece em nível alto, ou seja, recebendo 5 volts de tensão. Se quisermos enviar o bit 1, ocorre o inverso: o D1 é colocado em nível baixo, enquanto o D0 permanece em nível alto, recebendo 5 volts de tensão. Dessa forma, podemos transferir informações ao definir os bits como zero ou um.

0:00
/0:25

Figura 10 - Exemplo de funcionamento do protocolo

Na animação que foi demonstrada, são utilizados 26 bits, que é o formato original. No entanto, é importante notar que podem existir variações entre implementações, ou seja, em testes reais, é possível encontrar esse formato com um número diferente de bits. No padrão original de 26 bits, basicamente, 24 bits são destinados aos dados, e os 2 restantes são bits de paridade. A estrutura é a seguinte: começa com um bit de paridade, seguido por 8 bits de Facility. Em seguida, há 16 bits de identificação e, por fim, mais um bit de paridade. Em outras palavras, o primeiro bit de paridade é responsável pelo cálculo dos 12 bits que o seguem, e o último bit de paridade calcula os 12 bits que o precedem.

Figura 11 - Estrutura do formato original Wiegand

No exemplo apresentado, foi utilizado um NodeMCU, que é equipado com o chip ESP8266. Além disso, esses dispositivos são bastante acessíveis em termos de preço. Se desejarem adquirir um, podem encontrá-lo em sites chineses, como o AliExpress. Na época que este teste foi realizado, esses dispositivos existiam por menos de R$ 25,00. Quanto ao software empregado no NodeMCU, ou seja, o código, é uma versão adaptada do software denominado ESP RFID, disponível no GitHub.

Há diversas oportunidades empolgantes com o NodeMCU. Em um contexto de controle de acesso que requer códigos PIN e raramente recebe visitantes, podemos automatizar um ataque de força bruta no PIN. Podemos até mesmo customizar o código para testar os PINS mais usuais inicialmente, seguidos por padrões que representam letras ou símbolos conhecidos, potencializando nossas chances de êxito mais rapidamente.

Gostou da sugestão deste ataque utilizando o NodeMCU neste capítulo? Quer mais detalhes sobre esse ataque? Veja o nosso vídeo!

Uma dica valiosa

Antes de finalizarmos, queremos compartilhar uma dica valiosa. Em nossos testes práticos, nota-se que alguns dispositivos não seguem a identificação impressa no circuito. Surpreendentemente, em alguns casos, as marcações no circuito divergem significativamente até mesmo do que é indicado no manual do fabricante. Portanto, é altamente recomendável ter sempre à mão um pequeno multímetro. Isso garantirá que você não perca a oportunidade de realizar um implante com sucesso, mesmo quando as informações no circuito ou no manual não estiverem corretas.

Figura 12 - Marcação em um dispositivo real que difere do manual

Conclusão

Chegamos ao final deste capítulo, abordando diversos ataques como a utilização de implantes físicos em catracas, ataques de replay e uma breve introdução ao protocolo Wiegand. No próximo capítulo, serão explorados recursos internos das catracas, como as interfaces RJ45, o acesso à rede lógica e os ataques aos sistemas de gerenciamento.

Se você não leu o primeiro capítulo, pode acessá-lo através deste link.

A jornada pela segurança das catracas continua! Stay tuned!

Agradecimentos

Nome
Cleriston Freitas
Felipe Sanches
Leonardo Paiva
Luan Pedersini
Ricardo B. Gonçales
Wendel G. Henrique

Sobre a PRIDE Security

PRIDE Security é uma consultoria especializada em segurança da informação que oferece serviços e produtos customizados para atender as necessidades e metas de cada negócio. Nós identificamos falhas em sistemas e processos e ajudamos os clientes a mitigar os riscos associados, preservando suas informações e reputação.

Com equipe composta por ex-diretores de consultorias, nossos especialistas são altamente experientes, grande parte com mais de 15 anos de mercado, tendo atuado em projetos de segurança da informação com empresas presentes em todos os continentes, sendo que várias delas compõem a “Fortune 500”. Nossa equipe possui conhecimento para atuar nos mais complexos projetos, com capacidade para reunir conhecimento de diversas áreas, como criptografia, engenharia reversa em diversas arquiteturas, debugging de hardware e programação.

Somos uma empresa privada brasileira sem vínculo a investidores, neutra na avaliação de fabricantes de produtos de segurança e sem meta de vendas, para garantir que o nosso time tenha foco na qualidade e entrega de resultados que superem as expectativas. Nosso crescimento ocorre através das recomendações dos clientes sobre nossos serviços, associado à reputação e relacionamento que construímos em cada projeto.

Com foco na excelência técnica e atendimento personalizado, atuamos nos mais diversos tipos de projeto, desde testes de segurança em ambiente SCADA, até projetos de segurança nacional.

Com reconhecimento técnico internacional, os profissionais da PRIDE Security constantemente palestram em eventos de segurança pelo mundo. Citamos abaixo alguns exemplos:

  • Blackhat – EUA
  • RSA Conference – EUA
  • Defcon – EUA
  • ToorCon – EUA
  • Blackhat – edição Europa
  • OWASP AppSec Research – edição Europa
  • OWASP AppSecEU09 – edição Europa
  • Troppers – Alemanha
  • H2HC (Hackers 2 Hackers Conference) – Brasil
  • YSTS (You Sh0t The Sheriff) – Brasil

Além de palestrar nos principais eventos de segurança ao redor do mundo, os profissionais também são responsáveis por escrever diversos papers (artigos), coautores de patente de tecnologia ofensiva registrada nos Estados Unidos da América (US8756697), encontrar e publicar falhas de software como Sun Solaris, Kernel de FreeBSD/NetBSD, QNX RTOS, Microsoft ISA Server, Microsoft Word, Adobe Flash, Adobe PDF, dentre outros softwares.

Muitas organizações preocupadas com a segurança da informação contam com a PRIDE Security. Se você estiver interessado, nós teremos o maior prazer em colocá-lo em contato com nossos clientes para compartilharem as experiências com nossos serviços.

Tags

Ótimo! Você se inscreveu com sucesso.
Ótimo! Agora, complete o checkout para ter acesso completo.
Bem vindo de volta! Você fez login com sucesso.
Parábens! Sua conta está completamente ativada, agora você tem acesso completo ao conteúdo.