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
stylesmuggler-ioc-toolkit — StyleSmuggler (CVE-2026-75650) toolkit IOC per Magento Open Source e Adobe Commerce. Rileva negozi compromessi, implant Rust, web shell PHP, artefatti di persistenza e indicatori noti di compromissione. | Kitploit
Strumenti/GitHubGitHub/jithinkrishnanrs/stylesmuggler-ioc-toolkit
Strumenti DifensiviGestione degli Indicatori di Compromissione (IOC)Scanner di VulnerabilitàAudit di ConfigurazioneSicurezza WebAnalisi MalwareDigital ForensicsThreat IntelligenceRilevamento Intrusioni

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 →
Risposta agli Incidenti
GitHubjithinkrishnanrs/stylesmuggler-ioc-toolkit

stylesmuggler-ioc-toolkit

StyleSmuggler (CVE-2026-75650) toolkit IOC per Magento Open Source e Adobe Commerce. Rileva negozi compromessi, implant Rust, web shell PHP, artefatti di persistenza e indicatori noti di compromissione.

Vedi Repository
14h 17m faNon ancora revisionato
Condividi

Kit IOC Toolkit StyleSmuggler — CVE-2026-75650

Zero-day Magento · Zero-day Adobe Commerce · CVE-2026-75650 · APSB26-146 · VULN-39341 · RCE non autenticato · malware Magento · rimozione backdoor Magento · vulnerabilità Magento 2.4.9 · implant Rust · iniezione stili GraphQL · web shell PHP

Indicatori di compromissione della community, uno scanner di compromissione e indicazioni di mitigazione/patch per StyleSmuggler (CVE-2026-75650) — la RCE non autenticata su Magento Open Source / Adobe Commerce divulgata da Sansec il 5 settembre 2026, con sfruttamento in natura confermato a partire dal 4 settembre 2026. Adobe ha pubblicato una correzione ufficiale, APSB26-146, il 7 settembre 2026. Se hai cercato "StyleSmuggler IOC", "CVE-2026-75650", "APSB26-146", "VULN-39341", "malware Magento fc-cache", "backdoor Magento chronyd", "gvfsd-user Magento" o "RCE GraphQL styles Magento", questo è il repository che fa per te.

Questo è esclusivamente un toolkit difensivo. Contiene firme di rilevamento, uno scanner di compromissione e regole di hardening/blocco costruite a partire da report di incidenti pubblicati e di prima mano. Non contiene codice di exploit, un trigger proof-of-concept o qualsiasi cosa che generi il payload dell'attacco. Se stai cercando quello, sei nel repository sbagliato — vai a fare patch e a cacciare minacce.

Stato al momento della stesura (2026-09-07, sera)

VulnerabilitàStyleSmuggler (nome di Sansec) — CVE-2026-75650
VendorAdobe (Magento Open Source, Adobe Commerce)
CVECVE-2026-75650, assegnata il 2026-09-07
Bollettino AdobeAPSB26-146, pubblicato il 2026-09-07 20:20 UTC, Priorità 1 (massima)
Richiesto ancheAPSB26-138 — l'aggiornamento Commerce regolare di Adobe di settembre 2026, rilasciato il 2026-09-08. Adobe dichiara che VULN-39341 deve essere applicata in aggiunta a questo, non al posto di esso.
CVSS10.0 (3.1 e 4.0) — Critica
CWECWE-1336, Neutralizzazione impropria di elementi speciali usati in un motore di template
Patch ufficialeRilasciata. Hotfix VULN-39341. La copertura non è universale — vedi la tabella sotto.
Autenticazione richiestaNessuna — non autenticato
Versioni interessateRiprodotta da Sansec su Magento Open Source pulito 2.4.7, 2.4.8, 2.4.9; la prima vittima confermata eseguiva 2.4.6-p15 completamente patchata (sulle patch precedenti)
SfruttamentoAttivo dal 2026-09-04 22:20 UTC; continuato fino al rilascio della patch; un secondo attaccante, non correlato, si è unito il 2026-09-07
Varianti note dell'implant Rust[kworker/u:8:0] (4 set) → fc-cache v2.1.4 (6 set) → chronyd v2.1.5 (7 set) — stesso operatore, stesso ID agente, versioni incrementali
Secondo attaccante, non correlatoWeb shell PHP in pub/media/catalog/product/cache/, preceduto da una sonda di ricognizione con esfiltrazione DNS — indipendente dall'implant Rust, confermato il 2026-09-07
Vettori di consegna notiParametro GraphQL styles[]; codice store non valido registrato in var/log/system.log; file caricato tramite le opzioni personalizzate del cliente di Magento; iniezione dell'header Store: del secondo attaccante non correlato
ImpattoEsecuzione di codice remoto → backdoor persistente basata su Rust, web shell PHP indipendente, raccolta di sessioni Redis, esposizione di credenziali/segreti tramite app/etc/env.php

