Skip to content

About

Modern WiFi captive portal for EvilPortal with device detection and advanced logging

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Pineapple Captive Portal

License: MIT PHP Version EvilPortal

Un portail captif WiFi moderne et sophistiqué pour EvilPortal, optimisé pour les tests de pénétration autorisés.

📋 Table des matières

🎯 Aperçu

Ce portail captif est spécialement conçu pour les professionnels de la sécurité qui utilisent des outils comme le Pineapple WiFi avec EvilPortal. Il offre une interface moderne et des fonctionnalités avancées pour les tests de pénétration WiFi autorisés.

✨ Points forts

  • 🎨 Interface moderne avec Bootstrap 4
  • 📱 Détection automatique des appareils (iOS, Android, Windows)
  • 🔍 Tests de connectivité natifs pour tous les OS
  • 📊 Logging avancé avec surveillance en temps réel
  • ⚙️ Configuration flexible via JSON
  • 🔐 Gestion ACL intégrée

🚀 Fonctionnalités

Interface utilisateur

  • Design responsive et moderne
  • Logo personnalisable
  • Validation en temps réel
  • Support multi-langue

Détection d'appareils

  • iOS : Tests hotspot-detect.html
  • Android : Tests generate_204 et gen_204
  • Windows : Tests ncsi.txt et connecttest.txt
  • Autres : Détection par User-Agent

Sécurité et logging

  • Logs détaillés avec timestamps
  • Surveillance des tentatives d'authentification
  • Gestion des ACL automatique
  • Protection contre la mise en cache

🛠️ Installation

Prérequis

  • Pineapple WiFi avec EvilPortal installé
  • PHP 7.4+ avec support SQLite3
  • Accès root pour les fonctionnalités avancées

Installation rapide

# 1. Cloner le dépôt
git clone https://github.com/koff75/pineapple-captive-portal.git
cd pineapple-captive-portal

# 2. Copier sur le Pineapple
scp -r Airport/ root@pineapple-ip:/pineapple/modules/evilportal/portals/

# 3. Configurer les permissions
ssh root@pineapple-ip "chmod +x /pineapple/modules/evilportal/portals/Airport/*.php"

Installation manuelle

  1. Téléchargez le projet
  2. Copiez le dossier Airport/ vers /pineapple/modules/evilportal/portals/
  3. Configurez les permissions d'exécution
  4. Activez le portail dans l'interface EvilPortal

⚙️ Configuration

Configuration de base (config.php)

// Chemins des logs
define('LOG_FILE_PATH', '/tmp/airport_debug.log');
define('LOOT_FILE_PATH', '/pineapple/modules/evilportal/log/loot.txt');

// Configuration du portail
define('PORTAL_NAME', 'Airport');
define('PORTAL_TIMEOUT', 30);

// Debug
define('DEBUG_ENABLED', true);
define('VERBOSE_LOGGING', true);

Règles ciblées (Airport.ep)

{
  "name": "Airport",
  "type": "targeted",
  "targeted_rules": {
    "default": "default.php",
    "rule_order": ["mac", "ssid", "hostname", "useragent"],
    "rules": {
      "mac": {
        "exact": {
          "AA:BB:CC:DD:EE:FF": "special-page.php"
        },
        "regex": {
          "/^AA:BB:CC:.*$/": "android-page.php"
        }
      }
    }
  }
}

🎯 Utilisation

Interface principale

Le portail présente une interface claire avec :

  • Champ de saisie pour la phrase de passe WPA2
  • Option d'ajout automatique à l'ACL
  • Affichage des informations de statut
  • Messages d'erreur contextuels

Surveillance des logs

# Visualiser les logs en temps réel
tail -f /tmp/airport_debug.log

# Interface web de logs
http://pineapple-ip/logs-viewer.php

Tests de connectivité

# Tester la détection d'appareils
curl http://pineapple-ip/test-connectivity.php

🔧 Personnalisation

Modifier l'apparence

  1. Logo : Remplacez airport-logo.png
  2. Couleurs : Modifiez style.css et adaptive-styles.css
  3. Texte : Éditez les chaînes dans default.php

Ajouter des règles personnalisées

{
  "rules": {
    "useragent": {
      "regex": {
        "/iPhone/": "ios-page.php",
        "/Android/": "android-page.php"
      }
    }
  }
}

📁 Structure du projet

Airport/
├── 📄 index.php              # Point d'entrée principal
├── 📄 default.php            # Page par défaut
├── ⚙️ config.php             # Configuration centralisée
├── 🔧 helper.php             # Fonctions utilitaires
├── 📋 Airport.ep             # Règles JSON
├── 🖼️ airport-logo.png      # Logo du portail
├── 🎨 style.css              # Styles principaux
├── 📱 adaptive-styles.css    # Styles adaptatifs
├── 🔍 device-detection-simple.js # Détection d'appareils
├── ⚡ func-improved.js       # Fonctions JavaScript
├── 📁 css/                   # Bootstrap CSS
├── 📁 js/                    # Scripts JavaScript
└── 📁 fonts/                 # Polices Bootstrap Icons

🐛 Dépannage

Problèmes courants

Le portail ne s'affiche pas

# Vérifier les permissions
ls -la /pineapple/modules/evilportal/portals/Airport/

# Vérifier les logs
tail -f /tmp/airport_debug.log

Les tests de connectivité échouent

# Vérifier la configuration
cat /pineapple/modules/evilportal/portals/Airport/Airport.ep

Problèmes de logging

# Vérifier l'espace disque
df -h /tmp/

# Redémarrer les services
/etc/init.d/evilportal restart

Logs de debug

// Activer le debug détaillé
define('DEBUG_ENABLED', true);
define('VERBOSE_LOGGING', true);

🤝 Contribution

Les contributions sont les bienvenues ! Voici comment contribuer :

  1. Fork le projet
  2. Créez une branche (git checkout -b feature/amazing-feature)
  3. Commitez vos changements (git commit -m 'Add amazing feature')
  4. Push vers la branche (git push origin feature/amazing-feature)
  5. Ouvrez une Pull Request

Guidelines

  • Suivez les conventions de code PHP
  • Ajoutez des tests pour les nouvelles fonctionnalités
  • Documentez les changements dans le README
  • Respectez la licence MIT

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

⚠️ Avertissement légal

IMPORTANT : Ce projet est destiné uniquement à des fins éducatives et de test de pénétration autorisé. L'utilisation de ce logiciel pour des activités illégales est strictement interdite. Les développeurs ne sont pas responsables de l'utilisation abusive de ce code.

📞 Support

🔄 Changelog

[1.0.0] - 2024-01-XX

Ajouté

  • Interface moderne avec Bootstrap 4
  • Détection automatique des appareils
  • Support complet des tests de connectivité
  • Système de logging avancé
  • Gestion ACL intégrée
  • Configuration JSON flexible
  • Documentation complète

Développé avec ❤️ pour la communauté de sécurité WiFi

⭐ Star ce projet | 🐛 Signaler un bug | 💡 Demander une fonctionnalité

About

Modern WiFi captive portal for EvilPortal with device detection and advanced logging

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages