rahzu@localhost:~$ cat research/wsddntf/README
wsddntf
a plataforma de segurança bancária Warsaw, exigida pelos maiores bancos do brasil para acesso ao internet banking, instala em cada máquina um driver de rede: o wsddntf.sys. em agosto de 2026 encontrei e validei em laboratório próprio uma classe crítica de vulnerabilidades nesse driver. a interface de controle do driver responde a qualquer processo do sistema, sem verificar quem chama. combinadas, as falhas permitem que um programa comum, sem privilégios e sem interação do usuário, leia e escreva livremente na memória do kernel do Windows. um segundo defeito, no caminho de recepção de pacotes, permite derrubar a rede da máquina remotamente.
the Warsaw banking security platform, required by brazil's largest banks before granting internet banking access, installs a network driver on every machine: wsddntf.sys. in august 2026 i found and validated in my own laboratory a critical vulnerability class in this driver: its control interface answers any process on the system without verifying the caller. composed, the flaws allow an ordinary program, with no privileges and no user interaction, to read and write the Windows kernel at will. a second defect in the packet receive path allows the machine's network service to be taken down remotely.
demos
as quatro demos foram gravadas em laboratório próprio e controlado. por motivos óbvios, nenhum sistema bancário real foi usado na produção desse material. o cenário de banco é uma simulação e roda em uma rede isolada, montada exclusivamente para isso. a elevação local de privilégios é o vetor central, e é por isso que ela abre a série. uma vez que um processo comum passa a ter todos os privilégios do sistema, os outros cenários (ler dados de sessão, desligar a autoproteção, persistir) deixam de ser teoria. a partir dessa elevação, é possível ganhar acesso kernel a partir de medium-IL alterando apenas o token do EPROCESS no pool (e todas as implicações que isso possibilita).
as duas demos de rede vão por conta própria para simular ataques em rede local: sozinhas expõem o tráfego da vítima e, combinadas, possibilitam outros diversos vetores de ataques como o redirecionamento silencioso de um domínio bancário para outras páginas (um clone, como demonstrado na demo).
the four demos were recorded in my own controlled laboratory. for obvious reasons, no real banking system was used in producing this material. the banking scenario is a simulation and runs on an isolated network built exclusively for it. local privilege escalation is the central vector, and that is why it opens the series. once an ordinary process holds every privilege on the system, the other scenarios (reading session data, switching off self-protection, persisting) stop being theory. from this escalation, kernel access can be gained from medium-IL by changing only the EPROCESS token in the pool (and every implication that enables).
the two network demos stand on their own to simulate local network attacks: alone they expose the victim's traffic and, combined, they enable several other attack vectors such as silently redirecting a banking domain to other pages (a clone, as shown in the demo).
- elevação local de privilégios um processo comum, sem privilégios, termina com todos os privilégios definidos pelo Windows, incluindo SeTcbPrivilege. demonstrado em versões atuais do Windows, totalmente atualizadas.
- autoproteção neutralizadaimportante a elevação aplicada contra o componente que vigia o sistema: o encerramento de um processo protegido, recusado antes da cadeia, é aceito depois dela. o vídeo também detalha o próprio driver: assinatura Authenticode válida, vínculo NDIS ativo, serviço em execução.
- espionagem de tráfego sem privilégios, o processo lê o tráfego de rede da outra sessão da máquina: consultas DNS em claro, nomes de servidor TLS (SNI), destinos e tempos.
- injeção de frames frames forjados entram na pilha de rede da vítima: uma resposta DNS desviada leva o navegador do outro usuário a um endereço escolhido pelo processo.
infra
nos vídeos, dois usuários dividem a mesma máquina: a é o atacante, uma conta comum em medium-IL, o ponto de partida de qualquer código que já execute na máquina; b é a vítima, que apenas usa o computador, navega e resolve domínios. nada do que a faz pede senha, consentimento ou qualquer interação de b.
as gravações foram feitas em instâncias EC2 com versões atuais do Windows, totalmente atualizadas. a escolha da nuvem não é estética: pesquisa de driver é feita de boots e BSODs constantes, e poder subir uma máquina limpa em minutos, acessar por RDP a partir da minha estação Debian e destruir tudo ao final torna o processo suportável. um segundo host Linux, na mesma rede isolada, serve o banco fictício e o DNS de apoio das demos de rede.
in the videos, two users share the same machine: a is the attacker, an ordinary account at medium-IL, the starting point of any code already executing on the machine; b is the victim, who just uses the computer, browses and resolves domains. nothing a does asks for a password, consent or any interaction from b.
the recordings were made on EC2 instances running current, fully updated Windows builds. choosing the cloud is not aesthetics: driver research is made of constant reboots and BSODs, and being able to bring up a clean machine in minutes, reach it over RDP from my Debian workstation and destroy everything at the end makes the process bearable. a second Linux host, on the same isolated network, serves the fictitious bank and the support DNS used in the network demos.

identidade do artefato analisado: hash, formato e tamanho do binário.

a linhagem aparece no próprio binário: o device exposto e a string do fabricante.

o ponto onde o device é criado, em disassembly: o descritor de segurança vai vazio. é por isso que qualquer processo do sistema abre o canal de controle.

a captura em funcionamento: consultas DNS e nomes TLS da outra sessão, em tempo real.
nenhum código de exploração, offset ou passo de reprodução é publicado aqui. o artigo técnico completo será liberado após a janela de divulgação coordenada. pesquisa e autoria: Rafael Brito de Souza.