42
's Backdoors Présentation des backdoors

s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

Embed Size (px)

Citation preview

Page 1: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

's Backdoors

Présentation

des backdoors

Page 2: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Objectif et plan

L’objectif de cette présentation est de faire une démonstration des possibilités de backdoors avancées sous Windows

Elle commence par une présentation de l’environnement et des backdoors, suivie d’une démonstration effectuée via une capture vidéo

Page 3: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

Avertissement

---

La présentation, au cours de cette démonstration, de techniques de compromission a pour unique objectif de vous permette de mieux les appréhender pour mieux vous en protéger

Ces manipulations ont été faites dans un environnement de test privé et confiné

Pour mémoire toute tentative d’intrusion sur un réseau ou sur des machines ne vous appartenant pas est illégale

Page 4: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

Partie IPrésentation du contexte

Page 5: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Description du contexte

On considère le cas d’attaques ciblées : l’objectif est la récupération de documents confidentiels sur le poste d’une entreprise

Cette présentation se concentre sur la partie évasion de données. L’introduction de la backdoor ne sera pas considérée. Ce seront des exécutables directement lancés sur les postes compromis

Page 6: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Réseau de l’entreprise (1)

L’architecture considérée sera une représentation simplifiée d’un réseau d’entreprise : Un LAN de machines sous Windows Les postes sont autorisés à accèder au web

via un proxy Les connexions directes vers l’extérieur sont

interdites

Page 7: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Réseau de l’entreprise (2)

INTERNETRéseau

de l’entrepri

se

FIREWALL

PROXY HTTP(S)

SERVEUR HTTP(S)

CONNEXIONS DOIVENT PASSER PAR

LE PROXY

CONNEXIONS DIRECTES SONT

INTERDITES

Page 8: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

Partie IIPrésentation des backdoors

Page 9: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Deux clients, un serveur

Les backdoors sont des parties clientes se connectant sur une partie serveur Il existe deux backdoors (parties clientes) : Fratus et Parsifal

Elles communiquent avec une partie serveur : BlackMoon

Page 10: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Principe de communication

Méthode de communication s’apparente à du polling afin de ressembler à des requêtes web (principe détaillé plus loin)

Backdoor BlackMoonRequête

RéponseSLEEP

Page 11: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Les backdoors implémentent une interface standard sur laquelle viennent se brancher des « modules »

Modularité des backdoors (1)Module 1Module 2

Backdoor BlackMoon

Page 12: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Modularité des backdoors (2)

Les backdoors ont pour unique objectif d'établir une communication avec BlackMoon. Les fonctionnalités réelles sont dans les modules

Les modules sont des dlls qui exportent un ensemble standardisé de fonctions

Elles sont uploadées depuis BlackMoon et chargées dans l'espace processus de la backdoor

Page 13: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Modularité des backdoors (3)

Avantages L’ajout de nouvelles fonctionnalités est rapide

et facile La taille de la backdoor reste faible Il est possible d’uploader uniquement les

modules requis sur l’hôte Il suffit de connaître l’interface pour développer

de nouveaux modules. Il est inutile de comprendre/d’avoir le code de la backdoor

Page 14: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Modularité des backdoors (4)

Exemples de modules déjà développés : CMD = « cmd » distant FIF = Recherche récursive dans les fichiers GPW = Capture de mot de passe BNR = Banner fingerprint FWD = Ajoute la fonctionnalité forward SCAN = Scanner TCP (syn/cnt) / ICMP /

UDP SNST = Effectue des screenshots

Page 15: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Adresse de la partie serveur communiquant peut être retrouvée : Dans la backdoor elle-même Dans les logs du proxy

Pour éviter que la remontée à l’attaquant soit possible, des relais (fwd) sont ajoutés entre la backdoor et BlackMoon

Notion de fwd (1)

Page 16: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Notion de fwd (2)

Principe avec un relais (fwd) :

Requête

RéponseBackdoor BlackMoonfwd

Requête

Réponse

Problème : l’attaquant n’a aucun lien et donc aucun contrôle sur le fwd => celui-ci peut s’arrêter à tout moment

Il faut donc introduire une redondance

Page 17: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Réponse

Réponse

Notion de fwd (3)

Généralisation avec N relais :

Backdoor BlackMoonfwd

fwd

fwd

fwd

fwd

fwd

Requête

Requête

Réponse

Requête

Réponse

Choisi un fwd au hasard

Requête

Requête

Requête

Réponse

Réponse

Choisi un fwd au hasard

Choisi un fwd au hasard

Forwarder éteint

Echec de la connection

Marque fwd

comme down

Page 18: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Notion de fwd (4)

Chaque relais choisi aléatoirement le relais suivant

Le chemin reste établit pendant une durée limitée (30 s.) puis est reconstruit avec d’autres relais

Si un relais n’est plus disponible, il est écarté de la liste des relais valides

La fonctionnalité de fwd est implémentée par un module; toute backdoor peut devenir un fwd

Page 19: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Par défaut, les backdoors utilisent des canaux cachés dans HTTP pour communiquer

Comme pour les modules, il est possible de d’ajouter le support de nouveaux protocoles dynamiquement

Modularité du protocole (1)

Page 20: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Modularité du protocole (2)

Il existe une interface normalisée entre les backdoors et les modules protocoles

Backdoor

Module 1Module 2

BlackMoonHTTP Protocole

2

