Accueil / Piratage / Pirate Versus Pirate

Pirate Versus Pirate

Un groupe de pirates s’attaque à un concurrent. De cette confrontation sont apparues les guerres des menaces persistantes avancées (APT).

L’éditeur de solution de sécurité informatique Kaspersky Lab a observé un cas qu’ils considèrent rare et inhabituel, une attaque perpétrée par un cybercriminel contre un autre. Ils ne doivent pas trainer souvent dans certains chans IRC, forums ou Twitter. Les pirates aiment se taper dessus. Le cas révélé par la société Russe a débuté en 2014. Hellsing, un petit groupe de cyber espions, assez  « anodin » sur le plan technique et ciblant principalement des organismes gouvernementaux et diplomatiques en Asie, a fait l’objet d’une attaque de spear-phishing. Cette attaque a été lancée par un autre groupe de cybercriminels et Hellsing a décidé de répliquer. Kaspersky Lab pense que cela pourrait marquer le début d’une nouvelle tendance dans le monde de la cybercriminalité : les guerres des APT (menaces persistantes avancées).

La découverte a été faite pendant leurs recherches sur les activités de Naikon, un groupe de cyber espionnage visant des cibles dans la zone Asie-Pacifique. Les experts ont remarqué que l’une des cibles de Naikon avait repéré la tentative d’infection de ses systèmes par un e-mail de spear-phishing comportant une pièce jointe malveillante. Le destinataire a vérifié l’authenticité de l’e-mail auprès de l’expéditeur et, apparemment non satisfait de la réponse, n’a pas ouvert la pièce jointe. Peu après, il a renvoyé à l’expéditeur un message contenant un malware de son cru.

Le mode de contre-attaque indique que Hellsing voulait identifier le groupe Naikon et recueillir des informations à son sujet. Une analyse approfondie de la menace Hellsing révèle une succession de mails de spear-phishing accompagnés de fichiers malveillants conçus pour propager un spyware entre les différents destinataires. Si l’un d’entre eux ouvre la pièce jointe malveillante, son système est infecté par un backdoor spécifique, capable de télécharger des fichiers, de se mettre à jour et de se désinstaller. Hellsing compterait près d’une vingtaine de victimes.

Les cibles de Hellsing
Le malware Hellsing a été bloqué en Malaisie, aux Philippines, en Inde, en Indonésie et aux Etats-Unis, les victimes étant les plus nombreuses dans les deux premiers pays. Les auteurs des attaques sont par ailleurs très sélectifs dans le choix de leurs cibles, tentant d’infecter principalement des organismes gouvernementaux et diplomatiques. « Le fait que le groupe Naikon ait été pris pour cible par Hellsing en représailles est pour le moins fascinant. Par le passé, nous avons assisté à des frappes accidentelles entre groupes APT, résultant du vol du carnet d’adresses des victimes puis d’un envoi massif à tous les destinataires répertoriés. Cependant, compte tenu du caractère ciblé et de l’origine de l’attaque, il paraît plus probable qu’il s’agisse d’un cas d’attaque délibérée entre APT », commente Costin Raiu, Directeur de l’équipe GReAT de Kaspersky Lab. Hellsing serait actif depuis au moins 2012 et demeure d’actualité.

Pour se protéger contre les attaques Hellsing, mais aussi par toutes les autres possibilités malveillantes débarquant par mail, DataSecurityBreach.fr vous conseille de ne pas ouvrir les pièces jointes suspectes provenant d’expéditeurs inconnus. De prendre garde aux archives protégées de mot de passe et contenant des fichiers SCR ou d’autres exécutables. En cas de doute sur une pièce jointe, essayer de l’ouvrir dans une zone de quarantaine. Veiller à disposer d’un système d’exploitation récent et à y installer tous les correctifs de sécurité. Mettre à jour toutes les applications telles que Microsoft Office, Java, Adobe Flash Player et Adobe Reader.

É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>