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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
fromagegate — PoC e toolkit di rilevamento per Danfoss AK-SM 8xxA CVE-2025-41450/-41451/-41452: bypass dell'autenticazione code-of-the-day, RCE da alarm-to-mail e injection della configurazione nginx, con regole Suricata/Sigma. | Kitploit
Strumenti/GitHubGitHub/msuiche/fromagegate
Sicurezza Sistemi EmbeddedScanner di VulnerabilitàAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebAutenticazioneRilevamento Intrusioni
GitHubmsuiche/fromagegate

fromagegate

PoC e toolkit di rilevamento per Danfoss AK-SM 8xxA CVE-2025-41450/-41451/-41452: bypass dell'autenticazione code-of-the-day, RCE da alarm-to-mail e injection della configurazione nginx, con regole Suricata/Sigma.

Vedi Repository
1121 mese 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

Danfoss AK-SM 8xxA — toolkit PoC per CVE-2025-41450 / -41451 / -41452

PoC di ricerca/ingegneria del rilevamento per le tre vulnerabilità dell'interfaccia web AK-SM 8xxA divulgate da Claroty Team82 e corrette da Danfoss in R4.2 / R4.3.1 (DSA-2025-03-01, DSA-2025-08-01, CISA ICSA-25-140-03):

CVEDebolezzaAffectedFixed
CVE-2025-41450Bypass nascosto dell'autenticazione tramite "code-of-the-day" (password derivata da datetime) su xml.cgi?action=getauth< R4.2R4.2
CVE-2025-41451Command injection del sistema operativo post-autenticazione nella configurazione alarm-to-mail / SMTP (elemento 0x1be1)< 4.3.14.3.1
CVE-2025-41452Sostituzione di headers.conf di nginx post-autenticazione tramite action=load_nginx_headers → injection di direttive + DoS da crash di sm_app< 4.3.14.3.1

Struttura

emulator/aksm800a_emulator.py        vulnerable-behavior emulator (127.0.0.1 only)
poc/cve_2025_41450_code_of_the_day.py
poc/cve_2025_41451_alarm_mail_cmd_injection.py
poc/cve_2025_41452_nginx_conf_injection.py
detection/suricata/danfoss-aksm-cves.rules   Suricata rules (see in-file caveats)
detection/sigma/*.yml                        Sigma host/log rules
detection/test_rules_against_captures.py     replay captures against the ruleset
captures/http-requests.jsonl         full request log, tagged per CVE
WRITEUP.md                           FROMAGEGATE incident context + full research summary

Solo stdlib di Python 3; nessuna dipendenza.

Avvio rapido

python3 emulator/aksm800a_emulator.py 8080 &          # start the target
python3 poc/cve_2025_41450_code_of_the_day.py         # exit 0 = bypass works
python3 poc/cve_2025_41451_alarm_mail_cmd_injection.py
python3 poc/cve_2025_41452_nginx_conf_injection.py    # add --no-dos to skip DoS
python3 detection/test_rules_against_captures.py      # replay captures vs Suricata rules

I PoC 41451 e 41452 concatenano per impostazione predefinita il bypass 41450 (un vero attaccante non ha credenziali configurate); entrambi accettano --user/--password (41451) per partire invece da una sessione legittima. Tutti i PoC accettano --target HOST:PORT, quindi funzionano anche contro firmware realmente vulnerabile — ma l'algoritmo del codice del giorno e i nomi degli attributi di bypass devono essere sostituiti con i valori recuperati dal firmware (vedere le avvertenze di seguito).

Artefatti osservabili per le firme di rilevamento

Ogni richiesta all'emulatore viene registrata in captures/http-requests.jsonl con tag. Gli artefatti di rete stabili e meritevoli di firma sono:

CVE-2025-41450 (bypass dell'autenticazione)

  • POST /xml.cgi?action=getauth con attributi inattesi oltre a username/password (qui: codeofday=1 / support=1; i nomi reali sono oscurati nelle fonti pubbliche — recuperarli dal firmware per le regole definitive).
  • Campo password contenente un breve codice numerico derivato dalla data anziché una password reale; una risposta positiva rilascia una sessione nonostante non vi sia alcuna credenziale configurata valida. Correlazione temporale: il codice cambia quotidianamente.
  • Esposizione della versione: qualsiasi fingerprint AK-SM 8xxA (banner StoreView/AK-SM, Server: nginx sulla porta di gestione) su firmware < R4.2 è intrinsecamente vulnerabile — il rilevamento di banner/versione è il segnale a più alta fedeltà.

CVE-2025-41451 (command injection → RCE)

  • POST /xml.cgi?action=set_email_config autenticato con metacaratteri di shell (; | & $() `) nel campo password dell'email (voce di configurazione 0x1be1). Le password SMTP legittime raramente contengono ;+comando.
  • Forma del payload: x'; <cmd> # / $(<cmd>) ecc. — vedere le righe di log constructed_cmd: taggate per capire esattamente come il valore finisce in una shell.
  • Telemetria dell'host post-sfruttamento: il processo di salvataggio della configurazione che genera processi figli inattesi (shell, id, curl, ...).

CVE-2025-41452 (injection della configurazione nginx → manipolazione del traffico / DoS)

  • Upload multipart autenticato verso xml.cgi?action=load_nginx_headers (nome file headers.conf). Questo endpoint non ha alcun motivo legittimo di essere chiamato al di fuori di rare operazioni di manutenzione amministrativa — l'alerting basato sul volume funziona.
  • Contenuto caricato contenente direttive location, proxy_pass, rewrite, add_header.
  • Conseguenza: risposte che trasportano header iniettati dall'attaccante, e un 502 seguito da una finestra di 503 quando viene colpita una route iniettata (crash di sm_app → DoS ripetibile).

Avvertenze / provenienza

  • Claroty ha oscurato i nomi degli attributi del codice del giorno e l'algoritmo di generazione; questo toolkit fornisce un algoritmo sostitutivo (emulator/aksm800a_emulator.py:generate_code) che preserva la proprietà documentata (codice derivato unicamente dalla data del dispositivo). I PoC e l'emulatore lo condividono, quindi la catena è funzionale end-to-end. Per l'hardware reale, estrarre check_code_of_day dal firmware e inserirlo.
  • Lo schema delle richieste (nomi dei campi XML, nomi delle azioni, nome del cookie di sessione) è una ricostruzione fedele dai writeup pubblici, non un comportamento del firmware byte per byte. Mettere a punto le firme definitive rispetto al traffico proveniente dal firmware reale o da un campione di richiesta recuperato.
  • L'emulatore esegue localmente il payload shell iniettato del 41451 (è lo scopo del PoC). Il payload predefinito è benigno (id → file di prova). Associare/eseguire solo su 127.0.0.1.

Riferimenti

  • Ricerca Claroty Team82: https://claroty.com/team82/research/freeze-the-controller-defrost-the-food-uncovering-vulnerabilities-in-danfoss-refrigeration-controllers
  • Danfoss DSA-2025-03-01 (CVE-2025-41450): https://www.danfoss.com/en/service-and-support/coordinated-vulnerability-disclosure/danfoss-security-advisories/dsa-2025-03-01/
  • Danfoss DSA-2025-08-01 (CVE-2025-41451, CVE-2025-41452): https://www.danfoss.com/en/service-and-support/coordinated-vulnerability-disclosure/danfoss-security-advisories/dsa-2025-08-01/
  • CISA ICSA-25-140-03: https://www.cisa.gov/news-events/ics-advisories/icsa-25-140-03
Scarica lo strumento