Incident Response

Step-by-Step Guide to Installing and Configuring Velociraptor for Digital Forensics and Incident Response

In this article8 sections

When an endpoint shows signs of compromise, responders need answers fast: what executed, what persisted, and what left the network. Velociraptor, an open-source digital forensics and incident response platform developed by Velocidex and supported by Rapid7, delivers those answers at scale. It places a powerful query engine on every endpoint and a central server that orchestrates collections, hunts, and analysis from a browser. If you are evaluating digital forensics tools, this guide covers the essentials: server setup, client deployment, and your first collection.

How Velociraptor Works

Velociraptor uses a client-server architecture built around one self-contained binary that can act as server, client, or command-line utility depending on the flags you pass. The server, called the frontend, provides the administrative GUI and receives results from endpoints. Clients keep a persistent connection to the server, so tasks issued from the GUI run within seconds rather than at the next polling interval.

Everything Velociraptor collects is defined in VQL (Velociraptor Query Language), and reusable packages of VQL are called artifacts. Velociraptor ships with hundreds of built-in artifacts for tasks such as listing processes, collecting event logs, or triaging the registry. The server stores all data as flat files on its own filesystem; there is no external database to install, which simplifies backups and reduces deployment overhead.

Prerequisites

Plan for the following before you start:

  • Server host: A Linux machine is recommended; the project fully supports Linux servers, and Ubuntu is commonly used. Windows and macOS can host servers for testing only.
  • Resources: The project documentation indicates a server with 8 GB of RAM is sufficient for roughly 1,000 clients. Size disk space according to what you plan to collect and retain.
  • Network: Clients connect on TCP port 8000 and the GUI listens on TCP port 8889 in the default self-signed configuration; open these in the host firewall.
  • Endpoint privileges: Installing clients as services requires administrative rights on each endpoint.
  • DNS (production): Long-term deployments should use a stable DNS name; temporary incident response setups can use an IP address.

Installing the Velociraptor Server

The installation follows five steps. Perform them on your Linux server.

  1. Download the Linux binary for your architecture from the official Velociraptor downloads page and make it executable.
  2. Generate the server configuration. Run ./velociraptor config generate -i for the interactive wizard. Choose Self Signed SSL for a private-network or incident response deployment, or the Let’s Encrypt or SSO options for a long-term production deployment. Enter the DNS name or IP address clients will use to reach the server, and create your initial administrator account when prompted.
  3. Adjust bind addresses. By default the GUI and frontend listen only on loopback, which is a sensible security posture. If analysts need direct access from other hosts, edit server.config.yaml and change the relevant bind_address values from 127.0.0.1 to 0.0.0.0.
  4. Build the server installation package, which embeds your configuration file, then install it.
  5. Verify the service is running and log in to the GUI at https://<server-address>:8889 with the admin account you created.
wget -O velociraptor <download-link-for-your-platform>
chmod +x velociraptor
./velociraptor config generate -i
./velociraptor debian server --config ./server.config.yaml
sudo dpkg -i velociraptor_server_*.deb
systemctl status velociraptor_server.service

RPM-based distributions use ./velociraptor rpm server --config ./server.config.yaml followed by sudo rpm -Uvh. Treat server.config.yaml as a secret: it contains private key material, and a copy is stored inside the installation package.

Creating and Deploying Client Packages

Every client needs a client configuration, which is a subset of the server configuration containing the connection details and cryptographic material unique to your deployment. You can download it from the Home page of the GUI, or extract it on the command line:

./velociraptor config client --org "root" --config server.config.yaml > client.config.yaml

For Windows endpoints, the easiest route is the Server.Utils.CreateMSI server artifact: run it from the GUI, and Velociraptor repacks the official MSI with your client config, placing the result in the collection’s Uploaded Files tab. Install it on endpoints with elevated privileges using msiexec /i velociraptor_custom.msi, or push it through Group Policy, SCCM, or your existing deployment tool. The installer creates a Windows service that runs as Local System and starts automatically.

For Linux clients, generate a package with Server.Utils.CreateLinuxPackages or the equivalent CLI commands, and for macOS run the self-installing binary with sudo ./velociraptor service install --config client.config.yaml, then grant the client Full Disk Access in System Settings.

# Windows endpoint
msiexec /i velociraptor_custom.msi
# Linux endpoint
./velociraptor debian client --config client.config.yaml
sudo dpkg -i velociraptor_client_*.deb

After installation, use the search box in the GUI to confirm the client enrolled and is reporting in.

Running Your First Collection and Hunt

Click the enrolled client’s ID to open its view, then select Collect Artifacts. Start with something lightweight, such as Generic.Client.Info or Windows.System.Pslist, to confirm end-to-end flow before moving to heavier collections like process memory or KAPE-style triage. Results appear in the collection’s tabs and can be exported for further analysis.

To scale beyond a single host, create a hunt: choose an artifact and a target set of clients, and Velociraptor runs the collection across all of them in parallel. Run Server.Import.Extras first to pull in community and vendor artifact packs such as the Sigma-based detection rules, which extend the built-in library considerably. Hunts like this are why Velociraptor belongs alongside the essential tools for incident response in a modern DFIR stack.

Hardening and Production Considerations

A self-signed deployment with basic authentication is intended for private networks and short incident response engagements; do not expose the GUI to the internet in this mode, since it is vulnerable to brute-force attacks. For long-term use, generate the configuration with Let’s Encrypt certificates and connect the GUI to your identity provider through SSO (OAuth2 or OIDC). Further hardening options include restricting GUI access by IP range with the GUI.allowed_cidr setting, keeping the GUI bound to loopback and reaching it over an SSH tunnel, and creating least-privilege accounts for day-to-day analysts.

Back up the configuration file and the datastore directory, and store the backup securely: a leaked configuration exposes key material that could enable man-in-the-middle attacks against your clients. Finally, keep the server on Linux, monitor disk growth, and upgrade the server before clients when new releases arrive.

Practical Guidance for a Smooth Deployment

If you are new to the tool, start with Instant Velociraptor: running ./velociraptor gui on any workstation launches a self-contained server and local client so you can practice VQL and notebooks without touching production systems.

When you move to a real rollout, pilot on one or two test endpoints and run a lightweight collection before deploying fleet-wide. Use a stable DNS name from day one, since changing server addresses later means reconfiguring clients. Label clients by business unit or site so future hunts can be scoped precisely, and push installers through the software management stack you already use rather than by hand. Most importantly, define how collection results feed your investigation process: the outputs of these hunts belong in a documented incident response playbook so every analyst follows the same triage path.

Conclusion

Velociraptor gives incident responders live visibility and deep forensic collection across an entire fleet, from a single open-source server. A working deployment comes down to three tasks: install the server, package and deploy clients with your unique configuration, and practice collections before you need them under pressure. Complete those tasks now, and your first real investigation will start with data already flowing.

Share

Derek Zacharias

Founder & principal consultant, Dominion Cyber

Derek Zacharias is a cybersecurity practitioner and the primary author at Dominion Cyber, a Virginia-based security consultancy. He writes the technical guides on securenetworks.cloud: wireless network auditing, reconnaissance and endpoint tooling, Linux and container lab builds, digital forensics, and the threat-actor profiles in the Threat Intelligence library. His work runs from hands-on methodology through to the operational decisions behind it — what to test, what to fix first, and what evidence to keep.

Get the weekly security brief

One email a week: what is worth patching, what is worth watching, and what is worth reading. No spam, unsubscribe any time.

Leave a Reply

Your email address will not be published. Required fields are marked *