Académique Documents
Professionnel Documents
Culture Documents
Google Rapid Response
Google Rapid Response
GRR Rapid Response est un cadre de réponse aux incidents axé sur
l’investigation direct à distance.
GRR client est déployé sur des systèmes que l'on pourrait vouloir examiner.
Sur chacun de ces systèmes, une fois déployé, le client GRR interroge
périodiquement les serveurs frontaux GRR pour le travail. « Travail »
désigne l'exécution d'une action spécifique : téléchargement d'un fichier,
référencement d'un répertoire, etc.
I. SCENARIO D’INCIDENT :
Mohamed, un employé consciencieux du service financier, s'ennuie pendant une longue
réunion. Il sort son ordinateur portable pour passer le temps. Habituellement prudent
avec les emails et les pièces jointes, il se laisse tenter en naviguant sur un site web
non officiel.
Le site propose une calculatrice gratuite, un petit logiciel téléchargeable qui promet
d'être plus performante que la calculatrice basique de son système. Intrigué par la
nouveauté, Mohamed décide de la télécharger sans trop y réfléchir.
Erreur fatale ! Le site internet est en réalité une source malveillante qui diffuse des
logiciels piégés. La calculatrice téléchargée par Mohamed, en apparence inoffensive,
cache en réalité un programme malveillant.
II. DETECTION :
En tant qu'intervenant chargé de gérer cette situation à l'aide de Google Rapid Response
(GRR), notre objectif principal est de contenir la menace, de recueillir des informations
sur l'incident et d'atténuer les dommages potentiels. Voici un plan étape par étape :
1. INSTALLATION DE MYSQL :
MySQL est la base de données par défaut de GRR, et doit être opérationnel avant
l'installation de GRR.
apt install -y mysql-server
NOTE : La création d'un nouvel utilisateur est facultative puisque GRR peut utiliser les
informations d'identification de l'utilisateur root pour se connecter à MySQL.
2. TÉLÉCHARGER LA DERNIÈRE VERSION DE SERVER DEB:
Wget https://storage.googleapis.com/releases.grr-response.com/grr-server_3.4.7-1_amd64.deb
Une fois l'installation terminée, nous vérifions si le serveur est en cours d’exécution :
systemctl status grr-server
Nous avons choisi « grr.server.cmc » comme adresse de serveur GRR, maintenant nous
devons ajouter ce domaine au fichier « hosts » de chaque client et associez-le à
l'adresse IP du serveur GRR.
Après cela, nous pouvons accéder à l'interface web du serveur en utilisant l'adresse IP
ou le nom de domaine et le port 8000.
Pour installer un client dans une machine waindows, nous devons d'abord le télécharger
depuis le serveur grr:
Après avoir téléchargé un exécutable sur une machine Windows, tout ce que nous avons
à faire est de l’exécuter :
Et s'il n'y a pas d'erreurs de configuration, l'agent apparaîtra dans notre serveur GRR:
COLLECTE D'INFORMATIONS :
Pour collecter des informations sur l'hôte, nous pourrions sélectionner l'interogate dans
la page client :
Nous avons suivi le flux TCP à l'aide de WIRESHARK et nous avons trouvé ceci :
Maintenant, il est très clair pour nous que l'attaquant a une shell inversée à la machine
de Mohamed.
Pour détecter l'application source de se reverse shell, nous utiliserons GRR.
Comme nous le voyons sur l'image, le programme de calcul a une connexion établie
avec la machine de l'attaquant.
Maintenant que nous avons une idée de ce qu'il fait, nous allons maintenant reverse
engineer cette application using Pyinstxtractor and Pycdc :
Après avoir extrait l'application à l'aide de Pyinstxtractor, nous allons décompiler le
fichier calculator.pyc à l'aide de pycdc:
Après avoir analysé le code source, nous avons remarqué quelque chose dans la
variable « based »
C'est un texte encodé en Base64, nous l'avons décodé et nous l'avons trouvé :
Il s'agit d'un texte codé en base64 intégré dans le code source de l'application de calcul
qui ouvre un shell pour la machine de l'attaquant en utilisant son adresse IP et le port
4545.