在Ubuntu 18.04上安装和设置Velociraptor

欢迎来到我们的教程,了解如何在Ubuntu 18.04上安装和设置Velociraptor。 迅猛龙 是一种端点监视开源工具,它允许收集有关客户端的信息并对其进行监视。它基于GRR,OSQuery和Google的Rekall工具。

在此设置中,我们将介绍如何使用采用服务器-客户端部署模型的独立部署设置选项在Ubuntu 18.04上安装和设置Velociraptor。代理安装在客户端系统上,它们通过TLS与服务器通信。

迅猛龙有六个主要组成部分:

  • 前端 –前端接收来自客户端的连接。
  • –用于访问速激肽的Web UI。
  • 客户 – Velociraptor端点代理
  • VQL引擎(VFilter) –用于查询的Velociraptor查询语言。
  • 数据存储 – Velociraptor将保存其文件的位置。
  • 文件存储 –由速激肽用于长期储存

我们还将学习如何在Windows和Linux端点上安装Velociraptor客户端。

在Ubuntu 18.04上安装和设置Velociraptor

步骤1:获取velociraptor Linux二进制文件

从官方那里获取最新的Velociraptor Linux二进制文件 迅猛龙Github发布 页:

mkdir velociraptor
cd velociraptor
wget https://github.com/Velocidex/velociraptor/releases/download/v0.5.3/velociraptor-v0.5.3-linux-amd64

步骤2:使二进制可执行文件

二进制安装程序的下载完成后,通过运行以下命令使其可执行。

chmod +x velociraptor-v0.5.3-linux-amd64 

步骤3:生成服务器配置文件

使用以下命令生成服务器配置文件:

 ./velociraptor-v0.5.3-linux-amd64 config generate > /etc/velociraptor.config.yaml

要定制配置文件的生成,请使用以下命令:

 ./velociraptor-v0.5.3-linux-amd64 config generate config generate -i

创建配置文件以适应您的部署后,可以选择编辑配置文件。例如,您可以更改服务器url和地址绑定到的服务器IP;

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
...

此外,可以编辑数据存储位置以更改Velociraptor将要保存其文件的位置。

Datastore:
  implementation: FileBaseDataStore
  location: /var/tmp/velociraptor
  filestore_directory: /var/tmp/velociraptor

注意客户端很重要-服务器通信通过HTTPS加密。密钥嵌入在配置文件中。

步骤4:创建GUI用户

通过运行以下命令创建用户以访问GUI;

./velociraptor-v0.5.3-linux-amd64 --config /etc/velociraptor.config.yaml user add admin --role administrator

出现提示时输入用户密码:

上面的命令添加了用户 adminadministrator 角色。其他可用角色是:

  • 读者
  • 分析员
  • 研究者
  • artifact_writer

步骤5:启动Velociraptor前端

使用以下命令启动Velociraptor服务器 frontend 命令, -v 标志用于显示终端上的详细输出。

 ./velociraptor-v0.5.3-linux-amd64 --config /etc/velociraptor.config.yaml frontend -v

样本输出:

