Accueil / Cybersécurité / Le ransomware Cuba déploie un nouveau logiciel malveillant

Le ransomware Cuba déploie un nouveau logiciel malveillant

Découvertes concernant le groupe de ransomware connu sous le nom de Cuba : le groupe a récemment déployé des logiciels malveillants qui ont échappé à la détection avancée, et ciblé des organisations partout dans le monde, compromettant ainsi des entreprises œuvrant dans divers secteurs d’activité.

En décembre 2022, des spécialistes  de la cybersécurité détectaient un incident suspect sur le serveur d’un de ses clients, avec la découverte de trois fichiers douteux. Ces fichiers ont déclenché une séquence de tâches qui ont conduit au chargement de la bibliothèque komar65, aussi appelée BUGHATCH.

BUGHATCH est une porte dérobée sophistiquée qui se déploie dans la mémoire du processus. Le programme exécute un bloc de shellcode intégré dans l’espace mémoire qui lui est alloué à l’aide de l’API Windows, qui comprend diverses fonctions. Il se connecte ensuite à un serveur de commande et de contrôle (C2) en attente d’autres instructions. Il peut recevoir des commandes pour télécharger des logiciels tels que Cobalt Strike Beacon et Metasploit. L’utilisation de Veeamp dans l’attaque suggère fortement l’implication de Cuba dans le déploiement de cette attaque.

Un moustique dans le serveur

Le fichier PDB fait notamment référence au dossier « komar », un mot russe signifiant « moustique », ce qui indique la présence potentielle de membres russophones au sein du groupe. En menant une analyse plus poussée, des experts ont découvert d’autres modules distribués par Cuba, qui améliorent les fonctionnalités du logiciel malveillant. L’un de ces modules est chargé de collecter des informations sur le système, qui sont ensuite envoyées à un serveur via des requêtes HTTP POST.

Poursuivant son enquête, les chercheurs ont identifié de nouveaux échantillons de logiciels malveillants attribués au groupe Cuba sur VirusTotal. Certains de ces échantillons étaient passés entre les mailles de la détection avancée fournie par d’autres fournisseurs de sécurité. Ces échantillons représentent de nouvelles itérations du logiciel malveillant BURNTCIGAR, exploitant des données cryptées pour échapper à la détection antivirus.

« Les gangs de ransomware comme Cuba évoluent rapidement, tout en affinant leurs tactiques, il est donc essentiel de rester à l’avant-garde pour contrer efficacement les attaques potentielles. Face à l’évolution constante du paysage des cybermenaces, la connaissance est l’ultime défense contre les groupes cybercriminels émergents« , a déclaré Kaspersky.

Cuba est une souche de ransomware à fichier unique, difficile à détecter, car elle fonctionne sans bibliothèques additionnelles. Ce groupe russophone est connu pour sa victimologie étendue, et cible des secteurs tels que la vente au détail, la finance, la logistique, les agences gouvernementales et la fabrication en Amérique du Nord, en Europe, en Océanie et en Asie. Les agents malveillants œuvrant au sein de Cuba utilisent un mélange d’outils publics et propriétaires, mettent régulièrement à jour leur boîte à outils et utilisent des tactiques telles que BYOVD (Bring Your Own Vulnerable Driver).

L’une des caractéristiques de leur opération consiste à modifier les dates et les heures des fichiers compilés afin d’induire les enquêteurs en erreur. Par exemple, certains échantillons trouvés en 2020 avaient une date de compilation du 4 juin 2020, alors que les horodatages de versions plus récentes étaient affichés comme étant datées du 19 juin 1992. Leur approche unique consiste non seulement à crypter les données, mais aussi à adapter les attaques pour extraire des informations sensibles, telles que des documents financiers, des relevés bancaires, des comptes d’entreprise et du code source. Les entreprises de développement de logiciels sont particulièrement exposées. Bien que Cuba soit sous les feux des projecteurs depuis un certain temps maintenant, ce groupe reste dynamique et affine constamment ses techniques.

Étiquetté :

Nos partenaires




Actualités du mois

mars 2026
L M M J V S D
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Articles en UNE

Actus zataz



Réseaux sociaux


Liste des sujets


<!-- Cyber'Émission ZATAZ — badge volant (déplaçable) + réduire/fermer -->
<div class="zataz-yt-float" id="zatazYtFloat" role="region" aria-label="Cyber'Émission ZATAZ">
  <div class="zataz-yt-float__bar" id="zatazYtBar">
    <span class="zataz-yt-float__title">Cyber'Émission ZATAZ</span>

    <div class="zataz-yt-float__actions">
      <button type="button" class="zataz-yt-float__btn" id="zatazYtMin" aria-label="Réduire">—</button>
      <button type="button" class="zataz-yt-float__btn zataz-yt-float__btn--close" id="zatazYtClose" aria-label="Fermer">×</button>
    </div>
  </div>

  <a class="zataz-yt-badge" href="https://www.youtube.com/@ZATAZCOM" target="_blank" rel="noopener noreferrer"
     aria-label="Regarder Cyber'Émission ZATAZ sur YouTube (nouvel onglet)">
    <span class="zataz-yt-badge__thumb" aria-hidden="true">
      <span class="zataz-yt-badge__play" aria-hidden="true"></span>
    </span>
  </a>
</div>

