Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
SwishDbgExt — Estensione di debug per Incident Response e Digital Forensics | Kitploit
Strumenti/GitHubGitHub/magnetforensics/swishdbgext
Memory ForensicsReverse EngineeringDebuggerAnalisi MalwareDigital ForensicsRisposta agli Incidenti
GitHubmagnetforensics/swishdbgext

SwishDbgExt

Estensione di debug per Incident Response e Digital Forensics

Vedi Repository
40197637 anni faRevisionato da Kitploit

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 →
Sito web
Condividi

#SwishDbgExt

SwishDbgExt è un'estensione di debug per Microsoft WinDbg che espande l'insieme dei comandi disponibili di Microsoft WinDbg, ma corregge e migliora anche i comandi esistenti. Questa estensione è stata sviluppata da Matt Suiche (@msuiche) – sentiti libero di contattarci a [email protected] per richiedere ulteriori funzionalità, offrire il tuo contributo e/o segnalare bug.

SwishDbgExt mira a semplificare la vita degli sviluppatori kernel, dei risolutori di problemi e degli esperti di sicurezza con una serie di comandi per debug, risposta agli incidenti e analisi forense della memoria. Poiché SwishDbgExt è un'estensione di debug per WinDbg, può essere utilizzata in sessioni di debug del kernel locali o remote, sessioni live generate da Microsoft LiveKd, ma anche su dump di crash Microsoft generati da un Blue Screen of Death o utility ibride come Comae DumpIt.

Concorso 2016

Maggiori informazioni su https://blog.comae.io/comae-2016-contest-swishdbgext-features-3c9a63c62209#.tnt1b9usx

Installazione

Puoi copiare l'estensione WinDbg nella cartella WinDbg corrispondente (x86 o x64) oppure caricarla manualmente usando il comando !load come mostrato di seguito. Nota che non possono esserci spazi o virgolette nel percorso completo della DLL da caricare. !load X:\FullPath\SwishDbgExt.dll

Esempio:

