PwnEye è un tool di ethical hacking progettato per operare su telecamere IP (meglio conosciute come webcam) che espongono servizi ONVIF e RTSP; offre ai ricercatori e ai pentester un metodo semplice per gestire l’individuazione, i test di autenticazione, la raccolta di metadati, la convalida dei flussi, la registrazione e le azioni di follow-up richieste da un servizio professionale di offensive security, il tutto attraverso un’unica CLI.

Se l’autenticazione ONVIF sulla webcam ha esito positivo, pwneye consente anche di accedere direttamente a una shell ONVIF interattiva. Questa funzionalità è utile quando si desidera esaminare i servizi esposti, invocarne manualmente i metodi, esplorare le funzionalità o testare operazioni specifiche per il target senza interrompere il flusso corrente di lavoro.

In una webcam una interfaccia web accattivante non è auotomaticamente sinonimo di apparato sicuro nel suo complesso da vulnerabiltà o attacchi informatici: è frequente riscontrare meccanismi efficaci di blocco per gli accessi via web, mentre il protocollo RTSP è spesso sprovvisto di autenticazione o accetta un numero di tentativi di autenticazione praticamente illimitato.

Se stai per avviare un vulnerability assessment delle webcam, sfrutta la funzionalità rilevamento quando possibile: se l’opzione --discover funziona sulla rete locale, utilizzala per prima. Le informazioni sul vendor, i metadati del dispositivo e i dati recuperati dalla cache possono rendere le successive operazioni RTSP molto più affidabili e silenti.

Analisi di un log Nikto con l’AI

Foto da una sessione di analisi condotta con l’ausilio dell’AI Claude, utilizzata per il parsing e la fase di triage dell’output generato dal tool Nikto durante un vulnerability assessment su di una webapp target di un mio cliente (un software gestionale scritto in PHP).

Come da videata, l’enumerazione delle vulnerabilità mostra una superficie di attacco tutt’altro che trascurabile: misconfigurazioni multiple, header di sicurezza mancanti e potenziali vettori di exploitation a livello applicativo (per motivi di privacy ho oscurato l’IP pubblico associato al dominio corrispondente al sito web del cliente che mi ha commissionato l’assessment).

Ogni evidenza segnalata da Nikto — successivamente validata/contestualizzata tramite l’analisi assistita da Claude — ha trovato conferma in fase di verifica manuale, dandomi la possibilità di riscontrare la reale sfruttabilità delle issue individuate e non un semplice “rumore” di fondo da falsi positivi, come spesso accade con gli scanner automatici. Il tutto è confluito nel report di assessment finale, consegnato al referente del cliente, fino a quel momento non completamente consapevole dell’effettiva cyber(in)security posture della propria infrastruttura web.

Chi ha una solida preparazione in ambito Cybersecurity (reti, sistemi operativi, protocolli, scripting, ethical hacking, un minimo di reverse engineering) possiede alcune competenze tecniche chiave che gli permettono di integrare l’AI nelle proprie analisi:

  • comprende il perché degli eventi e del loro accadimento, non solo “il cosa”. Sa spiegare perché un pattern di traffico è anomalo, non si limita a leggere un alert. Conosce il TCP/IP abbastanza da capire se uno strano beaconing è DNS tunneling o solo un client mal configurato.
  • sa validare (o smontare) l’output dell’AI. Se un tool basato su LLM gli comunica “questo è un malware”, sa verificare gli hash, l’entropia del file, il comportamento in sandbox, e giudicare se la conclusione regge.
  • riconosce i falsi positivi e i falsi negativi con criterio scientifico: non si fida ciecamente di un punteggio di rischio generato automaticamente, ma lo contestualizza.
  • è in grado di analizzare la situazione anche quando il software in uso non copre il caso: in un incidente informatico reale, spesso i tool non hanno visto “quella” combinazione specifica prima, serve appunto comprendere i sistemi sottostanti per costruire un’ipotesi realistica.
  • ha intuito per le anomalie sottili: un attacker avanzato come un APT lascia tracce minime e non standard, ma solo chi sa o è davvero in grado di capire come funzionano i sistemi nota quando “qualcosa non torna”.

