Accueil / Cybersécurité / Des Trojans Android volent des logins et mots de passe d’utilisateurs Facebook

Des Trojans Android volent des logins et mots de passe d’utilisateurs Facebook

Détection de plusieurs applications malveillantes sur Google Play. De fausses applications qui volent des logins et des mots de passe d’utilisateurs de Facebook. Plus de 5,8 millions d’installations.

Un éditeur photo nommé Processing Photo. Il a été propagé par son développeur chikumburahamilton, ce malware a été installé plus de 500 000 fois.

Des applications App Lock Keep du développeur Sheralaw Rence, App Lock Manager éditée par Implummet col et Lockit Master du développeur Enali mchicolo, ces programmes malveillants permettent de configurer une limitation d’accès aux appareils Android et aux logiciels installés sur les appareils. Ces malwares ont été téléchargés au moins 50 000, 10 et 5 000 fois respectivement.

Un utilitaire destiné à optimiser le fonctionnement d’appareils Android – Rubbish Cleaner du développeur SNT.rbcl qui a été téléchargé plus de 100 000 fois.

Des programmes d’astrologie Horoscope Daily du développeur HscopeDaily momo et Horoscope Pi du développeur Talleyr Shauna. La première application a été installée plus de 100 000 fois et la deuxième plus de 1000 fois. Un programme de fitness Inwell Fitness du développeur Reuben Germaine, qui a connu plus de 100 000 installations.

Stealers

Un éditeur d’image PIP photo diffusé par le développeur Lillians. Les différentes versions de ce programme sont détectées comme Android.PWS.Facebook.17 et Android.PWS.Facebook.18. Cette application a été téléchargée plus de 5 millions de fois.
Dès que les experts de Doctor Web ont rapporté le problème à Google Inc., une partie des applications malveillantes ont été retirées mais au moment de la sortie de cette publication, certaines d’entre elles restent encore disponibles en téléchargement.

De plus, l’étude de ces stealers a montré l’existence d’une version antérieure d’un de ces malwares, propagée via Google Play sous couvert de l’éditeur photo EditorPhotoPip. Bien qu’il ait été retiré du catalogue, il restait disponible en téléchargement sur les sites d’agrégateurs d’applications.

Les applications étaient pleinement opérationnelles, ce qui devrait affaiblir la vigilance de leurs victimes potentielles. Pour accéder à toutes leurs fonctions, ainsi que pour prétendument désactiver la publicité, les utilisateurs étaient invités à se connecter à leurs comptes Facebook. Certaines applications contenaient des publicités, ce qui pouvait également affaiblir l’attention des utilisateurs et les pousser à exécuter une action proposée par les pirates. Si l’utilisateur acceptait la proposition et qu’il cliquait sur le bouton, il voyait un formulaire standard de saisie de login et de mot de passe.

Paramètres nécessaires pour voler des noms d’utilisateur et mots de passe

Il faut noter que les champs de saisie sont authentiques. Les Trojans utilisent un mécanisme spécialisé pour tromper leurs victimes. Après avoir reçu les paramètres d’un des serveurs de contrôle, les pirates téléchargent la page légitime de Facebook https://www.facebook.com/login.php dans WebView. Dans cette même WebView, ils téléchargent JavaScript depuis leur serveur qui intercepte les données d’authentification saisies. Ensuite, le JavaScript, en utilisant les méthodes fournies via JavascriptInterface, transmet les logins et les mots de passe volés aux applications, qui à leur tour les envoient au serveur des pirates. Une fois qu’une victime était connectée à son compte, les Trojans volaient également les fichiers cookies de la session d’authentification pour les envoyer aux pirates.

L’analyse de ces programmes malveillants a montré qu’ils ont tous reçu les paramètres nécessaires pour voler des noms d’utilisateur et mots de passe des comptes Facebook. Cependant, les attaquants sont en mesure de changer facilement les paramètres et de donner la commande de télécharger la page d’un service légitime ou d’utiliser un formulaire de saisie contrefait publié sur un site de phishing. Ainsi, les chevaux de Troie peuvent être utilisés pour voler des noms d’utilisateur et mots de passe de n’importe quel service. Le programme malveillant Android.PWS.Facebook.15 qui est une modification antérieure, est identique aux autres, mais il comprend également la sortie des données vers un fichier log dans la langue chinoise, ce qui peut indiquer son origine.

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