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
DetectPacket-CVE-2017-8464 — Explore vulnerabilidades e implementação de prevenção de vulnerabilidades | Kitploit
Ferramentas/GitHubGitHub/trg-1999/detectpacket-cve-2017-8464
Sniffing e Análise de PacotesAnálise EstáticaAnálise de VulnerabilidadesExploraçãoAnálise ForenseSegurança de RedeAnálise de MalwareDetecção de IntrusãoAprendizado e Educação
GitHubtrg-1999/detectpacket-cve-2017-8464

DetectPacket-CVE-2017-8464

Explore vulnerabilidades e implementação de prevenção de vulnerabilidades

Ver Repositório
2127há 4 anosAinda não revisado

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

Construção de aplicativo para detecção da vulnerabilidade CVE-2017-8464

Fonte (clique aqui)

CONTEÚDO:

PARTE 1: VISÃO GERAL SOBRE CVE-2017-8464

  1. CONCEITO SOBRE ARQUIVO LNK
  2. CRIAÇÃO DE SISTEMA VULNERÁVEL À CVE-2017-8464
  3. FERRAMENTAS DE ATAQUE À VULNERABILIDADE CVE-2017-8464

PARTE 2: USANDO A FERRAMENTA METASPLOIT PARA EXPLORAR A CVE-2017-8464

2.1. MODELO DE EXPLORAÇÃO DA CVE-2017-8464

2.2. EXECUÇÃO DA EXPLORAÇÃO DA CVE-2017-8464

PARTE 3: CONSTRUÇÃO DE UMA FERRAMENTA DE DETECÇÃO DA CVE-2017-8464 COM BASE NA LINGUAGEM PYTHON

3.1. ANÁLISE DA ASSINATURA DA CVE-2017-8464 COM BASE EM PACOTES DE REDE CAPTURADOS

3.2. FUNÇÃO DE TRATAMENTO PARA DETECTAR A EXPLORAÇÃO DA CVE-2017-8464 COM BASE NA ANÁLISE DE ASSINATURA DE PACOTES DE REDE

CONCLUSÃO

**

PARTE 1: VISÃO GERAL SOBRE CVE-2017-8464
  1. CONCEITO SOBRE ARQUIVO LNK

LNK é um System File - Atalho do Windows (Windows Shortcut), em formato binário, desenvolvido pela Microsoft.

Figura 1: Ícone de atalho no Windows

Um arquivo LNK é um atalho ou “link” usado pelo Windows como referência a um arquivo, pasta ou aplicativo de origem, semelhante a um alias na plataforma Macintosh. Ele contém o tipo de atalho do destino, a localização e o nome do arquivo, bem como os programas que abrem os arquivos de destino e um atalho de teclado opcional. Os arquivos podem ser criados no Windows clicando com o botão direito em um arquivo, pasta ou executável e selecionando Criar atalho.

Ao explorar essa vulnerabilidade existente no Microsoft Windows, um atacante pode executar código remotamente se o ícone de um atalho (criado de forma especial) for exibido.

Figura 2: Criação manual de atalho para baixar e executar o código de ataque por meio do arquivo .LNK

O componente vulnerável está associado à pilha de rede (network stack). Uma vulnerabilidade desse tipo geralmente é chamada de “remotely exploitable” e pode ser considerada um ataque explorável no nível de protocolo ou em vários saltos de rede (hops), por exemplo, através de um ou mais roteadores.

  1. CRIAÇÃO DE SISTEMA VULNERÁVEL À CVE-2017-8464

Os sistemas afetados pela vulnerabilidade CVE-2017-8464 são o Windows Shell no Microsoft Windows Server 2008 SP2 e R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2012 Gold e R2, Windows RT 8.1, Windows 10 Gold, 1511, 1607, 1703 e Windows Server 2016, que permitem que usuários locais ou atacantes remotos executem código arbitrário por meio de um arquivo .LNK criado manualmente, que não é processado corretamente ao exibir o ícone no Windows Explorer ou em qualquer outro aplicativo que analise o ícone do atalho. Essa vulnerabilidade também é conhecida como “LNK Remote Code Execution Vulnerability”.

