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
acCOMplice — Strumenti per l'individuazione e l'abuso dei COM hijack | Kitploit
Strumenti/GitHubGitHub/nccgroup/accomplice
Meccanismi di PersistenzaPost-ExploitRed TeamingSviluppo Payload
GitHubnccgroup/accomplice

acCOMplice

Strumenti per l'individuazione e l'abuso dei COM hijack

Vedi Repository
339516 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 →
Condividi

acCOMplice

Il tuo complice per il COM hijacking

Autore: David Tulis (@kafkaesqu3)

Panoramica

Questo repository contiene esempi di codice e proof-of-concept per esplorare il COM hijacking. Il COM hijacking è una tecnica di post-exploitation di Windows che può essere utilizzata per la persistenza o l'evasione della difesa.

Per maggiori informazioni sull'interfaccia COM, su come trovare gli hijack e sulle tecniche per abusarne, fare riferimento alla presentazione tenuta al Derbycon 9, COM Hijacking Techniques.

  • Slide: https://www.slideshare.net/DavidTulis1/com-hijacking-techniques-derbycon-2019
  • Presentazione: https://www.youtube.com/watch?v=pH14BvUiTLY

Progetto

  • COMHijackToolkit: Script Powershell contenente script di supporto per gestire gli hijack COM. Punti salienti:
    • Extract-HijackableKeysFromProcmonCSV: analizza un export CSV di Procmon per gli oggetti dirottabili
    • Hijack-CLSID: dirotta un CLSID con una DLL specificata
    • Hijack-MultipleKeys: dirotta più CLSID contemporaneamente con una DLL specificata. Utile per trovare CLSID che vengono attivati spesso
  • InjectionTemplates: 3 template dimostrati alla presentazione di Derbycon
    • Creare un nuovo processo con CreateProcess
    • Iniettare in un processo esistente con CreateRemoteThread
    • Misurare la durata dei thread nel processo corrente usando CreateThread
  • COMinject: Proof of concept che dimostra come gli hijack COM possano essere usati per effettuare iniezioni/migrazioni di processi
  • masterkeys.csv: Alcune chiavi con cui giocare
  • procmon-filters: Filtri per Procmon per aiutare nell'identificazione e nello sfruttamento degli hijack

Esempi

COMHijackToolkit

Script Powershell contenente script di supporto per gestire gli hijack COM. Punti salienti:

Mostra tutti i CLSID degli oggetti COM e la posizione dell'implementazione su disco

root@kitploit:~
$keys = Get-CLSIDRegistryKeys -RegHive HKCR
$results = $keys | % {$guid = Extract-GUIDFromText $_; Map-GUIDToDLL -guid $guid 2> $null }

Esegui un censimento dei CLSID su un sistema

root@kitploit:~
$HKCR_keys = Get-CLSIDRegistryKeys -RegHive HKCR
$HKCR_keys | where-object {$_ -like "*inprocserver"} | Measure-Object
$HKCR_keys | where-object {$_ -like "*inprocserver32"} | Measure-Object
$HKCR_keys | where-object {$_ -like "*localserver"} | Measure-Object
$HKCR_keys | where-object {$_ -like "*localserver32"} | Measure-Object

$HKLM_keys = Get-CLSIDRegistryKeys -RegHive HKLM
$HKLM_keys | Measure-Object
$HKCU_keys = Get-CLSIDRegistryKeys -RegHive HKCU
$HKCU_keys | Measure-Object
root@kitploit:~
explorer:{69486DD6-C19F-42e8-B508-A53F9F8E67B8}
explorer:{9E175B6D-F52A-11D8-B9A5-505054503030}
explorer:{30CC9D06-7E62-4966-9777-BC3442E788BD}
explorer:{3eef301f-b596-4c0b-bd92-013beafce793}
explorer:{682159d9-c321-47ca-b3f1-30e36b2ec8b9}
explorer:{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
explorer:{9aa46009-3ce0-458a-a354-715610a075e6}
explorer:{9BA05972-F6A8-11CF-A442-00A0C90A8F39}
explorer:{AC36A05C-FB95-4C7A-868C-A43CC8D2D926}
explorer:{B52D54BB-4818-4EB9-AA80-F9EACD371DF8}
explorer:{c2f03a33-21f5-47fa-b4bb-156362a2f239}

Trova i CLSID che fanno riferimento a una DLL inesistente sul sistema:

root@kitploit:~
Find-MissingLibraries

InjectionTemplates

3 template proof-of-concept per l'abuso degli hijack COM, come dimostrato nella presentazione al Derbycon 9:

  • HijackDLL-Process: Crea un nuovo processo quando la DLL viene caricata
  • HijackDLL-CreateRemoteThread: Esegue la tecnica di iniezione dei thread usando la chiamata API CreateRemoteThread quando la DLL viene caricata
  • HijackDLL-Threads: Utile per misurare la durata dei thread avviati nella DLL dopo un hijack

COMinject

Proof of concept per mostrare come il COM hijacking possa essere usato per le iniezioni di processi:

  • COMInjectDotNet: Client proof-of-concept che inietta una DLL in un processo supportato tramite COM hijack
  • COMInjectTarget: La libreria di destinazione da iniettare in un processo

Il primo passo è eseguire l'hijack:

root@kitploit:~
COMInjectDotNet.exe chrome.exe C:\COM\COMInjectTarget.dll

L'hijack non si attiva immediatamente e potrebbe richiedere l'avvio dell'applicazione (se non è in esecuzione) o alcune azioni di base sull'applicazione. Probabilmente esistono CLSID migliori che si attivano più spesso, ma questi sono sufficienti.

La COMInjectTarget.dll registrerà il proprio avanzamento in un file di log in C:\COM. Questo approccio sembra più stabile rispetto all'uso di qualcosa come AllocConsole da un altro processo e alla semplice stampa sulla console.

Quello che segue mostra la DLL iniettata in esecuzione all'interno del processo principale chrome.exe:

root@kitploit:~
[*] chrome pid=9104 ppid=4900 (count 0)
[*] chrome pid=9104 ppid=4900 (count 1)
[*] chrome pid=9104 ppid=4900 (count 2)
[*] chrome pid=9104 ppid=4900 (count 3)
[*] chrome pid=9104 ppid=4900 (count 4)
[*] chrome pid=9104 ppid=4900 (count 5)

I processi attualmente supportati sono:

  • explorer (predefinito)
  • chrome
  • excel
  • word
  • outlook

Riferimenti e crediti

Per saperne di più su COM e sugli hijack COM:

  • Leo Loobeek (@leoloobeek):
    • COMProxy, da cui ho preso in prestito molto codice
    • Proxying COM For Stable Hijacks
  • Matt Nelson (@enigma0x3):
    • Persistenza in userland con attività pianificate e hijacking del COM Handler
  • La serie di @bohops sugli hijack COM:
    • Abusare della struttura del registro di COM: CLSID, LocalServer32 e InprocServer32
    • Abusare della struttura del registro di COM (Parte 2): Tecniche di hijacking e caricamento
  • James Forshaw (@tiraniddo):
    • Divertirsi con COM
    • COM in 60 secondi
    • OleViewDotNet
  • Casey Smith (@subtee) + @enimga0x3:
    • Archeologia del sistema operativo Windows (slide, codice)
Scarica lo strumento