Skip to content

INCIBE Cybersecurity Summer BootCamp 2021

License

Notifications You must be signed in to change notification settings

jmpsec/incibe-cyber-sbc2021

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

INCIBE Cybersecurity Summer BootCamp 2021 🔐

INCIBE Cybersecurity Summer BootCamp 2021

Detección de amenazas a escala utilizando osquery y osctrl

Ponente Temática
Javier Marcos de Prado Digital Forensics and Incident Response (DFIR)
🔗 https://www.incibe.es/summer-bootcamp/sbc2021/programa/TC6
📁 https://docs.google.com/presentation/d/1oodsJSDxfStu288sPkf5_mzGR1sz6R1VCXU_PvAZjLY/edit?usp=sharing
  1. Introducción a la necesidad de desplegar infraestructura de detección, tanto en entornos corporativos como de producción.

  2. Enumeración de los pasos necesarios para la automatización y despliegue de osquery como agente dentro de una red distribuida y escalable.

  3. Muestra del servidor centralizado o TLS endpoint (osctrl), y la configuración y uso de sus diferentes componentes para una detección de amenazas y para la respuesta a incidentes y la gestión de flotas.


ℹ️ Preparación del taller

Todas las demostraciones y ejemplos del taller se realizarán en directo pero en el caso de querer seguir las mismas de un modo interactivo, se pueden seguir las indicaciones mediantes el uso de osquery (cliente) y osctrl (servidor).

💥 Instalación de osquery

Se recomienda la descarga e instalación de osquery, version 4.9.0, siendo ésta la última versión disponible en el momento de escribir esta guía. Para su instalación, se puede descargar para múltiples plataformas.

También es posible la instalación a través de gestores de paquetes en macOS, Windows, diferentes versiones de Linux (RPM y DEB) y FreeBSD:

▫️ macOS usando brew

brew install --cask osquery

▫️ Windows usando chocolatey

choco install osquery

▫️ Debian Linux (DEB)

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

▫️ RPM Linux

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

▫️ FreeBSD

cd /usr/ports/sysutils/osquery && make install clean
pkg install osquery
portmaster sysutils/osquery

💥 Despliegue de osctrl

La instalación de osctrl en un entorno de desarrollo puede realizarse de varias formas. El resultado será una instancia 100% funcional con la que seguir las indicaciones y ejemplos del taller.

El primer paso es descarga o clonado del repositorio https://github.com/jmpsec/osctrl:

git clone https://github.com/jmpsec/osctrl

▫️ Despliegue con Docker

Para desplegar osctrl usando Docker la mejor opción es la utilidad dockerize.sh ya que realiza algunas tareas de configuración previas al lanzamiento de osctrl. También se puede utilizar el Makefile y el comando make docker_all para simplificar las cosas, o directamente dockerize.sh:

./deploy/docker/dockerize.sh -u -b -f

El comando se encargará del build (-b) y ejecución (-u), con creación de nuevos certificados y configuración (-f).

Para más informacion sobre dockerize.sh se puede utilizar -h para una ayuda detallada.

Una vez finalizado, la nueva instancia de osctrl con Docker estará disponible en https://localhost:8443 con usuario admin y password admin.

▫️ Despliegue con Vagrant

El despliegue de osctrl con Vagrant es básicamente lo mismo que el despliegue en una máquina virtual convencional, pero con una configuración pre-establecida a través del Vagrantfile. El comando para la creación del entorno es el siguiente:

vagrant up

Una vez finalizado, la nueva instancia de osctrl con Vagrant estará disponible en https://10.10.10.5:8443 con usuario admin y password admin. Esa dirección IP está establecida por defecto puede personalizar sin hacer cambios mediante variables de entorno. Por ejemplo, si se quisiera cambiar la IP a 1.2.3.4, el comando a utilizar sería el siguiente:

OSCTRL_IP_ADDRESS="1.2.3.4" vagrant up

▫️ Despliegue standalone en Ubuntu 20.04

La instalación estándar de osctrl puede hacerse en un sistema con Ubuntu 20.04, teniendo en cuenta que es necesaria la dirección IP del sistema, en el caso de ser 1.2.3.4, el comando será el siguiente:

./deploy/provision.sh --nginx --postgres --enroll --all-hostname "1.2.3.4" --password "adminUbuntu"

Una vez finalizada la instalación y configuración de osctrl y sus componentes, estará disponible en https://1.2.3.4:8443 con usuario admin y password adminUbuntu.

Para más informacion sobre provision.sh se puede utilizar -h para una ayuda detallada.


💡 Ejemplos

osquery tables

osquery> .tables

Show table in osquery

osquery> pragma table_info("processes");
osquery> .mode line
osquery> select * from processes limit 1;

🙏 ¡Muchas gracias y que disfrutéis del taller! 🙌

Muchas gracias

About

INCIBE Cybersecurity Summer BootCamp 2021

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published