A atualização de segurança corrige a vulnerabilidade ao reparar a validação da referência do ícone do atalho; a Microsoft lançou uma atualização para essa vulnerabilidade em junho de 2017. Essa vulnerabilidade não afeta o Windows XP nem versões anteriores do Windows.

  1. FERRAMENTAS DE ATAQUE À VULNERABILIDADE CVE-2017-8464

Metasploit

O Metasploit Framework é um ambiente usado para testar, atacar e explorar falhas de serviços por meio de interface de linha de comando; essa ferramenta está disponível no Kali Linux versão VMware.

Figura 3: Ferramenta Metasploit

Armitage

Ferramenta com interface baseada no projeto Metasploit.

Figura 4: Ferramenta Armitage.

PARTE 2: USANDO A FERRAMENTA METASPLOIT PARA EXPLORAR A CVE-2017-8464

2.1. MODELO DE EXPLORAÇÃO DA CVE-2017-8464

Máquina da vítima — Windows 7 Pro

Figura 5: Versão do sistema operacional da vítima

Figura 6: Endereço IP da máquina da vítima

Máquina do atacante — Kali Linux — usando a ferramenta Metasploit.

Figura 7: Endereço IP da máquina do atacante

A rede em operação é a VMnet8, sub-rede 192.168.169.0

2.2. EXECUÇÃO DA EXPLORAÇÃO DA CVE-2017-8464

  • Criar payloads reverse_tcp e escutar conexões TCP direcionadas à máquina Kali.
  • Com LHOST sendo o endereço de escuta da máquina do atacante.

Figura 8: Criando payloads e ouvindo conexões TCP na máquina atacante

  • Criar um arquivo de atalho contendo a falha CVE-2017-8464 para iniciar automaticamente o payload reverse_tcp inserido.

Figura 9: Criando arquivo .lnk que executa automaticamente o malware

Figura 10: Informações de configuração dos payloads

  • Executar o comando exploit para criar os atalhos com a falha, apontando para o arquivo de payload.
  • Especificamente, conforme descrito acima, haverá o arquivo de payload FlashPlayerCPApp.cpl e o arquivo de atalho com a vulnerabilidade que executa automaticamente o arquivo de payload.
  • Após criar todos os arquivos necessários, eles serão salvos na pasta /root/.msf4/local/ na máquina do atacante; em seguida, o atacante copiará todos os arquivos dessa pasta para um USB qualquer.

Figura 11: Criando o arquivo .lnk juntamente com o malware

Figura 12: Copiando todo o malware para o USB

  • Depois de induzir a vítima a conectar o USB ao computador dela. A vítima não precisa clicar em nada no USB, mas a falha no arquivo .lnk (atalho) aciona automaticamente o payload malicioso para explorar a vulnerabilidade e executar código remotamente.

Figura 13: Vítima conectando o USB contendo o arquivo .lnk malicioso com malware

  • Observando novamente a máquina do atacante, vemos que a máquina da vítima se conectou à máquina do atacante; nesse momento, o atacante explorou com sucesso a CVE-2017-8464 e executou o malware remotamente na máquina da vítima.

Figura 14: O atacante explorou com sucesso e invadiu a máquina da vítima

**

PARTE 3: CONSTRUÇÃO DE UMA FERRAMENTA DE DETECÇÃO DA CVE-2017-8464 COM BASE NA LINGUAGEM PYTHON

3.1. ANÁLISE DA ASSINATURA DA CVE-2017-8464 COM BASE EM PACOTES DE REDE CAPTURADOS

  • Ao realizar o ataque com captura de pacotes, percebemos que, quando o arquivo .lnk é executado automaticamente, a máquina da vítima estabelece uma conexão TCP com o endereço da máquina do atacante, configurado no payload.

