Aujourd'hui, vous allez apprendre à installer Velociraptor sur Linux.
Tirant les leçons de ces premiers projets, Velociraptor a été lancé en 2019. Semblable à GRR, Velociraptor permet également de rechercher sur plusieurs milliers de machines. Inspiré d'OSQuery, Velociraptor implémente un nouveau langage de requête baptisé VQL (Velociraptor Query Language) qui est similaire à SQL mais étend le langage de requête de manière plus puissante. Velociraptor met également l'accent sur la facilité d'installation et la très faible latence - collectant généralement des artefacts à partir de milliers de points de terminaison en quelques secondes.
Ci-dessus montre un aperçu de l'architecture Velociraptor. Le serveur Velociraptor maintient les communications avec les agents terminaux (appelés Clients) pour la commande et le contrôle. L'interface utilisateur d'administration basée sur le Web est utilisée pour charger des clients individuels, exécuter des chasses et collecter des données.
En fin de compte, les agents Velociraptor sont simplement des moteurs VQL :toutes les tâches de l'agent sont simplement des requêtes VQL exécutées par le moteur. Les requêtes VQL, tout comme les requêtes de base de données, aboutissent à une table, avec des colonnes (comme dicté par la requête) et plusieurs lignes. L'agent exécutera la requête et renverra les résultats au serveur qui les stockera simplement sous forme de fichiers. Cette approche signifie que le serveur ne traite pas vraiment les résultats, à part simplement les stocker dans des fichiers. Par conséquent, la charge sur le serveur est minimale, ce qui permet des performances largement évolutives.
Installation
Velociraptor a six composants principaux :
- Front-end – Le frontend reçoit les connexions des clients.
- IHM – Interface utilisateur Web pour accéder au vélociraptor.
- Client – Agents terminaux Velociraptor
- Moteur VQL (VFilter) - Velociraptor Query Language utilisé pour interroger.
- Magasin de données – emplacements où Velociraptor va enregistrer ses fichiers.
- Magasin de fichiers – utilisé par le vélociraptor pour le stockage à long terme
Installer Velociraptor par Gettig le binaire Linux
mkdir velociraptor
cd velociraptor
wget https://github.com/Velocidex/velociraptor/releases/download/v0.5.3/velociraptor-v0.5.3-linux-amd64
Rendre le binaire exécutable
Ainsi, une fois le téléchargement du programme d'installation binaire terminé, rendez-le exécutable en exécutant la commande ci-dessous ;
chmod +x velociraptor-v0.5.3-linux-amd64
Générer un fichier de configuration de serveur
Generate server configuration file using the command below:
./velociraptor-v0.5.3-linux-amd64 config generate > /etc/velociraptor.config.yaml
To customize the configuration file generation use the command:
./velociraptor-v0.5.3-linux-amd64 config generate config generate -i
Éventuellement, modifiez le fichier de configuration une fois qu'il a été créé pour s'adapter à votre déploiement. Par exemple, vous pouvez modifier l'URL du serveur et l'IP du serveur auquel les adresses sont liées
vim /etc/velociraptor.config.yaml
...
Client:
server_urls:
- https://192.168.56.102:8000/
...
API:
bind_address: 192.168.56.102
...
GUI:
bind_address: 192.168.56.102
...
Monitoring:
bind_address: 192.168.56.102
...
De plus, l'emplacement du magasin de données peut être modifié pour changer l'emplacement où Velociraptor va enregistrer ses fichiers.
Datastore:
implementation: FileBaseDataStore
location: /var/tmp/velociraptor
filestore_directory: /var/tmp/velociraptor
Il est important de noter que les communications client-serveur sont cryptées via HTTPS. Les clés sont intégrées dans le fichier de configuration.
Créer un utilisateur GUI
Ensuite, créez un utilisateur pour accéder à l'interface graphique en exécutant la commande ci-dessous ;
./velociraptor-v0.5.3-linux-amd64 --config /etc/velociraptor.config.yaml user add unixcop --role administrator
Entrez un mot de passe pour l'utilisateur lorsque vous y êtes invité :
La commande ci-dessus ajoute l'utilisateur admin
avec l'administrator
rôle. Les autres rôles disponibles sont :
- lecteur
- analyste
- enquêteur
- artifact_writer
Démarrer l'interface Velociraptor
Démarrez le serveur Velociraptor en utilisant frontend
commande, -v
flag est utilisé pour afficher une sortie détaillée sur le terminal.
./velociraptor-v0.5.3-linux-amd64 --config /etc/velociraptor.config.yaml frontend -v
Accéder à l'interface Web de Velociraptor
Accédez au serveur sur https://SERVER-IP:8889 . Utilisez l'utilisateur et le mot de passe créés précédemment. Les communications de l'interface graphique sont authentifiées avec l'authentification de base.
Installer le service Systemd pour Verociraptor
De plus, vous pouvez créer un service systemd pour démarrer Velociraptor en tant que service. Pour une gestion plus facile, vous pouvez copier le binaire dans /usr/local/bin
comme vélociraptor .
cp velociraptor-v0.5.3-linux-amd64 /usr/local/bin/velociraptor
vim /lib/systemd/system/velociraptor.service
Ajoutez le contenu ci-dessous :
[Unit]
Description=Velociraptor linux amd64
After=syslog.target network.target
[Service]
Type=simple
Restart=always
RestartSec=120
LimitNOFILE=20000
Environment=LANG=en_US.UTF-8
ExecStart=/usr/local/bin/velociraptor --config /etc/velociraptor.config.yaml frontend -v
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
Démarrez et activez Velociraptor pour qu'il démarre au démarrage :
systemctl enable --now velociraptor
Vérifiez l'état du vélociraptor.
systemctl status velociraptor
● velociraptor.service - Velociraptor linux amd64
Loaded: loaded (/lib/systemd/system/velociraptor.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-12-09 21:10:37 EAT; 6s ago
Main PID: 21354 (velociraptor)
Tasks: 7 (limit: 595)
CGroup: /system.slice/velociraptor.service
└─21354 /usr/local/velociraptor --config /etc/velociraptor.config.yaml frontend -v
Dec 09 21:10:38 user1-VirtualBox velociraptor[21354]: [INFO] 2020-12-09T21:10:38+03:00 Starting Server Artifact Runner Service
Dec 09 21:10:38 user1-VirtualBox velociraptor[21354]: [INFO] 2020-12-09T21:10:38+03:00 Starting gRPC API server on 192.168.56.102:8001
Dec 09 21:10:38 user1-VirtualBox velociraptor[21354]: [INFO] 2020-12-09T21:10:38+03:00 Launched Prometheus monitoring server on 192.168.56
Dec 09 21:10:38 user1-VirtualBox velociraptor[21354]: [INFO] 2020-12-09T21:10:38+03:00 GUI is ready to handle TLS requests on https://192.
Dec 09 21:10:38 user1-VirtualBox velociraptor[21354]: [INFO] 2020-12-09T21:10:38+03:00 Collecting Server Event Artifact: Server.Monitor.He
Dec 09 21:10:38 user1-VirtualBox velociraptor[21354]: [INFO] 2020-12-09T21:10:38+03:00 Frontend is ready to handle client TLS requests at
Dec 09 21:10:38 user1-VirtualBox velociraptor[21354]: [INFO] 2020-12-09T21:10:38+03:00 Compiled all artifacts
Accédez à l'interface graphique et connectez-vous à l'interface, vous verrez le tableau de bord de l'interface graphique Velociraptor.