Viceversa, chi usa l’AI in modalità “bovina”, senza farsi troppe domande:

  • è in grado di osservare una dashboard, ma spesso di non comprendere realmente cosa c’è sotto. Segue playbook e tool di output senza sapere perché quel passaggio esista.
  • Non riesce a distinguere un’allucinazione dell’AI da una corretta analisi – gli LLM possono generare spiegazioni plausibili ma sbagliate (per esempio possono attribuire un comportamento benigno a una tecnica MITRE ATT&CK a caso, solo perché “suona giusto”).
  • È vulnerabile ad evasion mirate. Un attacker consapevole che un certo SOC usa l’AI generativa per il triage potrebbe forgiare attacchi informatici che sfruttano proprio i bias del modello (prompt injection nei log, testo ingannevole nei nomi dei processi, ecc..).
  • Fatica nell’incident response reale: quando si lavora sotto pressione, dovendo analizzare tanti sistemi compromessi con tempistiche limitate possono venire a mancare le fondamenta per prendere decisioni razionali ma tempestive senza qualcuno che gliele suggerisca oltre all’AI (e se nel frattempo l’analista dovesse terminare i token a sua disposizione?).
  • Diventa un collo di bottiglia, non un facilitatore: l’AI dovrebbe agevolare chi sa già cosa cercare, ma senza solide basi, un analista SOC semplicemente sposta la fiducia dall’esperienza umana al modello LLM, con un netto peggioramento in termini di affidabilità delle analisi stesse.

L’AI adottata nel campo della sicurezza informatica dovrebbe fungere da agevolatore di competenze, non da sostituto di formazione indispensabilmente pregressa. Un analista SOC che si rispetti dovrebbe usare l’AI con la dovuta consapevolezza per:
– ridurre il rumore (triage di migliaia di alert)
– accelerare la correlazione tra eventi
– generare ipotesi da verificare con celerità.

Senza solide basi tecnico-scientifiche, l’AI diventa solo una sorta di scatola magica a cui si delegano in maniera temeraria le analisi — ma delegare un giudizio critico è sempre pericoloso: gli attacker sono avversari attivi che si adattano, non un problema statico che un LLM può risolvere una volta per tutte.

In sintesi: la differenza non è tanto tra “chi usa l’AI e chi no”, ma tra chi sa quando fidarsi di un’AI e quando no — e questo si apprende solo con l’esperienza e con una doverosa formazione continua (passata, presente e futura).

Di recente è stata rilasciata la versione 4.0.2 di OpenSSL (la 3.5.8 se si utilizza la versione LTS), che corregge diverse vulnerabilità di sicurezza informatica.

Potresti impiegare una vita cercando disperatamente di capire se il tuo codice può effettivamente beneficiare degli aggiornamenti, ma se hai il controllo completo della tua build di OpenSSL ed escludi tutto ciò che non ti serve realmente (un’operazione che, a onor del vero, spesso richiede un effort maggiore di quanto molti siano disposti a dedicarvi), potresti riuscirci con una certa tempestività. In alternativa, puoi semplicemente scaricare e ricompilare il codice con la nuova versione.

Nessun bug è stato classificato con una gravità superiore a “Moderato”, ma è stata risolta almeno una vulnerabilità interessante dal punto di vista dei bias crittografici: due cifrari AEAD (in altre parole, un algoritmo crittografico con autenticazione a chiave integrata tramite un hash calcolato in parallelo con la crittografia/decrittografia) “approvavano” sempre un testo cifrato vuoto durante la decifratura, anche se veniva inviato un hash di autenticazione errato!

Potrebbe non essere facile da sfruttare, ma se effettivamente accadesse, questa vulnerabilità consentirebbe a un malintenzionato di fornire un falso buffer in input per la decifratura, che potrebbe ingannare il test AEAD. Ricordiamoci anche che una stringa vuota ha un solo hash AEAD valido per ogni chiave: “nothing” è spesso un input valido, e in fase di decifratura dovrebbe essere soggetto al medesimo livello di validazione di qualsiasi altra stringa in chiaro!

