Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
mellon — Ferramenta de ataque OSDP (e a palavra élfica para amigo) | Kitploit
Ferramentas/GitHubGitHub/bishopfox/mellon
Análise de VulnerabilidadesExploraçãoCriptografiaTestes de PenetraçãoSegurança de Hardware
GitHubbishopfox/mellon

mellon

Ferramenta de ataque OSDP (e a palavra élfica para amigo)

Ver Repositório
11494há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Vulnerabilidades do OSDP que este exploit explora

Ferramenta de ataque OSDP (e a palavra élfica para amigo)

Ataque #1: Criptografia é Opcional

O OSDP suporta, mas não exige estritamente, criptografia. Portanto, sua conexão pode nem estar criptografada. O Ataque #1 é apenas ouvir passivamente e ver se você consegue ler os números dos cartões no fio.

Ataque #2: Ataque de Rebaixamento

Só porque o controlador e o leitor suportam criptografia não significa que estão configurados para exigir seu uso. Um atacante pode modificar a mensagem de resposta de capacidade do leitor (osdp_PDCAP) para anunciar que ele não suporta criptografia. Quando isso acontece, alguns controladores prosseguem sem criptografia.

Ataque #3: Ataque de Modo de Instalação

O OSDP possui um “modo de instalação” quase oficial que se aplica tanto a leitores quanto a controladores. Como o nome sugere, deve ser usado ao configurar um leitor pela primeira vez. O que ele faz é essencialmente permitir que os leitores perguntem ao controlador qual é a chave de criptografia base (o SCBK). Se o controlador estiver configurado para permanecer em modo de instalação, um atacante pode aparecer no fio e solicitar o SCBK.

Ataque #4: Chaves Fracas

O código de exemplo do OSDP frequentemente vem com chaves de criptografia embutidas. Claramente, são apenas amostras, onde o usuário deve gerar chaves de forma segura por conta própria. No entanto, isso não é explicado nem simplificado para o usuário. E qualquer um que esteja na segurança há tempo suficiente sabe que o que quer que seja o padrão provavelmente estará em produção.

Baixar ferramenta

Então, como vetor de ataque, quando o link entre leitor e controlador está criptografado, vale a pena tentar enumerar algumas chaves fracas comuns. Essas são chaves AES de 128 bits, então não conseguiremos enumerar todas elas. Nem mesmo uma porção significativa. Mas o que podemos fazer é atingir alguns padrões comuns que vemos quando alguém insere uma chave fixa:

  • Todos os valores de um único byte. [0x04, 0x04, 0x04, 0x04 …]
  • Todos os valores de bytes monotonicamente crescentes. [0x01, 0x02, 0x03, 0x04, …]
  • Todos os valores de bytes monotonicamente decrescentes. [0x0A, 0x09, 0x08, 0x07, …]

Ataque #5: Captura de Conjunto de Chaves

O OSDP não possui mecanismo em banda para troca de chaves. O que isso significa é que um atacante pode:

  • Inserir um dispositivo de escuta oculto no fio.
  • Quebrar / restaurar para configuração de fábrica / desabilitar o leitor.
  • Aguardar alguém da TI vir e substituir o leitor.
  • Capturar a mensagem de conjunto de chaves (osdp_KEYSET) quando o leitor é configurado pela primeira vez.
  • Descriptografar todas as mensagens futuras.

Obtendo uma Configuração de Teste (Linux/MacOS)

Você encontrará código de prova de conceito para cada um desses ataques em attack_osdp.py. Consulte o comando --help para mais detalhes sobre o uso. Este é um script Python, destinado a ser executado a partir de um laptop com adaptadores USB<-->RS485 como este. Então você provavelmente vai querer adquirir alguns. Não precisa ser esse modelo, no entanto.

Se você tem um controlador que deseja testar, ótimo. Use-o. Se não, temos um controlador OSDP intencionalmente vulnerável que você pode usar aqui: vulnserver.py.

Alguns dos ataques em attack_osdp.py esperarão estar como um MitM completo entre um leitor e um controlador funcionais. Para testá-los, você pode precisar de três adaptadores USB<-->RS485, conectados com uma placa de prototipagem.

Problemas Adicionais de Risco Médio / Baixo

Esses problemas não são, isoladamente, exploráveis, mas representam um enfraquecimento do protocolo, da implementação ou do sistema como um todo.

  • MACs são truncados para 32 bits "para reduzir sobrecarga". Isso está muito próximo (mas não exatamente em nosso cálculo) da faixa explorável prática.
  • IVs (que são derivados de MACs) são igualmente reduzidos para 32 bits de entropia. Isso causará reutilização de IV, o que é uma grande bandeira vermelha para um protocolo.
  • As chaves de sessão são geradas usando apenas 48 bits de entropia do nonce RNG do controlador. No entanto, isso parece não ser possível para um atacante observador enumerar offline. (A menos que estejamos esquecendo algo, caso em que isso se tornaria um problema crítico.)
  • Os números de sequência consistem em apenas 2 bits, não fornecendo vivacidade suficiente.
  • A criptografia no modo CBC é usada. GCM seria um modo de cifra de bloco mais moderno e apropriado para protocolos de rede.
  • Os modos SCS 15 e 16 são essencialmente "cifras nulas" e não deveriam existir. Eles não criptografam dados.
  • O byte de comando do OSDP é sempre não criptografado, mesmo no meio de uma sessão de Canal Seguro. Isso é um grande benefício para atacantes, tornando as ferramentas de ataque muito mais fáceis de escrever. Significa que um atacante pode sempre ver qual "tipo" de pacote está sendo enviado, mesmo que esteja criptografado. Atacantes podem saber quando as pessoas passam o cartão, quando o LED acende, etc... Isso não é informação que deveria estar em texto claro.
  • SCBK-D (uma chave de criptografia "padrão" embutida) não oferece segurança e deve ser removida. Ela serve apenas para ofuscar e fornecer uma falsa sensação de segurança.