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
ioctlance — Uma ferramenta usada para caçar vulnerabilidades em drivers WDM x64 | Kitploit
Ferramentas/GitHubGitHub/zeze-zeze/ioctlance
Análise EstáticaAnálise Dinâmica (Sandboxing)Frameworks de ExploraçãoAnálise de VulnerabilidadesEngenharia ReversaFuzzingAnálise de Binários
GitHubzeze-zeze/ioctlance

ioctlance

Uma ferramenta usada para caçar vulnerabilidades em drivers WDM x64

Ver Repositório
46955há 2 mesesRevisado 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

IOCTLance

Descrição

Apresentado no CODE BLUE 2023, este projeto intitulado Enhanced Vulnerability Hunting in WDM Drivers with Symbolic Execution and Taint Analysis apresenta o IOCTLance, uma ferramenta que melhora sua capacidade de detectar vários tipos de vulnerabilidades em drivers do Modelo de Driver do Windows (WDM). Em uma avaliação abrangente envolvendo 104 drivers WDM vulneráveis conhecidos e 328 desconhecidos, o IOCTLance revelou com sucesso 117 vulnerabilidades anteriormente não identificadas em 26 drivers distintos. Como resultado, 41 CVEs foram relatados, abrangendo 25 casos de negação de serviço, 5 instâncias de controle de acesso insuficiente e 11 exemplos de elevação de privilégio.

Funcionalidades

Tipos de Vulnerabilidade Alvo

  • mapear memória física
  • identificador de processo controlável
  • estouro de buffer
  • desreferência de ponteiro nulo
  • endereço controlável de leitura/escrita
  • execução arbitrária de shellcode
  • wrmsr arbitrário
  • out arbitrário
  • operação de arquivo perigosa
  • término arbitrário de processo
  • fechar identificador controlável em contexto de processo diferente

Personalizações Opcionais

  • limite de comprimento
  • limite de loop
  • tempo limite total
  • tempo limite de IoControlCode
  • recursão
  • simbolizar seção de dados

Compilação

Docker (Recomendado)

root@kitploit:~
docker build .
docker run -it <IOCTLance IMAGE ID> bash

Local

root@kitploit:~
dpkg --add-architecture i386
apt-get update
apt-get install git build-essential python3 python3-pip python3-dev htop vim sudo \
                openjdk-8-jdk zlib1g:i386 libtinfo5:i386 libstdc++6:i386 libgcc1:i386 \
                libc6:i386 libssl-dev nasm binutils-multiarch qtdeclarative5-dev libpixman-1-dev \
                libglib2.0-dev debian-archive-keyring debootstrap libtool libreadline-dev cmake \
                libffi-dev libxslt1-dev libxml2-dev

pip install angr==9.2.18 ipython==8.5.0 ipdb==0.13.9

Análise

root@kitploit:~
# python3 analysis/ioctlance.py -h
usage: ioctlance.py [-h] [-i IOCTLCODE] [-T TOTAL_TIMEOUT] [-t TIMEOUT] [-l LENGTH] [-b BOUND]
                    [-g GLOBAL_VAR] [-a ADDRESS] [-e EXCLUDE] [-o] [-r] [-c] [-d]
                    path

positional arguments:
  path                  dir (including subdirectory) or file path to the driver(s) to analyze

optional arguments:
  -h, --help            show this help message and exit
  -i IOCTLCODE, --ioctlcode IOCTLCODE
                        analyze specified IoControlCode (e.g. 22201c)
  -T TOTAL_TIMEOUT, --total_timeout TOTAL_TIMEOUT
                        total timeout for the whole symbolic execution (default 1200, 0 to unlimited)
  -t TIMEOUT, --timeout TIMEOUT
                        timeout for analyze each IoControlCode (default 40, 0 to unlimited)
  -l LENGTH, --length LENGTH
                        the limit of number of instructions for technique LengthLimiter (default 0, 0
                        to unlimited)
  -b BOUND, --bound BOUND
                        the bound for technique LoopSeer (default 0, 0 to unlimited)
  -g GLOBAL_VAR, --global_var GLOBAL_VAR
                        symbolize how many bytes in .data section (default 0 hex)
  -a ADDRESS, --address ADDRESS
                        address of ioctl handler to directly start hunting with blank state (e.g.
                        140005c20)
  -e EXCLUDE, --exclude EXCLUDE
                        exclude function address split with , (e.g. 140005c20,140006c20)
  -o, --overwrite       overwrite x.sys.json if x.sys has been analyzed (default False)
  -r, --recursion       do not kill state if detecting recursion (default False)
  -c, --complete        get complete base state (default False)
  -d, --debug           print debug info while analyzing (default False)

Avaliação

root@kitploit:~
# python3 evaluation/statistics.py -h
usage: statistics.py [-h] [-w] path

positional arguments:
  path        target dir or file path

optional arguments:
  -h, --help  show this help message and exit
  -w, --wdm   copy the wdm drivers into <path>/wdm

Teste

  1. Compile os exemplos de teste em test para gerar arquivos de driver de teste.
  2. Execute o IOCTLance contra os arquivos de driver.

Referência

  • ucsb-seclab/popkorn-artifact
  • eclypsium/Screwed-Drivers
  • koutto/ioctlbf
  • Living Off The Land Drivers
Baixar ferramenta