Realizzare PKI con sw open-source

Acronimo di Enterprise JavaBeans Certificate Authority, EJBCA è un interessante software open-source per mettere in piedi un’infrastruttura a chiave pubblica (PKI) in grado di avvalersi di crittografia PQC (Post Quantum Cryptography) per emettere e proteggere i certificati digitali dei propri utenti e dispositivi.
Gestito e sponsorizzato dalla società svedese PrimeKey Solutions AB, il pacchetto software EJBCA può essere utilizzato per installare un’autorità di certificazione (una CA), un’autorità di convalida e un’autorità di registrazione gestibili privatamente.
Ormai giunto alla versione 9.4.2 nel momento in cui sto scrivendo, il software EJBCA è utilizzato per gestire autorità di certificazione (CA) in diversi contesti, tra cui e-Government, endpoint management, sistemi IoT, energia, telecomunicazioni, eIDAS, networking e perfino nell’ambito delle PMI.

Una Certification authority EJBCA sotto forma di appliance

Ma perché adottare una CA privata quando sono già disponibili quelle pubbliche? Il caso della compromissione della CA DigiNotar, nel 2011, rappresenta probabilmente uno degli esempi più emblematici dei rischi associati all’adozione di autorità di certificazione (CA) pubbliche. In un’infrastruttura PKI (Public Key Infrastructure), una Certification Authority (CA) è responsabile dell’emissione e della firma digitale dei certificati che attestano l’associazione tra una chiave pubblica e l’identità di un dominio o di un’entità. Nel modello delle CA pubbliche, tali certificati sono implicitamente considerati affidabili dai browser e dai sistemi operativi poiché inclusi nei trust store globali. Nel caso di DigiNotar, un attacker riuscì a compromettere l’infrastruttura della CA e a generare certificati fraudolenti per domini di alto profilo, tra cui servizi di Google. Poiché i certificati risultavano firmati da una CA pubblica riconosciuta, i browser li accettavano automaticamente come validi. Questo rese possibile l’esecuzione di attacchi MiTM (man-in-the-middle) su larga scala, intercettando comunicazioni HTTPS apparentemente sicure. L’incidente dimostrò come la compromissione di una singola CA pubblica possa avere conseguenze sistemiche sull’intero ecosistema di fiducia del web.

Una CA privata, al contrario, opera in un contesto di fiducia limitato (private trust domain). I certificati emessi non sono riconosciuti universalmente, ma solo dai sistemi configurati esplicitamente per fidarsi di quella specifica root CA. Questo riduce significativamente la superficie di attacco e l’impatto di un’eventuale compromissione: un certificato fraudolento sarebbe accettato solo all’interno dell’infrastruttura organizzativa e non dall’intera Internet.

Dal punto di vista della sicurezza operativa, inoltre, una CA privata consente un controllo più rigoroso delle policy di emissione, dei processi di autenticazione delle entità richiedenti nonché della protezione delle chiavi critiche (ad esempio tramite HSM e segmentazione della rete). In sintesi, mentre le CA pubbliche offrono scalabilità e interoperabilità globale, le CA private riducono il rischio sistemico limitando l’ambito di fiducia e migliorando il controllo amministrativo dell’infrastruttura crittografica 🔐

Link di approfondimento:
– Link1
– Link2
– Link3

nmap, una galassia di possibilità

Ancora oggi, molti addetti ai lavori utilizzano questo magnifico tool di Fyodor con superficialità… ad esempio in molti credono che da nmap non sia possibile farsi restituire solo gli indirizzi IP (quindi senza gli ulteriori dettagli che il tool normalmente ci restituirebbe) che hanno effettivamente la porta che ci interessa in stato open, ma come si evince da questa schermata, è possibile farlo concatenando in pipe qualche comando bash.

Di seguito il comando testuale se desideri (ri)utilizzarlo:
nmap -n -Pn target/subnet -p3389 -oG – | grep ‘/open/’ | awk ‘/Host:/{print $2}’
(attenzione agli apici e al simbolo – quando incollerai questo codice nella tua shell: riconfrontali con la videata, poiché WordPress cambia volutamente gli apici)

