• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • Apprenez à installer le serveur et le client GRR (Google Rapid Response) sur Ubuntu pour effectuer des instigations.

    Introduction

    GRR (Google Rapid Response) est un cadre de réponse aux incidents basé sur Python qui peut être utilisé en direct criminalistique et enquêtes. Il vous permet d'examiner et d'attaquer et d'effectuer des analyses à distance.

    GRR peut être déployé dans une architecture serveur-client. Il est livré avec une interface utilisateur Web qui vous permet d'analyser les données collectées auprès des clients. Il prend en charge Linux, Mac OS X et Windows OS.

    Nos Exigences

    • Un serveur exécutant Ubuntu 18.xx
    • Un mot de passe root est configuré sur votre serveur

    Commencer

    Avant de commencer, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante:

    apt-get update -y

    Une fois votre système mis à jour, redémarrez le système pour appliquer toutes les modifications.

    Installer et configurer la base de données

    Tout d'abord, vous devrez installer le serveur de base de données MariaDB sur votre système. Vous pouvez l'installer avec la commande suivante:

    apt-get install mariadb-server -y

    Une fois l'installation terminée, sécurisez l'installation de MariaDB en exécutant la commande suivante:

    mysql_secure_installation

    Répondez à toutes les questions comme indiqué ci-dessous:

    Enter current password for root (enter for none):
    Set root password? [Y/n]: N
    Remove anonymous users? [Y/n]: Y
    Disallow root login remotely? [Y/n]: Y
    Remove test database and access to it? [Y/n]: Y
    Reload privilege tables now? [Y/n]: Y

    Une fois que MariaDB est sécurisé, connectez-vous au shell MariaDB à l'aide de la commande suivante:

    mysql -u root -p

    Entrez votre mot de passe root. Ensuite, créez une base de données et un utilisateur pour GRR avec la commande suivante:

    MariaDB [(none)]> CREATE DATABASE grr;
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON grr.* TO 'grr'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

    Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante:

    MariaDB [(none)]> FLUSH PRIVILEGES;
    MariaDB [(none)]> EXIT;

    Ensuite, redémarrez le service MariaDB avec la commande suivante:

    systemctl restart mariadb

    Vous pouvez vérifier l'état du service MariaDB avec la commande suivante:

    systemctl status mariadb

    Vous devriez voir la sortie suivante:

    mariadb.service - MariaDB 10.1.38 database server
    Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Active: active (running) since Fri 2019-04-12 15:11:14 UTC; 54min ago
    Docs: man:mysqld(8)
    https://mariadb.com/kb/en/library/systemd/
    Main PID: 1050 (mysqld)
    Status: "Taking your SQL requests now..."
    Tasks: 46 (limit: 1113)
    CGroup: /system.slice/mariadb.service
    └─1050 /usr/sbin/mysqld
    Apr 12 15:10:53 ubuntu1804 systemd[1]: Starting MariaDB 10.1.38 database server...
    Apr 12 15:11:07 ubuntu1804 mysqld[1050]: 2019-04-12 15:11:07 140152311749760 [Note] /usr/sbin/mysqld (mysqld 10.1.38-MariaDB-0ubuntu0.18.04.1)
    Apr 12 15:11:14 ubuntu1804 systemd[1]: Started MariaDB 10.1.38 database server.
    Apr 12 15:11:14 ubuntu1804 /etc/mysql/debian-start[1251]: Upgrading MySQL tables if necessary.
    Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start[1265]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
    Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start[1265]: Looking for 'mysql' as: /usr/bin/mysql
    Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start[1265]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
    Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start[1265]: This installation of MySQL is already upgraded to 10.1.38-MariaDB, use --force if you
    Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start[1306]: Checking for insecure root accounts.
    Apr 12 15:11:15 ubuntu1804 /etc/mysql/debian-start[1311]: Triggering myisam-recover for all MyISAM tables and aria-recover for all Aria tables
    lines 1-21/21 (END)

    Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

    Installez le serveur GRR

    Tout d'abord, vous devrez télécharger un package GRR à partir de leur dépôt GitHub officiel.

    Vous pouvez le télécharger avec la commande suivante pour télécharger la version GRR 3.2.4.6.

    wget https://storage.googleapis.com/releases.grr-response.com/grr-server_3.2.4-6_amd64.deb

    Une fois le téléchargement terminé, vous pouvez installer le fichier téléchargé avec la commande suivante:

    dpkg -i grr-server_3.2.4-6_amd64.deb

    Ensuite, installez les dépendances requises avec la commande suivante:

    apt-get install -f

    Pendant l'installation, vous devrez fournir des détails tels que l'hôte de la base de données, le nom d'utilisateur, le mot de passe, les URL GRR et le mot de passe administrateur, comme indiqué ci-dessous:

    Running grr_config_updater initialize
    To avoid this prompting, set DEBIAN_FRONTEND=noninteractive
    #################################################################
    Checking write access on config /etc/grr//server.local.yaml
    Step 0: Importing Configuration from previous installation.
    No old config file found.
    Step 1: Setting Basic Configuration Parameters
    We are now going to configure the server using a bunch of questions.-=GRR Datastore=-For GRR to work each GRR server has to be able to communicate withthe datastore. To do this we need to configure a datastore.GRR will use MySQL as its database backend. Enter connection details:MySQL Host [localhost]:MySQL Port (0 for local socket) [0]:MySQL Database [grr]:MySQL Username [root]: grrPlease enter password for database user grr:Successfully connected to MySQL with the provided details.-=GRR URLs=-For GRR to work each client has to be able to communicate with theserver. To do this we normally need a public dns name or IP addressto communicate with. In the standard configuration this will be usedto host both the client facing server and the admin user interface.Please enter your hostname e.g. grr.example.com [ubuntu1804]: 192.168.0.104-=Server URL=-The Server URL specifies the URL that the clients will connect tocommunicate with the server. For best results this should be publiclyaccessible. By default this will be port 8080 with the URL ending in /control.Frontend URL [http://192.168.0.104:8080/]:-=AdminUI URL=-:The UI URL specifies where the Administrative Web Interface can be found.AdminUI URL [http://192.168.0.104:8000]:-=GRR Emails=-GRR needs to be able to send emails for various logging andalerting functions. The email domain will be appended to GRRusernames when sending emails to users.-=Monitoring/Email Domain=-Emails concerning alerts or updates must be sent to this domain.Email Domain e.g example.com [localhost]:-=Alert Email Address=-Address where monitoring events get sent, e.g. crashed clients,broken server, etc.Alert Email Address [[email protected]]:-=Emergency Email Address=-Address where high priority events such as an emergency ACL bypass are sent.Emergency Access Email Address [[email protected]]:Rekall is no longer actively supported. Enable anyway? [yN]: [N]:Step 2: Key GenerationAll keys will have a bit length of 2048.Generating executable signing keyGenerating CA keysGenerating Server keysGenerating secret key for csrf protection.Repacked into /usr/share/grr-server/executables/installers/grr_3.2.4.6_amd64.debGRR Initialization complete! You can edit the new configuration in /etc/grr//server.local.yaml.Please restart the service for the new configuration to take effect.#################################################################Install complete.

    Maintenant, redémarrez le service GRR pour appliquer toutes les modifications:

    systemctl restart grr-server

    Vous pouvez maintenant vérifier l'état de GRR avec la commande suivante:

    systemctl status grr-server

    Vous devriez voir la sortie suivante:

    grr-server.service - GRR Service
    Loaded: loaded (/lib/systemd/system/grr-server.service; enabled; vendor preset: enabled)
    Active: active (exited) since Fri 2019-04-12 15:57:09 UTC; 6s ago
    Docs: https://github.com/google/grr
    Process: 7178 ExecStop=/bin/systemctl --no-block stop [email protected]_ui.service [email protected] [email protected] grr-s
    Process: 7215 ExecStart=/bin/systemctl --no-block start [email protected]_ui.service [email protected] [email protected] grr
    Main PID: 7215 (code=exited, status=0/SUCCESS)
    Apr 12 15:57:09 ubuntu1804 systemd[1]: Starting GRR Service...
    Apr 12 15:57:09 ubuntu1804 systemd[1]: Started GRR Service.

    Accéder à l'interface Web GRR

    GRR est maintenant installé et écoute sur les ports 8000 (Admin) et 8080 (Frontend).

    Pour accéder à l'interface d'administration GRR, ouvrez votre navigateur Web et saisissez l'URL http://192.168.0.104:8000.

    Il vous sera demandé de fournir le nom d'utilisateur et le mot de passe de l'administrateur, d'utiliser admin comme utilisateur et le mot de passe que vous avez défini lors de l'installation. Ensuite, cliquez sur le bouton OK. Vous serez redirigé vers la page suivante:

    Installer le client GRR

    Tout d'abord, connectez-vous à l'interface Web de votre serveur GRR et accédez à l'onglet Gérer les fichiers binaires dans le volet gauche. Vous devriez voir les différentes versions de clients comme RHEL, Debian et BSD dans la page suivante:

    Maintenant, votre distribution est Ubuntu 18.04. Alors, cliquez sur le grr_3.2.4.6_amd64.deb pour télécharger le client GRR pour Ubuntu.

    Une fois le téléchargement terminé, installez le fichier téléchargé avec la commande suivante:

    dpkg -i grr_3.2.4.6_amd64.deb

    La commande ci-dessus installera le client GRR sur votre système et s'enregistrera automatiquement sur le serveur GRR.

    Vous pouvez également vérifier l'état de GRR avec la commande suivante:

    systemctl status grr

    Vous devriez voir la sortie suivante:

    grr.service - grr linux amd64Loaded: loaded (/lib/systemd/system/grr.service; enabled; vendor preset: enabled)Active: active (running) since Fri 2019-04-12 16:24:39 UTC; 16s agoMain PID: 3305 (grrd)Tasks: 6 (limit: 847)CGroup: /system.slice/grr.service├─3305 /usr/sbin/grrd --config=/usr/lib/grr/grr_3.2.4.6_amd64/grrd.yaml└─3306 /usr/sbin/grrd --config=/usr/lib/grr/grr_3.2.4.6_amd64/grrd.yamlApr 12 16:24:39 ubuntu1804 systemd[1]: Started grr linux amd64.

    Effectuer une enquête

    Maintenant, allez sur l'interface Web du serveur GRR, cliquez sur le bouton Boîte de recherche et appuyez sur Entrée. Vous devriez voir votre client sur la page suivante:

    Maintenant, cliquez sur votre client pour voir plus de détails comme indiqué dans la page suivante:

    Ensuite, nous listerons les processus en cours d'exécution sur le client.

    Pour ce faire, cliquez sur Démarrer de nouveaux flux> Processus> ListProcesses, Sous État de la connexion, sélectionnez établi et cliquez sur le Lancer pour lancer le flux. Vous devriez voir la page suivante:

    Ensuite, cliquez sur le Gérer les flux lancés> ListProcesses> Résultats pour voir les résultats du flux ListProcesses dans la page suivante:

    Toutes nos félicitations! Vous avez correctement installé le serveur et le client GRR. Allez-y et jouez avec l'outil.