kd> !load E:\projects\labs\SwishDbgExt\bin\x64\SwishDbgExt.dll;
       SwishDbgExt v0.7.0 (Nov  2 2016) - Incident Response & Digital Forensics Debugging Extension
       SwishDbgExt Copyright (C) 2016 Comae Technologies FZE - http://www.comae.io
       SwishDbgExt Copyright (C) 2014-2016 Matthieu Suiche (@msuiche)

       This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
       This is free software, and you are welcome to redistribute it
       under certain conditions; type `show c' for details.

Se desideri aggiornare il tuo template WinDbg con un template più adatto a DML, puoi importare direttamente il file windbg_template.reg allegato al pacchetto.

TODO

  • Definire le strutture
  • Definire i comandi
  • Annunciare il concorso di funzionalità.

Comandi

!SwishDbgExt.help

Mostra informazioni sui comandi dell'estensione disponibili.

Questo comando fornisce l'elenco di tutti i comandi se non viene specificato alcun argomento, oppure l'elenco dei parametri per un comando esistente se specificato come argomento.

!ms_callbacks

Mostra le funzioni callback

!ms_checkcodecave

Cerca i code cave utilizzati

!ms_consoles

Mostra la cronologia dei comandi della console

!ms_credentials

Mostra le credenziali dell'utente (basato su mimikatz di gentilwiki)

!ms_drivers

Mostra l'elenco dei driver. !ms_drivers mostra un elenco dei driver attualmente caricati. In questo esempio, ecco alcuni dei driver caricati al momento del crash in questo dump del kernel: Con questo comando possiamo anche visualizzare informazioni approfondite sugli IRP relative a un driver: Nell'immagine sopra possiamo vedere la posizione dello stack I/O specifica del driver all'interno dell'IRP di e1cexpress.sys. Qui possiamo vedere codici di funzione come IRP_MJ_CREATE che apre l'oggetto dispositivo di destinazione, indicando che è presente e disponibile per operazioni I/O.

!ms_dump

Scarica lo spazio di memoria su disco

!ms_exqueue

Mostra i worker in coda Ex.

!exqueue non funziona correttamente su Windows 8, quindi è stata implementata una versione funzionante. Proprio come il comando originale, questo mostra la coda dei thread di lavoro.

!ms_fixit

Reimposta la segmentazione in WinDbg (Ripara "16.kd>")

!ms_gdt

Mostra la GDT.

!ms_gdt mostra la Global Descriptor Table. Nota che su x64 ogni selettore è piatto (0x0000000000000000 a 0xFFFFFFFFFFFFFFFF). Questo comando può essere molto utile per verificare eventuali sospetti hook della GDT, poiché tentare di farlo su x64 provocherà un bug check. Questo perché x64 vieta l'hooking della GDT.

!ms_hivelist

Mostra l'elenco degli hive del registro.

ms_hivelist mostra un elenco degli hive del registro. Possiamo esaminare direttamente un hive (ad esempio \Registry\Machine\Software) per vedere le sue sottochiavi, valori, ecc.:

Testo alternativo

!ms_idt

Mostra la IDT.

!ms_idt mostra la tabella dei descrittori di interrupt. Molto simile alla GDT, se la IDT viene hookata su un sistema x64, provocherà un bug check. Questo è dovuto al fatto che Microsoft ha implementato (a livello di codice) una prevenzione dell'hooking della IDT con un driver in modalità kernel che normalmente intercetterebbe le chiamate alla IDT e poi aggiungerebbe la propria elaborazione. Ecco perché nell'immagine sopra, per quanto si veda, c'è 'No'.

!ms_malscore

Analizza uno spazio di memoria e restituisce un Malware Score Index (MSI) - (basato sul lavoro di Frank Boldewin)

!ms_mbr

Scansiona il Master Boot Record (MBR)

!ms_netstat

Mostra informazioni di rete (socket, connessioni, ...)

!ms_object

Mostra l'elenco degli oggetti

!ms_process

Mostra l'elenco dei processi. !ms_process è una versione migliorata di !process e !dml_proc. Una delle cose interessanti, come puoi notare qui sotto, è l'uso di DML (Debugger Markup Language) con i comandi. Tutti i comandi sottolineati sono in realtà collegamenti a comandi. Ad esempio qui sotto, puoi vedere l'output di /vads /scan, per scansionare i VAD (Virtual Address Descriptors). Puoi notare che una colonna mostra il "Malware Score Index" che può essere utile per rilevare shellcode o heap-spray. Nello screenshot qui sotto, puoi vedere un punteggio anormalmente alto in diversi VAD – a causa dell'uso di heap spray. Basta cliccare sul punteggio per eseguire l'algoritmo di scansione. L'algoritmo di scansione è basato sull'utility OfficeMalScanner di Frank Boldewin. E restituisce informazioni su dove si trova lo shellcode: L'opzione /scan può essere utilizzata anche sulle funzioni esportate per sapere se l'EAT (Export Address Table) è stata patchata o se il prologo della funzione è stato modificato.

Test simili sono disponibili per la SSDT (!ms_ssdt).

!ms_readkcb

Legge un key control block

!ms_readknode

Legge un key node. Il comando WinDbg !reg è stato a lungo fonte di frustrazione a causa di alcuni bug. Ecco perché SwishDbgExt ha proprie funzioni di esplorazione del registro per rendere l'accesso ai dati del registro il più semplice possibile.

!ms_readkvalue

Legge un key value

!ms_scanndishook

Scansiona e mostra gli hook NDIS sospetti

!ms_services

Mostra l'elenco dei servizi

!ms_ssdt

Mostra le funzioni della System Service Descriptor Table (SDT). !ms_ssdt mostra la System Service Dispatch Table. Questo comando è estremamente utile nell'investigazione di sospetti hook di rootkit attraverso ciò che è noto come Direct Kernel Object Manipulation (DKOM). Se vedi una routine di basso livello hookata qui (come nt!NtEnumerateKey), questo può aiutarti nell'analisi di una possibile infezione da rootkit.

!ms_store

Mostra informazioni relative allo Store Manager (ReadyBoost).

Il presente comando permette di elencare la cache ReadyBoost corrente (richiede USB 3.0) utilizzata dal sistema operativo, ma anche di visualizzare i log delle pagine di memoria gestite dallo store manager. Parametro: /cache

!ms_timers

Mostra l'elenco dei KTIMER.

!ms_timers mostra la struttura KTIMER, che è una struttura opaca che rappresenta e contiene vari oggetti timer. Questo comando può essere utile per capire quali driver hanno creato quali oggetti timer, quali driver hanno chiamato quali routine, ecc.

!ms_vacbs

Mostra l'elenco dei VACB in cache

!ms_verbose

Attiva/disattiva la modalità verbose

Scarica lo strumento