target/subnet va ovviamente sostituito con la sottorete che desideri scansionare (ma puoi inserire banalmente anche un unico target /32), come nella scansione che vedi in videata (da cui è possibile desumere che un sysadmin imprudente abbia lasciato raggiungibili da Internet ben 11 servizi RDP!), mentre immediatamente a destra del flag -p va inserito il numero di porta che ti interessa verificare (da remoto o in locale).

P.S.: è possibile personalizzare ulteriormente il comando per farsi restituire anche l’hostname del target di cui nmap rileva la porta aperta.

Letture di approfondimento:
– “Nmap Network Exploration” (Calderon, 2021)
– “Nmap Network Scanning: A Complete Guide to Exploring And Scanning Networks With NMAP” (S. Gellis, 2024)

Sessioni Windows anomale, un tool FOSS per rilevarle da remoto

Ti sei mai chiesto come rilevare eventuali sessioni utente sospette o insolite sui computer del tuo dominio Windows? FindUnusualSessions è un tool di enumerazione delle sessioni remote che sfrutta il protocollo Windows RPC per agevolare il rilevamento di anomalie relative agli utenti connessi alle tue reti.

🛠️ Funzionalità principali:
✅ segnala utenti di dominio esterni insoliti o inusuali che potrebbero costituire un sintomo di movimenti laterali o compromissioni non ancora individuate dai tuoi XDR/EDR
✅ utilizza RPC per interrogare da remoto i dispositivi Windows

OpenSSL e crittografia post-quantum

Manca poco (8 aprile 2025) al rilascio di un innovativo software gratuito per applicare crittografia moderna: OpenSSL 3.5.

Per la prima volta un’intera gamma di applicazioni, inclusi i web server, saranno in grado di utilizzare PQC (Post Quantum Cryptography) e quindi di migliorare la Cybersecurity del settore nonché dei servizi erogati. OpenSSL è la libreria globalmente più utilizzata per cifrare file e stream, e appunto dalla versione 3.5 supporterà la sostituzione del protocollo crittografico ECDH con ML-KEM nonché degli algoritmi RSA ed ECDSA con ML-DSA.

L’integrazione più interessante per lo scambio di chiavi sarà quella di poter utilizzare un metodo ibrido, come ML-KEM-X25519, il quale utilizza sia X25519 (con curve ellittiche) che ML-KEM per creare la chiave. Dalla versione 3.5 in avanti ci sarà anche la possibilità di applicare metodi di firma digitale ibridi, come ML-DSA-Ed25519.

Ulteriori informazioni disponibili su:
– Link1
– Link2
– Link3

Ricostruire i logon/logoff con LogonTracer

LogonTracer è uno di quegli strumenti Open Source che non dovrebbe mai mancare nell’arsenale di chi s’occupa di Incident Response e/o di Digital Forensics (DFIR)

Questo software analizza gli eventi correlati agli accessi (logon andati a buon fine), associa gli hostname (e/o gli indirizzi IP) e gli account correlati visualizzandoli in un grafico schematico: in questo modo è possibile vedere in quale account si verifica il tentativo di accesso, e quale host viene utilizzato. È davvero utile per controllare rapidamente gli account compromessi in contesti Microsoft AD (Active Directory) aziendali.

Nei grafici generati da LogonTracer ogni indirizzo IP, così come ogni hostname, viene rappresentato da un nodo avente delle connessioni (che rappresentano l’ID dell’evento) all’altro nodo (utente). LogonTracer consente quindi di filtrare, cercare ed esportare risultati, visualizzare la cronologia, e molte altre funzionalità.

Utilizza anche PageRank, il modello Hidden Markov e ChangeFinder per rilevare host ed account dannosi analizzando l’Event Viewer.

È anche possibile visualizzare i registri eventi in ordine cronologico:

Valido strumento da affiancare all’utilizzo di un SIEM (attenzione: da affiancare, non con cui sostituire!), puoi scaricarlo gratuitamente dalla pagina ufficiale del tool.

