Back Orifice Scénario en 3 étapes - Préparation & envoi - Infection & Installation - Prise de contrôle - Détections Possibles - Net-Based - Host-Based - Détections Snort - analyse des règles existantes - analyse de nos règles
- Préparation du fichier « infecté ». - Envoi par du fichier à la victime. Préparation et Envoi
New service(‘umgr32.exe’)*EXEC(‘pacman.exe’) * nom du service ‘Remote Administration Service’ (valeurs par défaut) - Cache le serveur dans le processus ‘explorer.exe’ (par défaut) - Envoie un avec les adresses IP de la VICTIME Infection & Installation
- Transfert de fichiers - Edition de la base de registres - Liste des mots de passe - Gestion des ressources partagées - Lecture des touches tapées au clavier - Vision de l’écran de la victime (plugin) - Redirection de port TCP - Service Http : PORT DISQUE etc... Prise de Contrôle
Exemple de Redirection de port TCP Prise de Contrôle, L’Attaquant n’a pas accès au serveur ftp xxx.xxx.xxx.123 La Victime a accès au serveur, l ’attaquant accède au serveur « à travers » la Victime.
Problèmes Les Antivirus détectent backorifice ! Executez-vous tous les programmes que vous recevez ? Protégé par un firewall ? La victime est dans un Réseau privé ?
Détections Possibles NET-BASED - Fichier binaire contenant le serveur - Fichier binaire dans un - Surveillance des ports « par défaut » - Décodage XOR des paquets HOST-BASED - Fichier binaire du serveur sur disque (à la création, execution, …) - Surveillance de la base de registres - Surveillance des ports...
Net-Based Détection du « téléchargement » du serveur Fichier binaire transféré (ftp, http, …) Fichier binaire attaché à un Problème : quelle partie du binaire détecter ? Fichier binaire compressé par les format et options les plus communes (Zip). Avantage : détecte avant exécution/infection
Net-Based Détection de la communication client-serveur Surveillance des communications sur les ports par défaut de backorifice (54320 tcp et udp ) - Peu coûteux - Peu efficace car les ports sont aisément configurables Décodage XOR des paquets pour identifier les commandes envoyés par le client au serveur. - Nécessite beaucoup de ressources processeur. - pas pour 3DES - Détecte sur tous les ports - 3DES non fourni par défaut avec bo2k
Host-Based Détection de l ’installation/exécution du serveur Utilisation d ’un Antivirus pour - Scanner les fichiers - Scanner les fichiers exécutés - Scanner automatiquement les nouveaux fichiers créés. Surveillance de la base de registres Détection de la communication client-serveur Surveiller les ports ouverts pour voir s’ils sont fréquemment utilisés.
Snort Règles Existantes alert tcp $HOME_NET > !$HOME_NET any (msg:"BACKDOOR ACTIVITY-Possible BackOrifice 2000"; flags:SA;) alert tcp !$HOME_NET any -> $HOME_NET (msg:"BACKDOOR ATTEMPT-BackOrifice 2000"; flags:S;) - Ports par défaut (54320 pour tcp) - serveur bo2k dans $HOME_NET - client bo2k PAS dans $HOME_NET - Fausses Alertes possibles : dus aux ports dynamiques, par exemple http (1 port dynamique par connection). Variante : prendre !80 au lieu de any (évite les FA http)
# Détection du fichier executable (ftp, http,...) alert tcp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"trojan- download-bo2k tcp"; content:"|00 8B D1 57 B B8 00|";) Snort Notre Détection Détection dans les paquets entrants d’une chaine binaire significative du serveur backorifice : Variante 1 : chaine de caractères ASCII pour le même server, encodé pour transfert par # Détection du fichier encodé pour alert tcp $EXTERNAL_NET any -> $HOME_NET 10247: (msg:"trojan -download-mail-bo2k tcp"; content:"wUU1aL8TPbD7YGUI";)
Snort Notre Détection Variante 2 : fichier binaire compressé pour les formats et serveurs les plus communs. alert tcp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:"trojan-download-zip1-bo2k tcp"; content:"|A6 1A EF 81 C6 7D 79 ED 7C 68 D5 C0 CA D7|";) alert tcp $EXTERNAL_NET any -> $HOME_NET 1024: (msg:" trojan-download-zip1-bo2k tcp"; content:"|8A AF FD 54 E5 EE 46|";) Tests de la validité de la chaine binaire choisie : Testé sur un grand* nombre de transferts de fichiers divers sans provoquer d’alertes (* 500 MB)
Snort Critique de notre Détection - Probabilité de fausses alertes très faible malgré une étendue de détection élevée: - détection sur tous les ports (à priori > 1024) - détection sur plusieurs formats (exe,zip, ,…) - Détection avant installation de backorifice - Nécessite des ressources importantes (vérifier le contenu de tous les paquets sur tous les ports est for coûteux) - Ne détecte pas si archive crypté ou compressé avec des formats autres. Souvent Compromis entre Détections et Ressources