Copertura della patch ufficiale di Adobe — controlla questo prima di presumere di essere al sicuro

ProdottoCoperto da APSB26-146Nessuna correzione ufficiale
Adobe Commerce (incl. B2B, Cloud)2.4.4 – 2.4.9sotto 2.4.4
Adobe Commerce B2B1.3.3 – 1.5.3sotto 1.3.3
Magento Open Sourcesolo 2.4.6 – 2.4.92.4.5 e precedenti

Se sei su una versione più vecchia e non supportata, Adobe non ti sta fornendo una correzione anche se sei altrettanto sfruttabile. Vedi docs/PATCHING.md per le tue opzioni.

Queste informazioni cambiano rapidamente. Verifica incrociata con le fonti primarie prima di agire: l'advisory di Sansec e il bollettino di Adobe. Vedi docs/TIMELINE.md per un registro continuo e cita le tue fonti quando aggiorni qualcosa qui.

Cos'è realmente StyleSmuggler

Il parametro GraphQL styles di Magento e il suo scanner di file basato su dependency-injection vengono abusati come una primitiva di esecuzione differita basata su file in due fasi, piuttosto che come un singolo punto di iniezione evidente:

  1. Avvelenamento. I dati controllati dall'attaccante raggiungono un file di log o di report generato da Magento (var/log/system.log tramite un codice store non valido che Magento registra testualmente, o var/report/<hash>), introdotti di nascosto tramite il parametro GraphQL styles[], un header di richiesta mutato o (per il secondo attaccante non correlato sotto) l'header Store:.
  2. Detonazione. L'attaccante attiva l'email standard di Magento "Promemoria pagamento transazione non riuscita". Il rendering di quella email (il percorso getProcessedTemplate di Magento) percorre un percorso di codice che consente allo scanner DI/codice di Magento di fare include() del file avvelenato, eseguendo il PHP dell'attaccante. Non devi aprire l'email — il rendering lato server è sufficiente — e la catena può attivarsi anche quando la consegna dell'email stessa fallisce.

Un segnale di allarme precoce facile, senza strumenti: un'email "Promemoria pagamento transazione non riuscita" illeggibile nella tua casella di posta con tag {{var ...}} grezzi e non renderizzati e un indirizzo cliente che termina in .invalid. Questo è spesso il primo segno visibile, prima che qualcuno controlli un log.

Gli aggiornamenti di Sansec hanno confermato un secondo percorso di sfruttamento indipendente per la stessa campagna con implant Rust: anche gli store che avevano spostato l'archiviazione delle sessioni da Redis al database sono stati comunque compromessi — il secondo tentativo dello stesso operatore è riuscito secondi dopo usando un file caricato tramite la funzionalità opzioni personalizzate del cliente di Magento. Spostare l'archiviazione delle sessioni non è una soluzione di per sé.

Separatamente, il 7 settembre, Sansec ha trovato un attaccante completamente non correlato che usa lo stesso identico punto di ingresso di StyleSmuggler per un payload molto più semplice: una web shell PHP lasciata nella cache delle immagini dei prodotti di Magento (pub/media/catalog/product/cache/ss_<10hex>/sync_<10hex>.php), preceduta da una sonda di ricognizione che nasconde il suo payload nell'header HTTP Store: ed esfiltra i suoi risultati tramite DNS piuttosto che una risposta HTTP. Questo è "tooling pronto all'uso", secondo Sansec — non una campagna sostenuta — ma significa che un singolo host vulnerabile può portare due intrusioni non correlate attraverso un'unica falla. Pulire l'implant Rust non significa che il tuo store sia pulito.

Anche l'implant Rust si è evoluto: la build originale che si mascherava da [kworker/u:8:0] (4 set) è stata seguita da una build v2.1.4 che si mascherava da fc-cache (6 set) che fa beaconing camuffato da traffico NTP, e poi da un redeploy v2.1.5 che si mascherava da chronyd (7 set) dello stesso implant, stesso ID agente — prova che l'attaccante sta iterando attivamente per eludere qualsiasi rilevamento tu pubblichi. Sansec dichiara di non aver ancora visto prove che questo implant sia stato armato oltre la persistenza/ricognizione — non leggerlo come rassicurazione dato il web shell funzionante dell'attaccante non correlato sullo stesso percorso di accesso.

Vedi docs/FAQ.md per risposte rapide, docs/VULNERABILITY.md per l'analisi tecnica completa e le fonti, docs/PATCHING.md per applicare la correzione ufficiale di Adobe, e docs/INCIDENT_RESPONSE.md per cosa fare se lo scanner trova qualcosa.

Avvio rapido

1. Applica la patch, se la tua versione è coperta:

root@kitploit:~
# Vedi docs/PATCHING.md per il processo completo — non è un comando singolo, richiede
# le credenziali del repository Adobe e il tooling di gestione patch del tuo progetto.

2. Scansiona per compromissioni esistenti indipendentemente dallo stato della patch — la patch ferma il nuovo sfruttamento, non pulisce una backdoor o una web shell esistente:

root@kitploit:~
git clone https://github.com/jithinkrishnanrs/stylesmuggler-ioc-toolkit.git
cd stylesmuggler-ioc-toolkit
sudo bash scripts/stylesmuggler_scan.sh --magento-root /var/www/html

Oppure la versione Python per output strutturato (JSON), ad es. per alimentare un SIEM:

root@kitploit:~
sudo python3 scripts/stylesmuggler_scan.py --magento-root /var/www/html --json report.json

Entrambi gli script sono sola lettura per impostazione predefinita — rilevano e riportano, non uccidono processi o eliminano file a meno che tu non passi --remediate, perché una pulizia prematura distrugge le prove forensi (vedi docs/INCIDENT_RESPONSE.md).

Cosa controlla lo scanner

  • Artefatti noti di persistenza nel filesystem in tutte e tre le build osservate dell'implant Rust:
    • Build [kworker/u:8:0]: ~/.local/share/.gvfsd/gvfsd-user, i suoi file di lock, /tmp/.kw_*, /tmp/.gvfsd_*
    • Build fc-cache v2.1.4 (6 set): ~/.cache/fontconfig/fc-cache, /tmp/.fc_<8hex>.lock
    • Build chronyd v2.1.5 (7 set): /tmp/.chrony-<8hex>/chronyd
  • Le voci crontab auto-ripristinanti che l'implant scrive direttamente nello spool di cron — ogni 5 minuti per la build gvfsd-user, due volte all'ora (13,43 * * * *) per fc-cache
  • Un processo mascherato chiamato [kworker/u:8:0], fc-cache o chronyd che non è di proprietà di root (o, per fc-cache/chronyd, non corrisponde al binario di sistema reale)
  • SHA-256 dei binari su disco e dell'immagine live /proc/<pid>/exe (i due possono differire — è stato osservato che l'implant si aggiorna in memoria)
  • File di log/report avvelenati (var/log/system.log, var/report/) per PHP iniettato, le due forme note di header trigger (X-TRACE-<10hex> e X-<12hex>), e i marcatori di campagna del secondo attaccante non correlato (ss5_/ss6_<hex>) e il dominio canary DNS (oast.site)
  • Marcatori di risposta di prova di esecuzione (MG<20hex>::...::/MG<20hex>) lasciati nei log quando il payload è effettivamente eseguito
  • File PHP sotto pub/media — che non dovrebbero mai contenere PHP eseguibile su uno store Magento configurato correttamente — che corrispondono al pattern di drop della web shell del secondo attaccante
  • Connessioni stabilite verso gli host C2/download pubblicati — inclusi il beaconing a forma di NTP della build fc-cache/chronyd verso ntp.timesync.to:123/UDP (e fallback), e le sue chiamate HTTP semplici a servizi pubblici di lookup IP
  • Conteggi anomali di connessioni Redis locali (è stata osservata raccolta di sessioni interamente su 127.0.0.1:6379, con zero traffico C2 in uscita — una rete silenziosa non è una rete pulita) — e nota che spostare le sessioni da Redis da solo non chiude il secondo vettore di sfruttamento basato su caricamento file

Elenco completo degli indicatori con fonti: iocs/.

