Velociraptor é uma ferramenta para coletar informações de estado baseadas em host usando consultas Velociraptor Query Language (VQL).
Para saber mais sobre o Velociraptor, leia a documentação em:
https://docs.velociraptor.app/
Se você quiser ver do que se trata o Velociraptor simplesmente:
Baixe o binário na página de lançamento da sua plataforma favorita (Windows/Linux/MacOS).
Inicie a GUI
$velociraptorgui
Isso abrirá a GUI, o Frontend e um cliente local. Você pode coletar artefatos do cliente (que está sendo executado em sua própria máquina) normalmente.
Quando estiver pronto para uma implantação completa, verifique as diversas opções de implantação em https://docs.velociraptor.app/docs/deployment/
Temos nosso curso de treinamento completo (7 sessões x 2 horas cada) https://docs.velociraptor.app/training/
O curso cobre muitos aspectos do Velociraptor em detalhes.
Para executar um servidor Velociraptor via Docker, siga as instruções aqui: https://github.com/weslambert/velociraptor-docker
O Velociraptor também é útil como ferramenta de triagem local. Você pode criar um coletor local independente usando a GUI:
Inicie a GUI como acima ( velociraptor gui
).
Selecione o menu da barra lateral Server Artifacts
e, em seguida, Build Collector
.
Selecione e configure os artefatos que deseja coletar e, em seguida, selecione a guia Uploaded Files
e baixe seu coletor customizado.
Para construir a partir do código-fonte, certifique-se de ter:
um Golang recente instalado em https://golang.org/dl/ (atualmente pelo menos Go 1.17)
o binário go
está no seu caminho.
o diretório GOBIN
está no seu caminho (o padrão no Linux e Mac é ~/go/bin
, no Windows %USERPROFILE%\go\bin
).
gcc
em seu caminho para uso do CGO (no Windows, foi verificado que o TDM-GCC funciona)
make
Node.js LTS (a GUI é construída usando Node v18.14.2)
$ git clone https://github.com/Velocidex/velociraptor.git $ cd velociraptor # Isso construirá os elementos da GUI. Você precisará ter o nó # instalado primeiro. Por exemplo, obtenha-o em # https://nodejs.org/en/download/. $ cdgui/velociraptor/ $ npm install # Isso criará o pacote webpack $ make build # Para construir um binário de desenvolvimento basta executar make. # NOTA: Certifique-se de que ~/go/bin esteja no seu caminho - # isso é necessário para encontrar as ferramentas Golang que precisamos. $cd../.. $ make # Para construir binários de produção $ fazer linux $ fazer janelas
Para construir binários do Windows no Linux você precisa das ferramentas mingw. No Ubuntu isso é simplesmente:
$ sudo apt-get instalar mingw-w64-x86-64-dev gcc-mingw-w64-x86-64 gcc-mingw-w64
Temos um cronograma de lançamento bastante frequente, mas se você vir um novo recurso enviado e no qual esteja realmente interessado, adoraríamos fazer mais testes antes do lançamento oficial.
Temos um pipeline de CI gerenciado por ações do GitHub. Você pode ver o pipeline clicando na guia de ações em nosso projeto GitHub. Existem dois fluxos de trabalho:
Teste do Windows: este fluxo de trabalho cria uma versão mínima do binário do Velociraptor (sem a GUI) e executa todos os testes nele. Também testamos várias funções de suporte do Windows neste pipeline. Este pipeline se baseia em cada push de cada PR.
Linux Build All Arches: Este pipeline cria binários completos para muitas arquiteturas suportadas. Ele só é executado quando o PR é mesclado no branch master. Para baixar os binários mais recentes, basta selecionar a execução mais recente deste pipeline, rolar a página até a seção "Artefatos" e baixar o arquivo Binaries.zip (observe que você precisa estar logado no GitHub para ver isso).
Se você bifurcar o projeto no GitHub, os pipelines serão executados em sua própria bifurcação, desde que você habilite GitHub Actions em sua bifurcação. Se você precisar preparar um PR para um novo recurso ou modificar um recurso existente, você pode usar isso para construir seus próprios binários para teste em todas as arquiteturas antes de nos enviar o PR.
Velociraptor é escrito em Golang e está disponível para todas as plataformas suportadas por Go. Isso significa que o Windows XP e o Windows Server 2003 não são suportados, mas qualquer coisa posterior ao Windows 7/Vista é.
Construímos nossos lançamentos usando a biblioteca MUSL (x64) para Linux e um sistema MacOS recente, portanto, plataformas anteriores podem não ser suportadas pelo nosso pipeline de lançamento. Também distribuímos binários de 32 bits para Windows, mas não para Linux. Se você precisar de compilações Linux de 32 bits, precisará compilar a partir do código-fonte. Você pode fazer isso facilmente bifurcando o projeto no GitHub, habilitando GitHub Actions em seu fork e editando o pipeline Linux Build All Arches
.
O poder do Velociraptor vem dos VQL Artifacts
, que definem muitos recursos para coletar vários tipos de dados de endpoints. O Velociraptor vem com muitos Artifacts
integrados para os casos de uso mais comuns. A comunidade também mantém um grande número de artefatos adicionais por meio do Artifact Exchange.
Se precisar de ajuda para executar uma tarefa como implantação, consultas VQL, etc. Seu primeiro ponto de parada deve ser a Base de Conhecimento do Velociraptor em https://docs.velociraptor.app/knowledge_base/, onde você encontrará dicas e sugestões úteis.
Perguntas e comentários são bem-vindos em [email protected] (ou https://groups.google.com/g/velociraptor-discuss)
Você também pode conversar conosco diretamente no discord https://docs.velociraptor.app/discord
Problemas de arquivo em https://github.com/Velocidex/velociraptor
Leia mais sobre o Velociraptor em nosso blog: https://docs.velociraptor.app/blog/
Divirta-se no Medium https://medium.com/velociraptor-ir
Siga-nos no Twitter @velocidex