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-2022-37017 — Bypass per la password dell'interfaccia utente client di Symantec Endpoint Protection | Kitploit
Strumenti/GitHubGitHub/apeppels/cve-2022-37017
Autenticazione e AutorizzazioneEscalation di PrivilegiAnalisi delle VulnerabilitàExploitReverse EngineeringPenetration TestingBinary Exploitation
GitHubapeppels/cve-2022-37017

CVE-2022-37017

Bypass per la password dell'interfaccia utente client di Symantec Endpoint Protection

Vedi Repository
2 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

CVE-2022-37017

Bypass dell'autenticazione per la password dell'interfaccia utente del client Symantec Endpoint Protection 14.3.5351

Symantec Endpoint Protection consente di impostare una protezione tramite password sulla propria UI per impedire modifiche alla configurazione. Questo controllo della password è implementato da una logica che non risiede né in un Protected Process Light (PPL) né in un driver del kernel; modificare un valore di ritorno in memoria o patchare il binario permette a un attaccante di bypassare la password. Questo funziona anche se la protezione Tamper Protection è attiva.

Se l'attaccante può eseguire codice con privilegi di amministratore, può importare un XML di policy malevolo e/o impostazioni di connessione per la gestione centralizzata SEP. In questo modo ottiene di fatto il pieno controllo del client. Utilizzando l'importazione della policy, può aggiungere esclusioni, sbloccare opzioni dell'UI, disabilitare o cambiare la password dell'amministratore, disabilitare permanentemente la protezione e/o disinstallare il client.

Se l'attaccante non ha privilegi di amministratore, può comunque essere utilizzato per esportare informazioni di diagnostica, leggere i log e visualizzare le impostazioni del client. Su 14.0 la policy può essere esportata e la protezione tamper può essere disabilitata senza permessi di amministratore. Questo non era possibile in 14.3.5413.3000.

In 14.3.5351 il seguente codice verifica se la password corrisponde:

root@kitploit:~
.text:00438021 loc_438021:                             ; CODE XREF: sub_437FA0+73↑j
.text:00438021                 mov     ecx, offset ServiceName ; "SepMasterService"
.text:00438026                 call    sub_43DDF0
.text:0043802B                 test    eax, eax
.text:0043802D                 jnz     short loc_4380A5
.text:0043802F                 push    ecx             ; Src
.text:00438030                 lea     eax, [ebp+var_14]
.text:00438033                 mov     ecx, esp
.text:00438035                 push    eax
.text:00438036                 call    ds:??0?$CStringT@_WV?$StrTraitMFC_DLL@_WV?$ChTraitsCRT@_W@ATL@@@@@ATL@@QAE@ABV01@@Z ; ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>(ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> const &)
.text:0043803C                 call    sub_4380F0
.text:00438041                 test    al, al
.text:00438043                 jz      short loc_43804F
.text:00438045                 mov     ecx, esi
.text:00438047                 call    ds:__imp_?OnOK@CDialog@@MAEXXZ ; CDialog::OnOK(void)
.text:0043804D                 jmp     short loc_4380AD

Il salto che sembra controllare il successo di tutti i tentativi di password in SymCorpUI.exe è l'istruzione JZ mostrata a .text:00438043. Modificandolo in JNZ (istruzione 0x74 -> 0x75) si inverte il salto, permettendo l'accettazione di una password arbitraria.

Lo script Python trova la cartella di installazione di SEP, legge SymCorpUI.exe, scrive una copia patchata nella cartella accanto allo script e avvia la versione patchata nella directory di lavoro originale. Eseguirlo con privilegi e genererà una UI di SEP che accetterà qualsiasi password errata inserita.

Ora un attaccante potrebbe esportare il XML di policy sotto Help -> Troubleshooting. Questo conterrà la configurazione inclusi eventuali hash della password dell'amministratore. L'attaccante può quindi modificare il XML per cambiare qualsiasi impostazione nel client, ad esempio sostituendo l'hash della password o disabilitando il requisito della password. Questo XML di policy malevolo può poi essere reimportato usando il pulsante accanto a Export.

Lo script esegue alcuni controlli per verificare se è elevato; in caso contrario, forza l'esecuzione del binario patchato senza privilegi di amministratore. Per eseguire l'UI come amministratore, esegui lo script Python come amministratore o imposta la variabile as_admin a True.

Per evitare di dover memorizzare offset specifici per ogni build, lo script esegue una ricerca/sostituzione generale per una sequenza di istruzioni che ho trovato unica nelle tre versioni che ho testato. È possibile che una versione diversa abbia corrispondenze multiple che potrebbero rompere il PoC. In tal caso, cerca tra le corrispondenze per trovare un blocco che inizia con mov ecx, offset ServiceName ; "SepMasterService" per individuare l'istruzione JZ da patchare verso la fine.

Per testare la funzionalità della password, è possibile aggiungere quanto segue nel XML della policy (allo stesso livello di GlobalGroups) per abilitare la protezione. L'hash è un MD5 della stringa "test".

root@kitploit:~
<AdminPassword ExitNeedPassword="1" UINeedPassword="1" ImportExportNeedPassword="1" UninstallNeedPassword="1">098f6bcd4621d373cade4e832627b4f6</AdminPassword>

Symantec ha risposto rapidamente al problema, il CVE è stato registrato da loro e una correzione è stata pubblicata come 14.3 RU6.

https://support.broadcom.com/external/content/SecurityAdvisories/0/21014

Scarica lo strumento