Velociraptor
Lifted from Velociraptor quick start guide. Nice sample hunt in about an hour by Eric Capuano, and a gist to go along with it!
Install quick temporary server (Debian-based server with Windows clients)
- Download velociraptor excutable
- Run
chmod +x velociraptor - Generate server config:
./velociraptor config generate -i - Answer the questions, then fire up the server
sudo ./velociraptor gui --config ./server.config.yaml - Click Home and under Current Orgs download the client config file. Or do:
/velociraptor config client --org "root" --config server.config.yaml > client.root.config.yaml
- Deploy to other systems with
velociraptor.exe --config client.config.yaml client -v
Install full server component (Debian-based)
Grab the server binary
Download from here.
Make it executable
chmod +x velociraptor
Generate server config file
./velociraptor config generate -i
Tips:
- Make the local address of
server_urlsto be the local IP and notlocalhost(public_urlis for proxying the GUI to a different URL) - When the config file is generated, edit it so that
frontend bind_addressis also 0.0.0.0
Install
sudo dpkg -i nameoffile.deb
Login to your Velociraptor Web UI
Fire up https://yourip:8889.
Generate server OS client installs
- Go to Hamburger icon > Server Artifacts.
- Click the +
- Search for the word
MSI- click Server.Utils.CreateMSI in the search results - In the menu that appears to the right, click the appropriate MSI file
- Click Launch tab in the lower right
- A new menu will pop up with the MSI build process. When done, click the artifact, click Uploaded Files and then download the MSI file.
Generate workstation OS installs
- Click the Home icon
- Scroll down and you should see a file like
client.root.config.yamlto download
Edit the config file (optional)
If you're going to run client instances in agentless mode, in client.root.config.yaml change writeback_windows: $TEMP\\velociraptor.writeback.yaml
Deploying agentless clients
Run client instance standalone
velociraptor.exe --config client.root.config.yaml client --mutant ninja --verbose
--verbose is handy because I've had some client instances never check into the server, and the verbose flag helped identify issues (cert expiration, time sync issue, etc.)
Deploy via GPO
This covers it pretty well, but key information in the setup to remember when making an immediate task (at least Windows 7):
General tab
- Give the task a name
- Run as
NT AUTHORITY\SYSTEM(I found it easier to just type this in, not try to resolve it) - Tick Run whether user is logged on or not
- Tick Run with highest privileges
- Tick the Hidden box
Actions tab
- Click New...
- Under Action, choose Start a program
- Under Program/script enter a UNC path where the
velociraptor.exelives, such as\\dc-ac\share\velociraptor.exe - In the Add arguments(optional) field, enter
--config \\dc-ac\share\name.of.your.config.file client --mutant ninja --verbose
The client install documentation notes:
"In our experience GPO deployments are not very reliable - we often find the Velociraptor client will be launched multiple times on the endpoint. It is highly recommended that you use the --mutant flag to specify a mutant preventing the client from starting multiple times."
Settings tab
- Tick If the task fails, restart every: 1 minute
- Tick Stop the task if it runs longer than: 3 days
- If task is already running, then the following rule applies: Do not start a new instance