Figura 15: Pacote de ataque da vulnerabilidade CVE-2017-8464 capturado

  • O pacote com o flag PSH permite envio direto à máquina da vítima, em vez de ser armazenado no buffer.

Figura 16: Pacote com o flag PSH após a conexão TCP bem-sucedida com o atacante

  • Em seguida, o pacote com o indicador suspeito “MZ” sugere que este é provavelmente um arquivo PE malicioso enviado para a máquina da vítima.

Figura 17: Indicador suspeito no pacote capturado, enviado pelo atacante à vítima.

PE File Format (Portable Executable File Format) é o formato de arquivo nativo do Win32. Todos os arquivos executáveis no Win32, como *.EXE, *.DLL (32 bits), *.COM, *.NET, *.CPL,… estão no formato PE, exceto os arquivos VxDs e *.DLL (16 bits).

PE_File_Struct.png

Figura 18: Estrutura do arquivo PE.

DOS MZ Header

Todos os arquivos PE começam com um simples DOS MZ Header. Ele ocupa os primeiros 64 bytes. Essa área é usada quando o programa é executado no ambiente DOS.

e_magic: A assinatura do arquivo PE, valor: 4Dh, 5Ah (caracteres “MZ”, nome do fundador do MS-DOS: Mark Zbikowsky). Esse valor marca um DOS Header válido e permite a execução subsequente.

Figura 19: Assinatura do arquivo PE no pacote capturado

e_lfanew: é um DWORD localizado no final do DOS Header; é o campo que contém o offset do PE Header em relação ao início do arquivo.

DOS STUB

O DOS Stub é apenas um pequeno programa DOS EXE que exibe uma mensagem de erro; é a parte responsável pela compatibilidade com o Windows 16 bits.

Figura 20: Informações no pacote DOS STUB capturado, enviado pelo atacante à vítima

PE Header

O PE Header é, na verdade, a estrutura IMAGE_NT_HEADERS, que contém as informações necessárias para o loader carregar o arquivo na memória.

Signature: é um DWORD que inicia o PE Header e contém a assinatura PE: 50h, 45h, 00h, 00

Figura 21: Informações de e_lfanew indicando a parte Signature do cabeçalho PE.

SECTION TABLE

A Section Table é o componente logo após o PE Header, consistindo em uma matriz de estruturas IMAGE_SECTION_HEADER

Figura 22: Conteúdo da Section table no pacote capturado

  • Os pacotes seguintes serão as partes de dados das SECTIONs do arquivo PE.
  • A partir disso, pegamos apenas a parte HEADER da estrutura desse arquivo PE malicioso e a submetemos ao hash MD5 para criar uma assinatura que detecta o malware. Especificamente, extraímos 1024 bytes de dados do pacote detectado, o que inclui o HEADER. As informações relacionadas ao malware são salvas em um arquivo CSV para servir como conjunto de dados de detecção de malwares.

Figura 23: Salvando a assinatura e as informações relacionadas ao malware no arquivo CSV

3.2. FUNÇÃO DE TRATAMENTO PARA DETECTAR A EXPLORAÇÃO DA CVE-2017-8464 COM BASE NA ANÁLISE DE ASSINATURA DE PACOTES DE REDE

  • A função obtém as informações dos protocolos relacionados no frame_info; se houver um campo data, ela também obtém o protocolo mais próximo do campo data.

Figura 24: Função que obtém as informações de protocolo do pacote

  • Get_info obtém informações importantes bastante semelhantes ao campo info no Wireshark.

Figura 25: Função que obtém as informações do campo info do pacote

  • Na função de conversão de pcap para csv, primeiro ela usa pyshark para carregar o arquivo temporário de captura (temp.pcap). Em seguida, coleta informações bastante semelhantes aos campos de informação do Wireshark e as grava em um arquivo CSV temporário. Nessa função, ela captura apenas pacotes da camada IP&IPV6 para cima.
  • Após a conversão para o arquivo CSV temporário, ela cria uma cópia no diretório packet caso seja necessário como material para referência futura.