Page 21: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Modularité du protocole (3)

Comme pour les modules, l’ajout d’un nouveau protocole se fait en uploadant une dll, qui sera ensuite chargée dans l’espace processus de la backdoor

Les protocoles actuellement supportés sont : HTTP (Hardcodé dans la backdoor) HTTPS DIRECT JABBER

Page 22: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Communication via HTTP (1)

Communication dans des canaux cachés: Backdoor => BlackMoon : données encodées

(par XOR) dans les requêtes (GET/POST) BlackMoon => Backdoor : données encodées

(par XOR et base 64) et placées à un offset aléatoire dans la page HTML

Une URL est extraite de la page HTML et utilisée lors de la requête suivante

Page 23: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Communication via HTTP (2)

Principe de la communication par HTTP

Backdoor BlackMoon

GET http://www.server.com/options.html HTTP/1.1 GET /options.html HTTP/1.1

HTTP 200 OK…<HTML>…[REAL DATA XORED& ENCODED IN BASE64]…</HTML>

HTTP 200 OK…<HTML>…[REAL DATA XORED& ENCODED IN BASE64]…</HTML>

Page 24: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Communication via HTTPS

Ouverture d’une véritable connexion SSL Nécessite l’upload des librairies OpenSSL Supporte la communication via PROXY Des données inutiles sont ajoutées à la

réponse pour conserver un rapport U/D faible

Page 25: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Communication via DIRECT

Protocole simple sans canaux cachés N’est pas un protocole standardisé, ne

supporte donc pas les proxys. La communication doit être directe

Peut être utilisé dans un environnement non sécurisé (ordinateur utilisateur classique)

Page 26: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Communication via JABBER

Les données sont encodées en base 64 et envoyée d’un utilisateur à un autre via un message

Protocole plus fragile que les autres car la connexion n’est pas directe

Page 27: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Chaque protocole implémente la fonctionnalité de forward en plus de la fonctionnalité « client »

Les forwarders sont capables de désencapsuler des données d’un protocole vers un autre

FWD et protocoles (1)

Page 28: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

FWD et protocoles (2)

PROXY

Par exemple dans la chaîne suivante, la communication va passer par le proxy en HTTP(S), puis passer en JABBER, puis en DIRECT

JABBER

JABBERDIRECT

Backdoor BlackMoon

HTTP(S)

Page 29: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

FWD et protocoles (3)

Pour les protocoles HTTP(S) et DIRECT, le FWD doit être accessible depuis Internet

L’utilisation de protocole client-client comme JABBER permet d’avoir des FWD sur des machines non accessibles depuis Internet (par exemple des machines cachées derrière du NAT)

Page 30: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

FWD et protocoles (4)

La transformation protocole (client/serveur) vers protocole (client/serveur) est facile

3 connexions en entrée

3 connexions

en sortie

Page 31: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

FWD et protocoles (5)

Dans le cas de protocoles client-client (JABBER), la connexion doit multiplexer les requêtes des backdoors en amont

3 connexions en entrée

JABBER

1 seule connexion en sortie

Page 32: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Les deux backdoors implémentent toutes les deux les interfaces module et protocole

Tous les modules et

les protocoles peuvent

donc se plugger sur

l’une et sur l’autre

Modularité conclusionModule 1Module 2

Backdoor(Fratus ou Parsifal)

HTTP Protocole2

Page 33: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Fratus s’exécute en tant que processus séparé

Elle récupère les paramètres de connexions au web via les fichiers de configuration des navigateurs (Internet Explorer, Firefox, Netscape)

Présentation de Fratus

Page 34: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Parsifal s’exécute en tant que thread dans les processus de l’utilisateur

Elle adopte un comportement virale en mémoire

Tous les nouveaux processus lancés sont également infectés

Présentation de Parsifal (1)

Page 35: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Présentation de Parsifal (2)

Parsifal récupère les paramètres de connexions au web en hookant certaines fonctions et en analysant les paramètres passés lors des appels. Elle n’est donc pas liée à l’utilisation d’un navigateur

Une fois les paramètres obtenus, il existe plusieurs modes. Par défaut, elle lance un navigateur caché dans lequel elle s’exécute

Page 36: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Présentation de Parsifal (3)

Comme les connexions sont établies à partir de threads dans les navigateurs, Parsifal contourne le filtrage des firewalls personnels

Page 37: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Présentation de Parsifal (4)

Autres fonctionnalités: Rootkits user-land (répertoire d’installation et

clé de registre de redémarrage cachés) Logge les accès HTTP(S) de Internet Explorer Supporte les proxys avec authentification Récupération des mots de passe POP3 Envoi d’une copie des mails en bcc

Page 38: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

Partie III Démonstration

Page 39: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Démonstration

La démonstration est disponible sous forme d’une vidéo sur mon site perso :

http://benjamin.caillat.free.fr/backdoors.php

Page 40: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

Partie IVConclusion

Page 41: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

A venir

Continuer les tests Améliorer l’efficacité du transfert de

données entre les fwd et BlackMoon Développer de nouveaux modules Ajouter de nouveaux protocoles (IRC) Tester avec d’autres firewalls personnels

avancés

Page 42: s Backdoors Présentation des backdoors. - x90re backdoors - Objectif et plan Lobjectif de cette présentation est de faire une démonstration des possibilités

- x90re backdoors -

Contact

Pour toutes questions/remarques:

[email protected]