OSQuery: Nuestro Linux controlado en todo momento

La herramienta de la que vamos a hablar hoy es realmente interesante, se trata de OSQuery. Se trata de una framework que expone nuestro sistema operativo como de una base de datos relacional se tratase. Esto le permite utilizar sentencias SQL para explorar datos de un sistema dado. Con OSQuery, las tablas SQL presentan conceptos tales como los procesos de ejecución, los módulos del kernel cargados, las conexiones a de red abiertas, los complementos del navegador de turno, eventos del hardware entre otras cosas.

OSQuery logo

Se trata de un producto de software libre, ya que utiliza una licencia Apache en su versión 2. En su origen fue creado por el equipo de Facebook y está escrito en C++ Sigue la filosofía de desarrollo de código abierto y es multiplataforma. Está disponible para sistemas operativos GNU/Linux, como CentOS 6 y 7, Ubuntu 14.04 y 16.04, además de FreeBSD 11, Windows o mac OS.

Cuéntame un poco más sobre osquery

Ya hemos dicho que es un framework, pues bien, este utiliza múltiples herramientas que realizan un análisis y supervisión de nuestro sistema operativo a bajo nivel. Todas las partes del S.O. están representados en forma de tabla, por lo que esto permite elaborar consultas simples o complejas SQL.

Las tablas SQL se implementan a través de un plugin simple y una API.

Instalación de osquery en GNU/Linux

En sistemas Debian, Ubuntu, Linux Mint y derivados, debemos seguir los siguientes pasos:

1
2
3
4
5
export OSQUERY_KEY=1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $OSQUERY_KEY
sudo add-apt-repository 'deb [arch=amd64] https://pkg.osquery.io/deb deb main'
sudo apt update
sudo apt install osquery

En RHEL, CentOS, Scientific Linux y deriviados :

1
2
3
4
curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
yum-config-manager --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
yum-config-manager --enable osquery-s3-rpm
yum install osquery

En Fedora, a partir de la versión 22:

1
2
3
curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
sudo dnf config-manager --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
sudo dnf install osquery

¿Cómo se utiliza osquery?

Para trabajar con la herramienta en nuestro sistema operativo, debemos lanzar el comando “osqueryi” para tener disponible la consola que nos permitirá realizar las consultas:

1
2
3
$ osqueryi
Using a virtual database. Need help, type '.help'
osquery>

Si, por ejemplo, que visualizar un resumen de la información del sistema:

1
osquery> SELECT * FROM system_info;

Con resultado, en mi caso:

O por ejemplo listar los usuarios del sistema:

1
osquery> SELECT * FROM users;

En mi caso me muestra esta información:

Una consulta interesante es listar los procesos actualmente funcionando:

1
2
3
osquery> SELECT DISTINCT processes.name, listening_ports.port, processes.pid 
FROM listening_ports JOIN processes USING (pid) 
WHERE listening_ports.address = '0.0.0.0';

Una muestra:

Para salir de la consola podemos escribir:

1
2
3
.exit
#o bien
.quit

Si queremos incluso podemos importar la información resultante de una consulta, a un fichero JSON, por ejemplo:

1
osqueryi --json "SELECT * FROM users;"

La herramienta tiene infinidad de opciones, os recomiendo consultar su documentación:

OSQuery – Read the docs

Aquí lo dejamos, espero que en algún momento os sea útil este artículo. Nos vamos leyendo ^.^

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies