Instalación de Osquery en Ubuntu
Osquery Los paquetes no están disponibles en el repositorio predeterminado de Ubuntu, por lo que antes de instalarlo tenemos que agregar el Osquery apt repository ejecutando el siguiente comando en la terminal.
[correo electrónico protegido]: ~ $ echo "deb [arch = amd64] https: // pkg.osquery.io / deb deb main "|sudo tee / etc / apt / sources.lista.d / osquery.lista
Ahora importaremos la clave de firma ejecutando el siguiente comando en la terminal.
[correo electrónico protegido]: ~ $ sudo apt-key adv --keyserver keyserver.ubuntu.com--claves de recepción 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Después de importar la clave de firma, ahora actualice su sistema ejecutando el siguiente comando en la terminal.
[correo electrónico protegido]: ~ $ sudo apt-get updateAhora instale Osquery ejecutando el siguiente comando
[correo electrónico protegido]: ~ $ sudo apt-get install osqueryDespués de instalar Osquery, ahora tenemos que comprobar si se ha instalado correctamente ejecutando el siguiente comando
[correo electrónico protegido]: ~ $ osqueryi --versionSi da el siguiente resultado, entonces está instalado correctamente
Usando Osquery
Ahora, después de la instalación, estamos listos para usar Osquery. Ejecute el siguiente comando para ir al indicador de shell interactivo
[correo electrónico protegido]: ~ $ osqueryi
Obteniendo ayuda
Ahora podemos ejecutar consultas basadas en SQL para obtener datos del sistema operativo. Podemos obtener ayuda sobre Osquery ejecutando el siguiente comando en el shell interactivo.
osquery> .ayuda
Obtener todas las tablas
Como se mencionó anteriormente, Osquery expone los datos del sistema operativo como una base de datos relacional para que tenga todos los datos en forma de tablas. Podemos obtener todas las tablas ejecutando el siguiente comando en el shell interactivo
osquery> .mesas
Como podemos ver, ejecutando el comando anterior podemos obtener un montón de tablas. Ahora podemos obtener datos de estas tablas ejecutando consultas basadas en SQL.
Listado de información sobre todos los usuarios
Podemos ver toda la información sobre los usuarios ejecutando el siguiente comando en el shell interactivo
osquery> SELECT * FROM users;El comando anterior mostrará gid, uid, descripción, etc. de todos los usuarios
También podemos extraer solo los datos relevantes sobre los usuarios, por ejemplo, queremos ver solo los usuarios y no otra información sobre los usuarios. Ejecute el siguiente comando en el shell interactivo para obtener los nombres de usuario
osquery> SELECCIONAR nombre de usuario DE los usuarios;El comando anterior mostrará todos los usuarios en su sistema
De manera similar, podemos obtener nombres de usuario junto con el directorio en el que existe el usuario ejecutando el siguiente comando.
osquery> SELECCIONAR nombre de usuario, directorio DE usuarios;
De manera similar, podemos consultar tantos campos como queramos ejecutando comandos similares.
También podemos obtener todos los datos de usuarios específicos. Por ejemplo, queremos obtener toda la información sobre el usuario root. Podemos obtener toda la información sobre el usuario root ejecutando el siguiente comando.
osquery> SELECCIONAR * DE usuarios DONDE username = "root";
También podemos obtener datos específicos de campos específicos (columnas). Por ejemplo, queremos obtener la identificación del grupo y el nombre de usuario del usuario root. Ejecute el siguiente comando para obtener estos datos.
osquery> SELECT username, gid FROM users WHERE username = "root"
De esta forma podemos consultar todo lo que queramos de una tabla.
Listado de todos los procesos
Podemos enumerar los primeros cinco procesos que se ejecutan en ubuntu ejecutando el siguiente comando en el shell interactivo
osquery> SELECT * FROM procesos LIMIT 5;
Como hay muchos procesos ejecutándose en el sistema, hemos mostrado solo cinco procesos usando la palabra clave LIMIT.
Podemos encontrar la identificación del proceso de un proceso específico, por ejemplo, queremos encontrar la identificación del proceso de mongodb, por lo que ejecutaremos el siguiente comando en el shell interactivo
osquery> SELECCIONAR pid FROM procesos DONDE name = "mongod";
Encontrar la versión de Ubuntu
Podemos encontrar la versión de nuestro sistema Ubuntu ejecutando el siguiente comando en el shell interactivo
osquery> SELECT * FROM os_version;Nos mostrará la versión de nuestro sistema operativo
Comprobación de interfaces de red y direcciones IP
Podemos verificar la dirección IP, la máscara de subred de las interfaces de red ejecutando la siguiente consulta en el shell interactivo.
osquery> SELECT interfaz, dirección, máscara FROM interface_addressesDONDE la interfaz NO ES COMO '% lo%';
Comprobación de usuarios registrados
También podemos verificar los usuarios registrados en su sistema consultando los datos de la tabla 'log_in_users'. Ejecute el siguiente comando para encontrar usuarios registrados.
osquery> SELECCIONAR usuario, host, hora DESDE los usuarios registrados DONDE tty NO ME GUSTA '-';
Comprobación de la memoria del sistema
También podemos comprobar la memoria total, la memoria caché de memoria libre, etc. ejecutando algún comando basado en SQL en el shell interactivo. Para verificar la memoria total, ejecute el siguiente comando. Esto nos dará la memoria total del sistema en bytes.
osquery> SELECCIONAR memory_total FROM memory_info;
Para comprobar la memoria libre de su sistema, ejecute la siguiente consulta en el shell interactivo
osquery> SELECCIONAR memory_free FROM memory_info;Cuando ejecutamos el comando anterior, nos dará memoria libre disponible en nuestro sistema
También podemos verificar la memoria caché del sistema usando la tabla memory_info ejecutando la siguiente consulta.
osquery> seleccionar en caché de memory_info;
Listado de grupos
Podemos encontrar todos los grupos en su sistema ejecutando la siguiente consulta en el shell interactivo
osquery> SELECT * FROM grupos;
Visualización de puertos de escucha
Podemos mostrar todos los puertos de escucha de nuestro sistema ejecutando el siguiente comando en el shell interactivo
osquery> SELECT * FROM listening_ports;
También podemos verificar si un puerto está escuchando o no ejecutando el siguiente comando en el shell interactivo
osquery> SELECT puerto, dirección FROM listening_ports WHERE port = 27017;Esto nos dará un resultado como se muestra en la siguiente figura
Conclusión
Osquery es una utilidad de software muy útil para encontrar cualquier tipo de información sobre su sistema. Si ya conoce las consultas basadas en SQL, entonces es muy fácil de usar para usted o si no conoce las consultas basadas en SQL, entonces he hecho todo lo posible para mostrarle algunas consultas importantes que son útiles para encontrar datos. Puede encontrar cualquier tipo de datos de cualquier tabla ejecutando consultas similares.