<style>
  .zataz-yt-float{
    position:fixed;
    right:18px;
    bottom:18px;
    z-index:99999;
    width:320px;
    max-width:calc(100vw - 36px);
    border-radius:14px;
    overflow:hidden;
    background:linear-gradient(135deg,#111827,#0b1220 55%,#111827);
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 14px 40px rgba(0,0,0,.35);
    transform:translateZ(0);
    user-select:none;
    touch-action:none; /* drag mobile */
  }

  /* Barre de drag + boutons */
  .zataz-yt-float__bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 10px 10px 12px;
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:#fff;
    background:rgba(0,0,0,.18);
    border-bottom:1px solid rgba(255,255,255,.10);
    cursor:grab;
  }
  .zataz-yt-float__bar:active{ cursor:grabbing; }
  .zataz-yt-float__title{
    font-weight:800;
    letter-spacing:.2px;
    font-size:15px;
    line-height:1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .zataz-yt-float__actions{ display:flex; gap:8px; }
  .zataz-yt-float__btn{
    appearance:none;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(0,0,0,.28);
    color:#fff;
    width:32px;
    height:28px;
    border-radius:10px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    display:grid;
    place-items:center;
  }
  .zataz-yt-float__btn:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.28); }
  .zataz-yt-float__btn--close:hover{ background:rgba(239,68,68,.22); border-color:rgba(239,68,68,.45); }

  /* Contenu (votre vignette) */
  .zataz-yt-badge{
    display:block;
    text-decoration:none;
    color:#fff;
  }
  .zataz-yt-badge__thumb{
    display:block;
    height:180px;
    background:#0f172a url("https://i.ytimg.com/vi/HUo8dnD6Swk/hqdefault.jpg") center/cover no-repeat;
    position:relative;
  }
  .zataz-yt-badge__play{
    position:absolute;
    left:50%;
    top:50%;
    width:54px;
    height:54px;
    margin:-27px 0 0 -27px;
    border-radius:999px;
    background:rgba(0,0,0,.55);
    border:1px solid rgba(255,255,255,.25);
    box-shadow:0 10px 22px rgba(0,0,0,.35);
  }
  .zataz-yt-badge__play:before{
    content:"";
    position:absolute;
    left:22px;
    top:16px;
    width:0;height:0;
    border-top:11px solid transparent;
    border-bottom:11px solid transparent;
    border-left:16px solid #fff;
  }

  .zataz-yt-float:hover{
    box-shadow:0 18px 55px rgba(0,0,0,.45);
    border-color:rgba(255,255,255,.18);
  }
  .zataz-yt-badge:active{ transform:scale(.99); }

  /* Etat réduit */
  .zataz-yt-float.is-min .zataz-yt-badge{ display:none; }
  .zataz-yt-float.is-min{ width:260px; }

  /* Mobile : plus compact */
  @media (max-width:480px){
    .zataz-yt-float{ width:280px; right:12px; bottom:12px; }
    .zataz-yt-badge__thumb{ height:158px; }
    .zataz-yt-float.is-min{ width:220px; }
  }
</style>

<script>
(() => {
  const box = document.getElementById('zatazYtFloat');
  const bar = document.getElementById('zatazYtBar');
  const btnMin = document.getElementById('zatazYtMin');
  const btnClose = document.getElementById('zatazYtClose');

  if (!box || !bar || !btnMin || !btnClose) return;

  // Réduire / restaurer
  btnMin.addEventListener('click', (e) => {
    e.stopPropagation();
    box.classList.toggle('is-min');
    btnMin.textContent = box.classList.contains('is-min') ? '▢' : '—';
    btnMin.setAttribute('aria-label', box.classList.contains('is-min') ? 'Restaurer' : 'Réduire');
  });

  // Fermer
  btnClose.addEventListener('click', (e) => {
    e.stopPropagation();
    box.remove();
  });

  // Drag (souris + tactile) via Pointer Events
  let dragging = false;
  let startX = 0, startY = 0;
  let startLeft = 0, startTop = 0;

  // Position initiale: on convertit right/bottom en left/top pour le drag
  const init = () => {
    const r = box.getBoundingClientRect();
    box.style.left = r.left + 'px';
    box.style.top  = r.top  + 'px';
    box.style.right = 'auto';
    box.style.bottom = 'auto';
  };
  init();

  const clamp = (v, min, max) => Math.min(Math.max(v, min), max);

  bar.addEventListener('pointerdown', (e) => {
    // pas de drag quand on clique sur les boutons
    if (e.target === btnMin || e.target === btnClose) return;

    dragging = true;
    bar.setPointerCapture(e.pointerId);

    const r = box.getBoundingClientRect();
    startX = e.clientX;
    startY = e.clientY;
    startLeft = r.left;
    startTop = r.top;

    e.preventDefault();
  });

  bar.addEventListener('pointermove', (e) => {
    if (!dragging) return;

    const dx = e.clientX - startX;
    const dy = e.clientY - startY;

    const r = box.getBoundingClientRect();
    const w = r.width;
    const h = r.height;

    const maxLeft = window.innerWidth - w - 8;
    const maxTop  = window.innerHeight - h - 8;

    box.style.left = clamp(startLeft + dx, 8, maxLeft) + 'px';
    box.style.top  = clamp(startTop + dy, 8, maxTop) + 'px';
  });

  const endDrag = () => { dragging = false; };
  bar.addEventListener('pointerup', endDrag);
  bar.addEventListener('pointercancel', endDrag);

  // Re-clamp au resize
  window.addEventListener('resize', () => {
    const r = box.getBoundingClientRect();
    const maxLeft = window.innerWidth - r.width - 8;
    const maxTop  = window.innerHeight - r.height - 8;
    box.style.left = clamp(r.left, 8, maxLeft) + 'px';
    box.style.top  = clamp(r.top, 8, maxTop) + 'px';
  });
})();
</script>