Patch e mitigazione

  1. Applica l'hotfix ufficiale di Adobe (VULN-39341 / APSB26-146) se la tua versione è coperta — vedi docs/PATCHING.md per gli identificativi, dove ottenerlo e come applicarlo. Questa è ora la priorità, prima delle mitigazioni provvisorie sotto.
  2. Se non puoi applicare la patch immediatamente, o la tua versione non è coperta, usa le mitigazioni provvisorie in mitigations/:
    • Blocca o limita il percorso di consegna di styles[] di GraphQL (nginx / Apache)
    • Blocca l'esecuzione di PHP sotto pub/media/pub/static (nginx / Apache) — difesa mirata contro la tecnica della web shell del secondo attaccante non correlato
    • Regole ModSecurity per l'ispezione del corpo POST e fail2ban come rete di sicurezza reattiva
    • Vedi mitigations/README.md per i limiti di ambito — nessuna di queste chiude il vettore delle opzioni personalizzate del cliente o la consegna tramite header Store: del secondo attaccante.
  3. Esegui lo scanner di compromissione indipendentemente dallo stato di patch/mitigazione. Patch e mitigazioni fermano lo sfruttamento nuovo; nessuna delle due pulisce una backdoor o una web shell già rilasciata.
  4. Se lo scanner trova qualcosa, tratta l'host come completamente compromesso, non solo "backdoor presente". L'esecuzione di codice come utente del sito espone tutto ciò che quell'utente può leggere, a partire da app/etc/env.php. Come minimo, dopo il contenimento: svuota l'archiviazione delle sessioni (Redis e/o DB), ruota la crypt/key di Magento, tutte le password admin (e invalida le sessioni admin esistenti), la password del database, ogni chiave API del fornitore di pagamento e altra credenziale di integrazione in env.php, e qualsiasi chiave SSH/deploy che l'utente del sito poteva leggere. Controlla anche la tabella admin_user per un account rogue e le directory pub/media/ / pub/static/ / dei temi per web shell rilasciate — sia quelle dell'implant Rust sia quelle del secondo attaccante non correlato — prima di considerare uno store pulito. Passaggi ordinati completi: docs/INCIDENT_RESPONSE.md.

Struttura del repository

root@kitploit:~
docs/                    Analisi della vulnerabilità, timeline, FAQ, guida alla patch, playbook IR
iocs/                    Hash, IP, domini, percorsi file, YARA, regole Suricata/IDS
scripts/                 stylesmuggler_scan.sh / .py, helper di pulizia crontab
mitigations/             regole nginx / Apache / ModSecurity / fail2ban

Termini cercati di frequente

CVE-2026-75650, APSB26-146, VULN-39341, zero-day Magento 2026, zero-day Adobe Commerce, patch StyleSmuggler, vulnerabilità GraphQL Magento, RCE parametro styles Magento, malware gvfsd-user, backdoor Magento fc-cache, malware Magento chronyd, malware processo kworker Magento, dirottamento sessione Redis Magento, RCE non autenticato Magento settembre 2026, exploit Magento 2.4.9, rimozione backdoor Adobe Commerce, web shell Magento pub/media, eComscan StyleSmuggler, Sansec Shield StyleSmuggler.

Fonti e provenienza

Ogni indicatore in questo repository risale a una fonte pubblicata e citata — principalmente l'advisory di Sansec (aggiornata almeno fino al 2026-09-07 20:50 UTC), il bollettino APSB26-146 di Adobe e analisi di incident response della community da parte di responder che hanno gestito infezioni live. Vedi la citazione in fondo a ogni file in iocs/.

Non trattare nulla qui come esaustivo o definitivo. Gli IOC (header trigger, stringhe user-agent, travestimenti dell'implant e ora i marcatori di campagna di un secondo attaccante) sono già cambiati più volte entro giorni dalla divulgazione; aspettati che cambino di nuovo. Abbina forme e comportamenti, non solo stringhe letterali, ovunque gli script te lo consentano.

Contribuire

Hai visto una variante, un nuovo hash, un nuovo indirizzo sorgente o un falso positivo? Apri un issue o una PR con ciò che hai osservato e come lo hai osservato. Per favore:

  • Oscura i dettagli identificativi della tua organizzazione prima di condividere.
  • Non pubblicare payload di exploit o richieste trigger funzionanti qui — solo indicatori e logica di rilevamento.
  • Segnala la vulnerabilità sottostante stessa a Sansec e ad Adobe PSIRT, non a questo repository.

Licenza

MIT per il codice in questo repository (vedi LICENSE). I dati degli indicatori sono forniti "così come sono" per uso difensivo, con le fonti annotate ovunque.

Disclaimer

Questo è tooling difensivo non ufficiale costruito dalla community, non un prodotto Adobe o Sansec, e non è affiliato a nessuno dei due. È fornito senza garanzia. La patch ufficiale di Adobe (APSB26-146) è stata rilasciata, ma la copertura è limitata a versioni di prodotto specifiche — controlla il bollettino di sicurezza di Adobe direttamente prima di presumere che la tua installazione sia coperta o corretta.

Scarica lo strumento