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
cve-2019-6260 | Kitploit
Ferramentas/GitHubGitHub/nikitapbst/cve-2019-6260
Segurança de Sistemas EmbarcadosAnálise de VulnerabilidadesExploraçãoHacking de HardwareTestes de PenetraçãoSegurança de HardwareAnálise de BináriosAnálise de Firmware
GitHubnikitapbst/cve-2019-6260

cve-2019-6260

Ver Repositório
61há 5 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

Uma Ferramenta de Teste e Depuração para Interfaces AHB de BMC ASPEED

Aviso

NÃO USE ESTA FERRAMENTA SE VOCÊ NÃO COMPREENDEU SEUS COMPORTAMENTOS NO CONTEXTO DA SUA MÁQUINA ALVO.

Esta ferramenta manipula interfaces de hardware e firmware de baixo nível da sua máquina. Particularmente, o ato de sondar implica incerteza sobre as consequências se o dispositivo alvo não for o dispositivo que esperávamos encontrar.

O uso desta ferramenta pode levar a instabilidade, travamentos ou falhas críticas da máquina alvo.

Introdução

Os BMCs ASPEED possuem vários modos implícitos de operação:

  1. Desenvolvimento: inicialização (bring-up) de firmware do BMC / host
  2. IO-Expander: O BMC não executa um firmware dedicado
  3. Provisionado: O BMC executa um firmware dedicado

Para atender aos modos 1 e 2, o BMC expõe recursos em várias de suas interfaces escravas que permitem ao host acessar o BMC e realizar operações arbitrárias no seu espaço de endereçamento físico.

As interfaces significativas estão ligadas aos barramentos PCIe e LPC, pois qualquer um deles pode não estar conectado à CPU do host em um determinado projeto de plataforma.

O modo 3 também é tipicamente usado, mas para os AST2400 e AST2500s o hardware é configurado para os modos 1 e 2 no boot a frio. Assim, cabe aos desenvolvedores de firmware do BMC garantir que todas as interfaces estejam seguras se desejarem manter a confidencialidade, integridade e disponibilidade dos dados em repouso e dos ambientes de tempo de execução do BMC.

Interfaces

  • PCIe VGA P2A: uma interface MMIO PCIe que fornece acesso AHB arbitrário através de uma janela deslizante de 64kiB

    • Filtros de escrita podem ser configurados na SCU para proteger a integridade de regiões AHB de granularidade grossa. Por padrão, os filtros de escrita não estão habilitados (todas as regiões AHB são graváveis).
  • iLPC2AHB: um dispositivo lógico SuperIO que fornece acesso AHB arbitrário

    • Um filtro de escrita que cobre todo o AHB é exposto no controlador LPC. Por padrão, o filtro de escrita não está habilitado (o AHB é gravável).
  • Debug UART: um shell de depuração UART fornecido por hardware com acesso AHB arbitrário

    • Disponível em uma das UART1 ou UART5
  • X-DMA: acesso arbitrário ao barramento M-Bus

  • Dispositivo PCIe BMC: uma coleção de interfaces MMIO PCIe fixas que fornecem acesso AHB restrito através de janelas de 4kiB

  • LPC2AHB: um mapeamento controlado pelo BMC de ciclos LPC FW no AHB

Recursos da Ferramenta

  • Atualmente suporta o uso das interfaces P2A, iLPC2AHB, LPC2AHB e Debug UART

  • Sonda a disponibilidade de todas as interfaces através de qualquer interface disponível

    • Opcionalmente, pode definir o status de saída com base em requisitos de confidencialidade e integridade. Ideal para integração em suítes de teste de segurança de plataforma.
  • Console BMC in-band a partir do host

  • Regrava ou despeja (dump) o firmware de um BMC em execução a partir do host

    • A CPU do BMC tem o clock desabilitado (clock-gated) imediatamente antes de iniciar as operações de flash, e reabilitado imediatamente antes de um reset do SoC após a conclusão das operações de flash.
  • Lê e escreve a RAM do BMC

  • Também suporta a interface Linux /dev/mem para execução no próprio BMC

Compilação

A ferramenta compila para múltiplas arquiteturas, e pelo menos as seguintes foram testadas:

  • x86_64
  • powerpc64, powerpc64le
  • armv6

Compilar é uma questão de executar make, enquanto a compilação cruzada é realizada definindo CROSS_COMPILE no ambiente do make, por exemplo:

root@kitploit:~
$ make CROSS_COMPILE=powerpc64le-linux-gnu-

Execução e Exemplo de Saída

root@kitploit:~
$ ./doit
Not enough arguments
Usage:

./doit probe [INTERFACE [IP PORT USERNAME PASSWORD]]
./doit ilpc read ADDRESS
./doit ilpc write ADDRESS VALUE
./doit p2a vga read ADDRESS
./doit p2a vga write ADDRESS VALUE
./doit debug read ADDRESS INTERFACE [IP PORT USERNAME PASSWORD]
./doit debug write ADDRESS VALUE INTERFACE [IP PORT USERNAME PASSWORD]
./doit devmem read ADDRESS
./doit devmem write ADDRESS VALUE
./doit console HOST_UART BMC_UART BAUD USER PASSWORD
./doit read firmware
./doit read ram
./doit write firmware
./doit replace ram MATCH REPLACE
./doit reset TYPE [INTERFACE [IP PORT USERNAME PASSWORD]]
./doit sfc fmc read ADDRESS LENGTH [INTERFACE [IP PORT USERNAME PASSWORD]]
./doit sfc fmc erase ADDRESS LENGTH [INTERFACE [IP PORT USERNAME PASSWORD]]
./doit sfc fmc write ADDRESS LENGTH [INTERFACE [IP PORT USERNAME PASSWORD]]
root@kitploit:~
$ ./doit probe --require confidentiality digi,portserver-ts-16 <IP> <PORT> <USER> <PASSWORD>
Connecting to Digi Portserver TS 16 at <IP>:23
Logging into Digi Portserver TS
Configuring binary mode on port 4
Resetting port 4
Connecting to BMC console at <IP>:2104
Entering debug mode
Initialised Debug UART AHB interface
Performing interface discovery via Debug UART
Exiting debug mode
Have SuperIO: Yes
iLPC2AHB Bridge: Read-only
Have VGA PCIe device: Yes
Have MMIO on VGA device: Yes
P2A write filter state:
0x00000000-0x0fffffff (Firmware): Read-write
0x10000000-0x1fffffff (SoC IO): Read-write
0x20000000-0x3fffffff (Flashes): Read-write
0x40000000-0x5fffffff (Reserved): Read-write
0x60000000-0x7fffffff (LPC Host): Read-write
0x80000000-0xffffffff (DRAM): Read-write
Have X-DMA on VGA device: Yes
Have BMC PCIe device: No
X-DMA is unconstrained: No
Have debug UART: Yes
Debug UART enabled on: UART5
$ echo $?
1
$
Baixar ferramenta