今日は、Linuxにヴェロキラプトルをインストールする方法を学びます。
これらの初期のプロジェクトから学び、Velociraptorは2019年にリリースされました。GRRと同様に、Velociraptorでは数千台のマシンをハンティングすることもできます。 OSQueryに触発されたVelociraptorは、VQL(Velociraptor Query Language)と呼ばれる新しいクエリ言語を実装します。これはSQLに似ていますが、クエリ言語をより強力な方法で拡張します。 Velociraptorは、インストールの容易さと非常に低いレイテンシーも強調しています。通常、数千のエンドポイントから数秒でアーティファクトを収集します。
上記は、ヴェロキラプトルアーキテクチャの概要を示しています。 Velociraptorサーバーは、コマンドおよび制御のためにエンドポイントエージェント(クライアントと呼ばれる)との通信を維持します。 Webベースの管理ユーザーインターフェイスは、個々のクライアントのタスク、ハントの実行、およびデータの収集に使用されます。
最終的に、Velociraptorエージェントは単純なVQLエンジンです。エージェントに対するすべてのタスクは、エンジンが実行する単純なVQLクエリです。 VQLクエリは、データベースクエリと同様に、列(クエリで指定)と複数の行を含むテーブルになります。エージェントはクエリを実行し、結果をサーバーに送り返します。サーバーは結果をファイルとして保存するだけです。このアプローチは、サーバーが結果をファイルに保存する以外に実際には処理していないことを意味します。したがって、サーバーの負荷は最小限に抑えられ、非常にスケーラブルなパフォーマンスが可能になります。
インストール
ヴェロキラプトルには6つの主要なコンポーネントがあります:
- フロントエンド –フロントエンドはクライアントから接続を受信します。
- GUI –velociraptorにアクセスするためのWebUI。
- クライアント –ヴェロキラプトルエンドポイントエージェント
- VQLエンジン(VFilter) –クエリに使用されるVelociraptorクエリ言語。
- データストア –ヴェロキラプトルがファイルを保存する場所。
- ファイルストア –長期保管のためにヴェロキラプトルによって使用されます
LinuxバイナリのGettigによるVelociraptorのインストール
mkdir velociraptor
cd velociraptor
wget https://github.com/Velocidex/velociraptor/releases/download/v0.5.3/velociraptor-v0.5.3-linux-amd64
バイナリを実行可能にする
したがって、バイナリインストーラーのダウンロードが完了したら、以下のコマンドを実行して実行可能にします。
chmod +x velociraptor-v0.5.3-linux-amd64
サーバー構成ファイルを生成する
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
オプションで、構成ファイルを作成したら、展開に合わせて編集します。たとえば、サーバーの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で暗号化されます。キーは構成ファイルに埋め込まれています。
GUIユーザーの作成
次に、以下のコマンドを実行してGUIにアクセスするユーザーを作成します;
./velociraptor-v0.5.3-linux-amd64 --config /etc/velociraptor.config.yaml user add unixcop --role administrator
プロンプトが表示されたら、ユーザーのパスワードを入力します:
上記のコマンドは、ユーザー admin
を追加します administrator
と 役割。その他の利用可能な役割は次のとおりです。
- リーダー
- アナリスト
- 調査員
- Artifact_writer
ヴェロキラプトルフロントエンドを開始
frontend
を使用してVelociraptorサーバーを起動します コマンド、-v
フラグは、端末で詳細な出力を表示するために使用されます。
./velociraptor-v0.5.3-linux-amd64 --config /etc/velociraptor.config.yaml frontend -v
VelociraptorWebインターフェイスへのアクセス
https:// SERVER-IP:8889でサーバーにアクセスします 。以前に作成したユーザーとパスワードを使用します。 GUI通信は基本認証で認証されます。
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
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にアクセスしてインターフェースにログインすると、VelociraptorGUIダッシュボードが表示されます。