Figura 26: Função de conversão de pacotes de Pcap para arquivo CSV

  • Primeiro, a função detectRemoteCode lê as informações no arquivo de modelo contendo as assinaturas (md5) coletadas e analisadas anteriormente; as assinaturas são consolidadas nesse arquivo de modelo. Em seguida, abre o arquivo CSV com os dados temporários capturados do tráfego de rede, pega os dados do protocolo TCP — 1024 bytes, equivalentes a 2048 caracteres hexadecimais —, decodifica e verifica se começam com o caractere “MZ”. Se começarem, aplica hash e compara com a assinatura já validada. Se houver correspondência, gera um alerta e registra o evento no log, semelhante à análise estática (Static Analysis) que as ferramentas antivírus costumam realizar.

Figura 27: Função que verifica malware no tráfego de rede

  • Depois das funções principais, o trecho de código que executa o monitoramento de tráfego, da linha 88 à 109, é o final do programa.
  • A primeira linha verifica o diretório e o cria se não existir.
  • Em seguida, há um loop infinito até que o usuário interrompa o programa com a combinação de teclas Ctrl+C.
  • Na primeira parte do loop, há a linha que usa pyshark para capturar pacotes, com a interface sendo a placa de rede que se deseja monitorar, e o arquivo de saída será temp.pcap.
  • Ela captura pacotes por 6 segundos e depois executa a função de conversão de pcap para CSV.
  • Depois que o arquivo CSV está pronto, ela executa a função de verificação da vulnerabilidade CVE-2017-8464. Ela continua executando essas operações regularmente até que o usuário interrompa o programa.

Figura 28: Loop de captura de tráfego e verificação de malware

*Testando a operação do programa por meio da exploração.

  • Executar o programa de monitoramento na máquina Windows 10 (máquina real), monitorando a rede onde o ataque será repetido, como na Parte 2 acima.

Figura 29: Iniciando o programa de monitoramento na máquina real

  • Volte às duas máquinas virtuais e repita as ações de ataque da Parte 2. Observamos que o tráfego de rede capturado foi analisado e o programa detectou que o atacante estava realizando o LNK Remote Code, conforme mostrado na figura abaixo.
  • Por fim, para encerrar o processo de varredura na interface de rede, basta pressionar a combinação de teclas Ctrl+C para interromper o programa.

Figura 30: Detecção e alerta ao monitorar o tráfego de rede

  • Após a varredura, na pasta do programa de monitoramento, será criada a pasta packet, onde ficam os arquivos convertidos para CSV após a captura com pyshark, e o arquivo log.txt, que registra as atividades detectadas durante a execução do programa de monitoramento.
  • Além disso, são gerados dois arquivos temporários usados pelo programa para leitura, análise e conversão; esses dois arquivos mudam com frequência, por isso os pacotes convertidos são salvos na pasta packet.
  • Já o arquivo sample-detect.csv, como mencionado acima, armazena as assinaturas que analisamos para que o programa detecte ameaças usando o método de Static Analysis, comumente empregado por ferramentas antivírus.

Figura 31: Pasta do programa de monitoramento da CVE-2017-8464

Figura 32: Pasta packet com os arquivos que registram os pacotes após cada conversão durante a captura

  • Em seguida, verifique o arquivo log.txt para revisar as atividades recentes e ver se algo foi detectado. As detecções de ataques baseados na CVE-2017-8464 também foram registradas no log com hora específica e IP correspondente, como no aviso exibido durante a execução do programa.

Figura 33: Todos os alertas salvos no log

CONCLUSÃO

Por meio do processo de exploração e construção do programa de detecção da vulnerabilidade CVE-2017-8464, os estudantes entendem como explorar uma vulnerabilidade e, a partir disso, analisam a assinatura e os comportamentos do malware associado à vulnerabilidade. Essa análise de comportamento e de assinatura permite que os estudantes desenvolvam seus próprios programas para coletar, analisar e processar automaticamente informações de monitoramento de segurança de rede, gerando alertas de detecção de malware.

Baixar ferramenta