🔴 Attenzione: rammenta di abilitare l’audit su ogni workstation su cui desideri analizzare le attività di accesso (Audit Credential Validation, Audit Kerberos Authentication Service, Audit Kerberos Service Ticket Operations, Audit Logon, Audit Special Logon, Logoff)

Firme digitali falsificabili in Putty

Le versioni del noto software PuTTY dalla 0.68 alla 0.80 (inclusa) presentano una vulnerabilità critica nella parte di codice che genera firme dalle chiavi private ECDSA che utilizzano la curva NIST P521 (PuTTY, o Pageant, genera una firma digitale da una chiave quando la usi per autenticarti su di un server SSH).

A questa vulnerabilità è stato assegnato il CVE-2024-31497. La vulnerabilità è stata scoperta da Fabian Bäumer e Marcus Brinkmann, dell’Università della Ruhr di Bochum (è disponibile un loro articolo sulla mailing list oss-security), in Germania.

L’effetto della vulnerabilità è quello di consentire la compromissione della chiave privata. Un attacker o un utente malintenzionato in possesso di alcune dozzine di messaggi firmati (e della chiave pubblica) ha informazioni sufficienti per recuperare la chiave privata e quindi falsificare le firme come se provenissero da te, consentendogli (ad esempio) di accedere a qualsiasi server in cui utilizzi quella chiave per autenticarti. Per ottenere queste firme, l’attacker deve solo compromettere brevemente un qualsiasi server su cui si utilizza la chiave per autenticarsi, oppure ottenere momentaneamente l’accesso a una copia di Pageant che detiene la chiave (tuttavia, queste firme non sono esposte agli sniffer passivi delle connessioni SSH…).

Pertanto, se disponi di una chiave di questo tipo, i crittoanalisti consigliano di revocarla immediatamente: rimuovi la vecchia chiave pubblica da tutti i file Authorized_keys di OpenSSH e l’equivalente negli altri server SSH, in modo che una firma della chiave compromessa non abbia più valore. Genera quindi una nuova coppia di chiavi per sostituirla.
(il problema non riguarda il modo in cui la chiave è stata generata; non importa se proviene da PuTTYgen o da qualche altra parte: ciò che conta è se è stata mai utilizzata con PuTTY o Pageant).

La buona notizia: l’unico tipo di chiave crittografica inficiata da CVE-2024-31497 è l’ECDSA a 521 bit. Cioè una chiave che in Windows PuTTYgen si presenta come ecdsa-sha2-nistp521 all’inizio della casella “Impronta digitale chiave”, oppure come NIST p521 quando viene caricata in Windows Pageant, oppure ha un ID che inizia con ecdsa-sha2- nistp521 nel protocollo SSH o nel file della chiave. Altre dimensioni dell’ECDSA e altri algoritmi chiave non sono coinvolti dalla vulnerabilità, in particolare, non è coinvolto lo schema di firma Ed25519.

Link di approfondimento:
– Link1
– Link2
– Link3

Anydesk breach 2024

Sì, AnyDesk ha revocato il certificato digitale usato per firmare i suoi binari utilizzati da migliaia – milioni? – di utenti. Sì, hanno anche revocato le credenziali per accedere al loro portale. Tutto ciò che si sa al momento è questo, così come solo questa è la portata dei fatti pubblici nel momento in cui sto scrivendo. Il resto di quello che leggo nei forum e nelle testate del settore, in questi giorni, non sono altro che FUD spuri: client AnyDesk con backdoor, dump delle credenziali provenienti dalle violazioni ecc.. ossia quel tipo di pettegolezzi spesso privi di fondamento quando non risultano avvalorati da perizie informatiche giurate che ne appurino le veridicità senz’ombra di dubbio. Si trovano appunto molti FUD in rete, ma non ancora nessuno che mostri o abbia reso disponibili evidenze digitali in grado di avvalorare nero su bianco (o se preferite, byte su byte) i peggiori scenari di breach.

Ciò nonostante, qui trovi delle regole YARA per rilevare i binari firmati con un certificato digitale AnyDesk potenzialmente compromesso: fare comunque una ricerca sui filesystem dei nostri clienti non è una cattiva idea.