- Modèle
- Vivobook N6506MV-MA017W
- Processeur
- Intel Ultra Core 9
- Disques
- SSD NVMe 2 To
- Mémoire
- 24 Go
- Ecran
- OLED 15"
- Système
- Windows 11
Suite à une mésaventure considérée comme catastrophique de prime abord il s'avère que dans certains cas il est possible de récupérer ses données cryptées par ce type de malware et je voulais partager mon expérience.
L'objet ici n'est pas de savoir comment désinfecter son pc ni de savoir comment se protéger de ce genre de "virus" mais de présenter la méthode pour décrypter les fichiers codés.
Selon Malekal, ce malware s'attrape par exploit web ou via pièces jointes par mail.
TeslaCrypt RSA-4096 (Crypto-Ransomware) - Malekal's forum
Préambule
En 1er lieu il faudra donc avoir:
- Un système sain, stable et opérationnel.
- Par précaution sauvegarder (via ROBOCOPY par exemple) TOUS les fichiers/données y compris les fichiers cryptés sur un support externe.
Si ces 2 premières conditions ne sont pas remplies il est inutile d'aller plus loin…
La méthode de décryptage a plusieurs options, je présente ici celle que j'ai expérimentée.
Pour plus de précisions se référer à la page de Googulator:
GitHub - Googulator/TeslaCrack: Decryptor for the TeslaCrypt malware
Installation des outils
1/ Récupération des programmes et des fichiers nécessaires
python: Python Release Python 2.7.11 | Python.org
msieve: Msieve download | SourceForge.net
TeslaCrack-master: GitHub - Googulator/TeslaCrack: Decryptor for the TeslaCrypt malware
(lien direct https://github.com/Googulator/TeslaCrack/archive/master.zip )
notepad++: notepad-plus-plus.org: Notepad++ Home
2/ Installation
Installation de python via le setup python-2.7.11.amd64.msi, sélectionner l'option d'ajout de "python.exe to Path".
Puis en console d'invite de commandes en mode administrateur, exécuter successivement:
3/ Installation: astuce (si la précédente et dernière commande ne marche pas)
Récupérer le fichier nécessaire à l'installation ici: https://www.voidspace.org.uk/python/pycrypto-2.6.1/
fichier: pycrypto-2.6.1-cp27-none-win_amd64.whl
Ce qui permet aussi de choisir la version 32 bits au cas où... pycrypto-2.6.1-cp27-none-win32.whl
Et ce qui donne comme commande:
4/ Organisation des fichiers et dossiers
Inclure dans un dossier de travail (sur le bureau par exemple) l'exécutable msieve.exe, les fichiers *.py nécessaires ainsi qu'un fichier crypté .vvv à décrypter avec un nom sans espace (pdf reconnu et traité par défaut dans le script unfactor.py, modifiable si vous n'en avez pas (voir la page de Googulator pour plus de précisions))
5/ Astuce console d'invite de commandes
Clic droit: "Sélectionner tout"
Entrée ==> Copier
A coller dans un fichier texte via le bloc-notes par exemple pour "édition" des clés sans retours à la ligne
Procédure de décryptage
Toujours sous console d'invite de commandes, le mode standard suffit cette fois.
1/ Récupération de la 1ère clé de cryptage dite publique
Récupérer la 1ère clé hexadécimale sans retour à la ligne, exemple:
2/ Factorisation de la clé publique
Ce qui donne:
Patienter...
La factorisation peut durer très longtemps, récupérer TOUS les facteurs
Ce qui donne par exemple:
3/ Recherche de la clé AES privée
Ce qui donne:
Avec comme résultat la clé AES privée à insérer dans le fichier teslacrack.py en plus de la clé publique déjà trouvée.
Candidate AES private key:
4/ Edition du fichier teslacrack.py (utiliser notepad++)
Dans le tableau "known_keys" insérer un élément supplémentaire (en fin de tableau) composé de la clé publique héxadécimale entre apostrophes suivie de la clé AES privée comme suit:
Ce qui donne (ne pas oublier les : et l'espace qui suit, le tout entre les 2 clés)
5/ Décryptage du fichier initial de test
Dans le dossier de travail exécuter la commande:
Le fichier crypté qui s'y trouve va être automatiquement détecté puis décrypté par création d'une copie.
Vérifier le fichier décrypté pour conformité avant de lancer le décryptage de tous les fichiers
Si ça n'a pas marché je vous invite à aller voir les autres options possibles sur le site source de ce post:
GitHub - Googulator/TeslaCrack: Decryptor for the TeslaCrypt malware
6/ Lancement du décryptage des fichiers
par exemple (tout ou partie, X représente l'unité sur laquelle se trouve les fichiers cryptés, le répertoire est optionnel)
Considérations
Une lapalissade à propos de la place nécessaire au décryptage de l'ensemble des fichiers:
Il faut bien sûr avoir un espace disponible au moins égal au volume initial de données à traiter si vous n'utilisez pas l'option --delete !
C'est aussi une question de temps…
Puissance du processeur, complexité de la clé privée, quantité de données à décrypter...
Je remercie alexandre01 pour ses indications.
Source: GitHub - Googulator/TeslaCrack: Decryptor for the TeslaCrypt malware
Compléments:
Mail malicieux : TeslaCrypt Ransomware (virus RSA 4096) - Malekal's forum
https://gilchrist.ca/jeff/factoring/nfs_beginners_guide.html
https://gilchrist.ca/jeff/factoring/
L'objet ici n'est pas de savoir comment désinfecter son pc ni de savoir comment se protéger de ce genre de "virus" mais de présenter la méthode pour décrypter les fichiers codés.
Selon Malekal, ce malware s'attrape par exploit web ou via pièces jointes par mail.
TeslaCrypt RSA-4096 (Crypto-Ransomware) - Malekal's forum
Préambule
En 1er lieu il faudra donc avoir:
- Un système sain, stable et opérationnel.
- Par précaution sauvegarder (via ROBOCOPY par exemple) TOUS les fichiers/données y compris les fichiers cryptés sur un support externe.
Si ces 2 premières conditions ne sont pas remplies il est inutile d'aller plus loin…
La méthode de décryptage a plusieurs options, je présente ici celle que j'ai expérimentée.
Pour plus de précisions se référer à la page de Googulator:
GitHub - Googulator/TeslaCrack: Decryptor for the TeslaCrypt malware
Installation des outils
1/ Récupération des programmes et des fichiers nécessaires
python: Python Release Python 2.7.11 | Python.org
msieve: Msieve download | SourceForge.net
TeslaCrack-master: GitHub - Googulator/TeslaCrack: Decryptor for the TeslaCrypt malware
(lien direct https://github.com/Googulator/TeslaCrack/archive/master.zip )
notepad++: notepad-plus-plus.org: Notepad++ Home
2/ Installation
Installation de python via le setup python-2.7.11.amd64.msi, sélectionner l'option d'ajout de "python.exe to Path".
Puis en console d'invite de commandes en mode administrateur, exécuter successivement:
Code:
python -c "import urllib2; print urllib2.urlopen('https://bootstrap.pypa.io/ez_setup.py').read()" | python
Code:
easy_install pip
Code:
pip install https://www.voidspace.org.uk/python/pycrypto-2.6.1/pycrypto-2.6.1-cp27-none-win_amd64.whl
Récupérer le fichier nécessaire à l'installation ici: https://www.voidspace.org.uk/python/pycrypto-2.6.1/
fichier: pycrypto-2.6.1-cp27-none-win_amd64.whl
Ce qui permet aussi de choisir la version 32 bits au cas où... pycrypto-2.6.1-cp27-none-win32.whl
Et ce qui donne comme commande:
Code:
pip install pycrypto-2.6.1-cp27-none-win_amd64.whl
Inclure dans un dossier de travail (sur le bureau par exemple) l'exécutable msieve.exe, les fichiers *.py nécessaires ainsi qu'un fichier crypté .vvv à décrypter avec un nom sans espace (pdf reconnu et traité par défaut dans le script unfactor.py, modifiable si vous n'en avez pas (voir la page de Googulator pour plus de précisions))
5/ Astuce console d'invite de commandes
Clic droit: "Sélectionner tout"
Entrée ==> Copier
A coller dans un fichier texte via le bloc-notes par exemple pour "édition" des clés sans retours à la ligne
Procédure de décryptage
Toujours sous console d'invite de commandes, le mode standard suffit cette fois.
1/ Récupération de la 1ère clé de cryptage dite publique
Code:
python teslacrack.py
Récupérer la 1ère clé hexadécimale sans retour à la ligne, exemple:
Code:
623D0CB3C0042D4690B304D19CABD8AC3E03018CB05C96F5EA95D794374CEC1DE55B1A23EFF76076C2250E666ACA54E9C7E6E8D717CC793AAAC1A12B9E10280C
Code:
msieve152 -v -e 0x<clé publique héxadécimale>
Code:
msieve152 -v -e 0x623D0CB3C0042D4690B304D19CABD8AC3E03018CB05C96F5EA95D794374CEC1DE55B1A23EFF76076C2250E666ACA54E9C7E6E8D717CC793AAAC1A12B9E10280C
La factorisation peut durer très longtemps, récupérer TOUS les facteurs
Ce qui donne par exemple:
Code:
p1 factor: 2
p1 factor: 2
p2 factor: 29
p2 factor: 31
p3 factor: 479
p5 factor: 14537
p5 factor: 78887
p9 factor: 579760031
p9 factor: 937924693
prp11 factor: 50626625857
prp18 factor: 163845875288322901
prp19 factor: 4863908515923043399
prp28 factor: 9830873991296339313856841617
prp47 factor: 12076907348643702704368210115725887327582335137
Code:
python unfactor.py <fichier à décrypter> <liste des facteurs séparés par des espaces>
Code:
python unfactor.py Facture_Bell_Intone.pdf.vvv 2 2 29 31 479 14537 78887 579760031 937924693 50626625857 163845875288322901 4863908515923043399 9830873991296339313856841617 12076907348643702704368210115725887327582335137
Candidate AES private key:
Code:
b'\xe5\xa9\xd1\xc2\xe5\x0f\x87\x6a\xcb\xb3\x28\x82\xbc\x1a\x34\xca\x72\x12\x62\x28\xe7\x69\xb6\xea\xe6\xe7\x53\xc7\x8a\x5b\xa0\xec'
Dans le tableau "known_keys" insérer un élément supplémentaire (en fin de tableau) composé de la clé publique héxadécimale entre apostrophes suivie de la clé AES privée comme suit:
Code:
<clé publique entre apostrophes>: <clé AES privée>
Code:
'623D0CB3C0042D4690B304D19CABD8AC3E03018CB05C96F5EA95D794374CEC1DE55B1A23EFF76076C2250E666ACA54E9C7E6E8D717CC793AAAC1A12B9E10280C': b'\xe5\xa9\xd1\xc2\xe5\x0f\x87\x6a\xcb\xb3\x28\x82\xbc\x1a\x34\xca\x72\x12\x62\x28\xe7\x69\xb6\xea\xe6\xe7\x53\xc7\x8a\x5b\xa0\xec'
Dans le dossier de travail exécuter la commande:
Code:
python teslacrack.py
Vérifier le fichier décrypté pour conformité avant de lancer le décryptage de tous les fichiers
Si ça n'a pas marché je vous invite à aller voir les autres options possibles sur le site source de ce post:
GitHub - Googulator/TeslaCrack: Decryptor for the TeslaCrypt malware
6/ Lancement du décryptage des fichiers
Code:
python teslacrack.py X:\<répertoire>\
/!\ REMARQUE /!\
Option possible: --delete pour supprimer les fichiers cryptés une fois décryptés correctement
Code:
python teslacrack.py X:\<répertoire>\ --delete
Considérations
Une lapalissade à propos de la place nécessaire au décryptage de l'ensemble des fichiers:
Il faut bien sûr avoir un espace disponible au moins égal au volume initial de données à traiter si vous n'utilisez pas l'option --delete !
C'est aussi une question de temps…
Puissance du processeur, complexité de la clé privée, quantité de données à décrypter...
Je remercie alexandre01 pour ses indications.
Source: GitHub - Googulator/TeslaCrack: Decryptor for the TeslaCrypt malware
Compléments:
Mail malicieux : TeslaCrypt Ransomware (virus RSA 4096) - Malekal's forum
https://gilchrist.ca/jeff/factoring/nfs_beginners_guide.html
https://gilchrist.ca/jeff/factoring/
Pièces jointes
-
22.8 KB Affichages: 1,380
Dernière édition par un modérateur:
Ne suivez pas ce lien ou vous tomberez dans un trou noir et vous serez banni du site.
