Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2019-6260 — Strumento di debug hardware di basso livello e valutazione della sicurezza per le interfacce AHB ASPEED BMC. Sonda le interfacce PCIe, LPC e UART per leggere/scrivere firmware, RAM e memoria BMC per test di sicurezza della piattaforma. | Kitploit
Strumenti/GitHubGitHub/nikitapbst/cve-2019-6260
Sicurezza Sistemi EmbeddedAnalisi delle VulnerabilitàExploitHacking HardwarePenetration TestingSicurezza HardwareAnalisi di BinariAnalisi del Firmware
GitHubnikitapbst/cve-2019-6260

cve-2019-6260

Strumento di debug hardware di basso livello e valutazione della sicurezza per le interfacce AHB ASPEED BMC. Sonda le interfacce PCIe, LPC e UART per leggere/scrivere firmware, RAM e memoria BMC per test di sicurezza della piattaforma.

6155 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository

Uno strumento di test e debug per le interfacce AHB dei BMC ASPEED

Avvertenza

NON USARE QUESTO STRUMENTO SE NON HAI COMPRESO I SUOI COMPORTAMENTI NEL CONTESTO DELLA TUA MACCHINA TARGET.

Questo strumento interviene su interfacce hardware e firmware di basso livello della tua macchina. In particolare, l'atto di sondare implica incertezza sulle conseguenze se il dispositivo target non è il dispositivo che ci aspettavamo di trovare.

L'uso di questo strumento può causare instabilità, crash o guasti critici della macchina target.

Introduzione

I BMC ASPEED hanno diverse modalità di funzionamento implicite:

  1. Sviluppo: avvio del firmware BMC/host
  2. IO-Expander: il BMC non esegue un firmware dedicato
  3. Provisionato: il BMC esegue un firmware dedicato

Per supportare 1 e 2, il BMC espone funzionalità su diverse delle sue interfacce slave che consentono all'host di accedere al BMC ed eseguire operazioni arbitrarie nel suo spazio di indirizzi fisico.

Le interfacce principali sono collegate sia al bus PCIe sia al bus LPC, poiché uno dei due potrebbe non essere collegato alla CPU host in un dato progetto di piattaforma.

Anche la modalità 3 è tipicamente usata, ma per gli AST2400 e gli AST2500 l'hardware è configurato per le modalità 1 e 2 all'avvio a freddo. Pertanto, l'onere ricade sugli sviluppatori di firmware BMC per garantire che tutte le interfacce siano protette se desiderano mantenere riservatezza, integrità e disponibilità dei dati a riposo del BMC e degli ambienti di esecuzione.

Interfacce

  • PCIe VGA P2A: un'interfaccia MMIO PCIe che fornisce un accesso AHB arbitrario tramite una finestra scorrevole da 64kiB

    • I filtri di scrittura possono essere configurati nell'SCU per proteggere l'integrità delle regioni AHB a grana grossa. Per impostazione predefinita i filtri di scrittura non sono abilitati (tutte le regioni AHB sono scrivibili).
  • iLPC2AHB: un dispositivo logico SuperIO che fornisce accesso AHB arbitrario

    • Nel controller LPC è esposto un filtro di scrittura che copre l'intero AHB. Per impostazione predefinita il filtro di scrittura non è abilitato (AHB è scrivibile).
  • Debug UART: una shell di debug UART fornita dall'hardware con accesso AHB arbitrario

    • Disponibile su UART1 oppure UART5
  • X-DMA: accesso arbitrario al M-Bus

  • Dispositivo PCIe BMC: un insieme di interfacce MMIO PCIe fisse che forniscono accesso AHB limitato tramite finestre da 4kiB

  • LPC2AHB: un mapping controllato dal BMC dei cicli LPC FW sull'AHB

Caratteristiche dello strumento

  • Supporta attualmente l'uso delle interfacce P2A, iLPC2AHB, LPC2AHB e Debug UART

  • Sonda la disponibilità di tutte le interfacce tramite qualunque interfaccia disponibile

    • Può opzionalmente impostare lo stato di uscita in base ai requisiti di riservatezza e integrità. Ideale per l'integrazione in suite di test di sicurezza per piattaforme.
  • Console BMC in-band dall'host

  • Riflashare o dumpare il firmware di un BMC in esecuzione dall'host

    • La CPU del BMC viene sottoposta a clock gating immediatamente prima di iniziare le operazioni di flash, e il gating viene rimosso immediatamente prima di un reset del SoC successivo al completamento delle operazioni di flash.
  • Leggere e scrivere la RAM del BMC

  • Supporta anche l'interfaccia Linux /dev/mem per l'esecuzione sul BMC stesso

Compilazione

Lo strumento compila per più architetture e almeno le seguenti sono state testate:

  • x86_64
  • powerpc64, powerpc64le
  • armv6

Per compilare è sufficiente eseguire make, mentre la compilazione incrociata si esegue impostando CROSS_COMPILE nell'ambiente di make, ad esempio:

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

Esecuzione e output di esempio

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
$
Scarica lo strumento