[INFO] 2020-12-09T20:45:30+03:00  _    __     __           _                  __ 
[INFO] 2020-12-09T20:45:30+03:00 | |  / /__  / /___  _____(_)________ _____  / /_____  _____ 
[INFO] 2020-12-09T20:45:30+03:00 | | / / _ / / __ / ___/ / ___/ __ `/ __ / __/ __ / ___/ 
[INFO] 2020-12-09T20:45:30+03:00 | |/ /  __/ / /_/ / /__/ / /  / /_/ / /_/ / /_/ /_/ / / 
[INFO] 2020-12-09T20:45:30+03:00 |___/___/_/____/___/_/_/   __,_/ .___/__/____/_/ 
[INFO] 2020-12-09T20:45:30+03:00                                   /_/ 
[INFO] 2020-12-09T20:45:30+03:00 Digging deeper!                  https://www.velocidex.com 
[INFO] 2020-12-09T20:45:30+03:00 This is Velociraptor 0.5.3 built on 2020-12-03T15:33:04+10:00 (e957bec) 
[INFO] 2020-12-09T20:45:30+03:00 Loading config from file /etc/velociraptor.config.yaml 
[INFO] 2020-12-09T20:45:30+03:00 Starting Frontend. {"build_time":"2020-12-03T15:33:04+10:00","commit":"e957bec","version":"0.5.3"}
[INFO] 2020-12-09T20:45:30+03:00 Increased open file limit to 999999 
[INFO] 2020-12-09T20:45:30+03:00 Starting Journal service. 
[INFO] 2020-12-09T20:45:30+03:00 Starting the notification service. 
[INFO] 2020-12-09T20:45:30+03:00 Starting Inventory Service 
[INFO] 2020-12-09T20:45:30+03:00 Loaded 216 built in artifacts in 49.831921ms 
[INFO] 2020-12-09T20:45:30+03:00 Starting Hunt Dispatcher Service. 
[INFO] 2020-12-09T20:45:30+03:00 Starting Label service. 
[INFO] 2020-12-09T20:45:30+03:00 Selected frontend configuration localhost:8000 
[INFO] 2020-12-09T20:45:30+03:00 Starting Client Monitoring Service 
[INFO] 2020-12-09T20:45:30+03:00 Creating default Client Monitoring Service 
...
[INFO] 2020-12-09T20:45:31+03:00 Starting the hunt manager service. 
[INFO] 2020-12-09T20:45:31+03:00 Starting Server Monitoring Service 
[INFO] 2020-12-09T20:45:31+03:00 Starting VFS writing service. 
[INFO] 2020-12-09T20:45:31+03:00 Starting Server Artifact Runner Service 
[INFO] 2020-12-09T20:45:31+03:00 Starting Enrollment service. 
[INFO] 2020-12-09T20:45:31+03:00 Collecting Server Event Artifact: Server.Monitor.Health/Prometheus 
[INFO] 2020-12-09T20:45:31+03:00 Starting gRPC API server on 192.168.56.102:8001  
[INFO] 2020-12-09T20:45:31+03:00 Launched Prometheus monitoring server on 192.168.56.102:8003  
[INFO] 2020-12-09T20:45:31+03:00 GUI is ready to handle TLS requests on https://192.168.56.102:8889/ 
[INFO] 2020-12-09T20:45:31+03:00 Frontend is ready to handle client TLS requests at https://localhost:8000/ 
...

输出指示GUI和前端正在侦听哪个端口。

访问Velociraptor Web界面

访问服务器 https://服务器IP:8889。使用之前创建的用户和密码。 GUI通信通过基本Auth进行身份验证。

步骤6(可选):为Verociraptor安装Systemd服务

另外,您可以创建systemd服务以将Velociraptor作为服务启动。为了简化管理,您可以将二进制文件复制到 /usr/local/bin 作为迅猛龙。

cp velociraptor-v0.5.3-linux-amd64 /usr/local/bin/velociraptor

创建系统服务文件:

 vim  /lib/systemd/system/velociraptor.service

在下面添加内容:

[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

重新加载systemd守护程序:

systemctl daemon-reload

启动并启用velociraptor在启动时启动:

systemctl enable --now velociraptor 

检查速激肽的状态。

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.

访问GUI并登录到界面,您将看到Velociraptor GUI仪表板。

在Ubuntu 18.04上安装和设置Velociraptor

安装和配置Velociraptor客户端

如前所述,Velociraptor服务器-客户端通信通过加密的HTTPS通道进行。您可以使用自签名SSL或商业上受信任的SSL证书。

在此设置中,我们将使用自签名SSL证书。因此,请编辑 /etc/velociraptor.config.yaml 配置文件并追加指令 use_self_signed_ssl: true 在Frontentd URL CA证书下面的块中,以便使用自签名证书。

vim /etc/velociraptor.config.yaml
  ...
      nonce: cNzXMcNgk0g=
      use_self_signed_ssl: true
      writeback_darwin: /etc/velociraptor.writeback.yaml
      writeback_linux: /etc/velociraptor.writeback.yaml
      writeback_windows: $ProgramFilesVelociraptorvelociraptor.writeback.yaml
      tempdir_windows: $ProgramFilesVelociraptorTools
...

保存文件并生成客户端配置文件

 ./velociraptor-v0.5.3-linux-amd64 --config /etc/velociraptor.config.yaml config client > client.config.yaml

注意:客户端配置文件包含CA证书,用于在客户端计算机和Velociraptor服务器之间进行身份验证。

在Linux和Windows计算机上安装Velociraptor客户端

Velociraptor客户端可以通过两种方式进行配置:

使用Velociraptor Binary

此方法涉及使用从服务器生成的Velociraptor二进制文件和客户端配置文件。客户端配置文件必须复制到客户端计算机。此方法对于测试目的是理想的,对于大规模部署,下面的第二种方法是首选。

使用Velociraptor客户端软件包

此方法将客户端配置文件打包在Linux软件包或Windows安装程序上,然后将其分发到客户端目标计算机。

请点击以下链接,了解如何在Linux和Windows计算机上安装和配置Velociraptor客户端。

在Linux和Windows系统上安装Velociraptor Client

结论

这使我们到了如何在Ubuntu 18.04上安装和设置Velociraptor的指南的结尾。 Velociraptor是功能强大的开源工具,可用于查询主机,从而提供端点监视,数字取证调查和威胁搜寻。

进一步阅读

迅猛龙文件

其他教程

在Debian 10上安装Kolide Fleet Osquery Fleet Manager

在Debian 10 Buster上安装Osquery

在Ubuntu 20.04上安装和配置Snort 3 NIDS

Sidebar