Skip to content

oencarnacion/soc-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 

Repository files navigation

Ciberseguridad

Implementacion de SOC con herramientas Open Source

Proporcionamos los primeros pasos a los nuevos equipos de manejo de incidentes.
Explora la guia »


WazuhSIEM Overview!

Esta guía de configuración le mostrará cómo configurar su servidor WazuhSIEM, este proceso es simple de completar. En esta configuración usaremos un script para instalar nuestro WazuhSIEM desde cero.


Nota:

  • Esta compilación se configuró en un XCP-ng 8.0 y las máquinas virtuales funcionan las 24 horas del día, los 7 días de la semana.
  • Ahora, si desea utilizar ese proceso, esta guía de configuración sigue siendo la misma.

Estoy tratando de hacer este proceso simple y directo al grano. Para que pueda seguir y volver a crear la misma configuración que he creado.

Referencias de recursos:

Que es Wazuh?

https://documentation.wazuh.com/current/index.html


Software Requerido

  • Software de alojamiento

  • Ubuntu Server 20.04 LTS #Opccion 2:

https://ubuntu.com/download/server

  • Descarga Directa:

https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-live-server-amd64.iso

  • El hipervisor que utiliza depende de usted, pero el proceso sigue siendo el mismo.
  • Puede utilizar Linux o Windows para la instalación del hipervisor base.

  • VirtualBox para instalaciones de Windows o Linux

  • Oracle VirtualBox 6.1.16

https://www.virtualbox.org/wiki/Downloads

  • Oracle VirtualBox Paquete de extensión para invitados

https://download.virtualbox.org/virtualbox/6.1.16/Oracle_VM_VirtualBox_Extension_Pack-6.1.16.vbox-extpack


  • VMware para instalaciones de Windows o Linux

  • VMware Workstation 16.1.0 Player Free

https://my.vmware.com/en/web/vmware/downloads/details?downloadGroup=PLAYER-1610&productId=1039&rPId=55792

Estos dos son opcionales a continuación. Necesitará hardware físico para instalar.

  • XCP-ng

https://mirrors.xcp-ng.org/isos/8.2/xcp-ng-8.2.0.iso?https=1

Módulo de instalación de Wazuh

  • Wazuh Overview!

Wazuh proporciona una solución de seguridad capaz de monitorear su infraestructura, detectar amenazas, intentos de intrusión, anomalías del sistema, aplicaciones mal configuradas y acciones de usuarios no autorizados. También proporciona un marco para la respuesta a incidentes y el cumplimiento normativo.

  • Fuente:

https://wazuh.com/product/

Instalacion de Wazuh Server & Agent!

Esta será una implementación de nodo único de Wazuh.

All-in-one deployment

https://documentation.wazuh.com/current/installation-guide/open-distro/all-in-one-deployment/index.html#all-in-one-index

Primero, tomemos el archivo de configuración que necesitaremos Instalar Wazuh.

Nota: Se requieren privilegios de usuario root para ejecutar todos los comandos que se describen a continuación. Para descargar el script se utilizará el paquete ** curl **.

  • Obtenga acceso root:
sudo su
  • Instalacion de Wazuh:
curl -so ~/all-in-one-installation.sh https://raw.githubusercontent.com/wazuh/wazuh-documentation/4.1/resources/elastic-stack/unattended-installation/all-in-one-installation.sh && bash ~/all-in-one-installation.sh

Ahora bien, este proceso en un Unattended installation

  • Una vez que ese script se esté ejecutando, debería ver algo como esto:

Wazuh Server Salida:

 The password for wazuh is vhDpq7YcwA08BLTmcdeYeJmXPU_VD31f

 The password for admin is uLo9SBKCE80B8OSE8zNbOWlVvHlOjQ00

 The password for kibanaserver is -A452dUzB8gnk3ed7nSuci_kNiSZ0y6z

 The password for kibanaro is yyNBlV28VzJHKnYVPNLgoAEssgics9d4

 The password for logstash is Hm86wUT7paLDPNhtq-I6Q1H8Weh7tX-g

 The password for readall is ZDqyYqvV5moE60k_X5580-4US6CIjBmi

 The password for snapshotrestore is FCHX-YhCV_o6IE8x_AA6lFQsjzlmCVe7

 The password for wazuh_admin is rkDgTQEnyw8Li3hYXfhD9td-voCw1awm

 The password for wazuh_user is _9JE9cY2nMWdR5GRb_Gda8ikrRRvsASH

 Checking the installation...
 Elasticsearch installation succeeded.
 Filebeat installation succeeded.
 Initializing Kibana (this may take a while)
 .
 Installation finished

 You can access the web interface https://<kibana_ip>. The credentials are wazuh:vhDpq7YcwA08BLTmcdeYeJmXPU_VD31f

Ahora copie estas contraseñas de arriba y guárdelas, las necesitará para obtener acceso al panel del servidor.

  • Ahora puede acceder a su panel de control desde la dirección IP que creó:
Puede acceder a la interfaz web https://<kibana_ip>.
  • Ves una advertencia como esta:

Acepte la advertencia haciendo clic en Avanzado, luego Acepte el Riesgo y continúe a la pantalla de inicio de sesión.

Pantalla de ingreso al sistema:

  • Now login in with your elastic username and password: v3gJLYItKkxuYmunES5T

Wazuh Dashboard:

Listo!

Ahora tiene su nuevo Wazuh Server configurado y en funcionamiento. Tómate un tiempo para explorar y echar un vistazo a tu nuevo WazuhSIEM.

MISP Threat Sharing

  • MISP Overview!

MISP es una solución de software de código abierto para recopilar, almacenar, distribuir y compartir indicadores de ciberseguridad y amenazas sobre el análisis de incidentes de ciberseguridad y el análisis de malware. MISP está diseñado por y para analistas de incidentes, profesionales de la seguridad y las TIC o reversores de malware para respaldar sus operaciones diarias para compartir información estructurada de manera eficiente.

  • Source:

https://www.circl.lu/services/misp-malware-information-sharing-platform/

Instalando MISP!

sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install mysql-client  -y
wget https://raw.githubusercontent.com/MISP/MISP/2.4/INSTALL/INSTALL.sh
chmod +x INSTALL.sh
./INSTALL.sh -A
Puede acceder a la interfaz web https://<misp_ip>.
  • Ves una advertencia como esta:

Acepte la advertencia haciendo clic en Avanzado, luego Acepte el Riesgo y continúe a la pantalla de inicio de sesión.

Pantalla de ingreso al sistema:

e83ca3e2-9b9f-4e7e-8266-2f15311fbee6

  • Now login in with your default credentials [email protected] username and password: admin

Listo!

Ahora tiene su nuevo MISP Server configurado y en funcionamiento. Tómate un tiempo para explorar y echar un vistazo a tu nuevo MISP Server.

TheHive

  • TheHive Overview!

MISP es una solución de software de código abierto para recopilar, almacenar, distribuir y compartir indicadores de ciberseguridad y amenazas sobre el análisis de incidentes de ciberseguridad y el análisis de malware. MISP está diseñado por y para analistas de incidentes, profesionales de la seguridad y las TIC o reversores de malware para respaldar sus operaciones diarias para compartir información estructurada de manera eficiente.

sudo apt-get install -y openjdk-8-jre-headless
sudo echo JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64" >> /etc/environment
sudo export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
curl -fsSL https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
echo "deb http://www.apache.org/dist/cassandra/debian 311x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
sudo apt update -y
sudo apt install cassandra -y
UPDATE system.local SET cluster_name = 'thp' where key='local';
exit
nodetool flush
cluster_name: 'thp'
listen_address: 'localhost' # address for nodes
rpc_address: 'localhost' # address for clients
seed_provider:
    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
      parameters:
          - seeds: 'localhost' # self for the first node
data_file_directories:
  - '/var/lib/cassandra/data'
commitlog_directory: '/var/lib/cassandra/commitlog'
saved_caches_directory: '/var/lib/cassandra/saved_caches'
hints_directory: '/var/lib/cassandra/hints'
sudo systemctl start cassandra
sudo systemctl enable cassandra
sudo mkdir -p /opt/thp_data/files/thehive
sudo chown -R thehive:thehive /opt/thp_data/files/thehive
netstat -an | grep 7000
curl https://raw.githubusercontent.com/TheHive-Project/TheHive/master/PGP-PUBLIC-KEY | sudo apt-key add -
echo 'deb https://deb.thehive-project.org beta main' | sudo tee -a /etc/apt/sources.list.d/thehive-project.list
sudo apt-get update
sudo apt-get install thehive4 -y
db.janusgraph {
  storage {
    backend: cql
    hostname: ["127.0.0.1"]
    cql {
      cluster-name: thp
      keyspace: thehive
    }
  }
}
storage {
  provider: localfs
  localfs.directory: /opt/thp_data/files/thehive
}
systemctl start thehive
systemctl enable thehive

thehive

Cortex

  • Cortex Overview!

MISP es una solución de software de código abierto para recopilar, almacenar, distribuir y compartir indicadores de ciberseguridad y amenazas sobre el análisis de incidentes de ciberseguridad y el análisis de malware. MISP está diseñado por y para analistas de incidentes, profesionales de la seguridad y las TIC o reversores de malware para respaldar sus operaciones diarias para compartir información estructurada de manera eficiente.

curl https://raw.githubusercontent.com/TheHive-Project/TheHive/master/PGP-PUBLIC-KEY | sudo apt-key add -
echo 'deb https://deb.thehive-project.org release main' | sudo tee -a /etc/apt/sources.list.d/thehive-project.list
sudo apt-get update
apt install cortex
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt install apt-transport-https
sudo apt update && sudo apt install elasticsearch
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-11-jre-headless
sudo addgroup cortex
sudo adduser --system cortex
sudo cp /opt/cortex/package/cortex.service /usr/lib/systemd/system
sudo chown -R cortex:cortex /opt/cortex
sudo chgrp cortex /etc/cortex/application.conf
sudo chmod 640 /etc/cortex/application.conf
sudo systemctl enable cortex
sudo service cortex start
sudo mkdir /etc/cortex
(cat << _EOF_
# Secret key
# ~~~~~
# The secret key is used to secure cryptographics functions.
# If you deploy your application to several instances be sure to use the same key!
play.http.secret.key="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1)"
_EOF_
) | sudo tee -a /etc/cortex/application.conf
bin/cortex -Dconfig.file=/etc/cortex/application.conf
sudo apt-get install -y --no-install-recommends python-pip python2.7-dev python3-pip python3-dev ssdeep libfuzzy-dev libfuzzy2 libimage-exiftool-perl libmagic1 build-essential git libssl-dev
sudo pip install -U pip setuptools && sudo pip3 install -U pip setuptools
git clone https://github.com/TheHive-Project/Cortex-Analyzers
for I in $(find Cortex-Analyzers -name 'requirements.txt'); do sudo -H pip2 install -r $I; done && \
for I in $(find Cortex-Analyzers -name 'requirements.txt'); do sudo -H pip3 install -r $I || true; done
analyzer {
  # Directory that holds analyzers
  path = [
    "/path/to/default/analyzers",
    "/path/to/my/own/analyzers"
  ]

  fork-join-executor {
    # Min number of threads available for analyze
    parallelism-min = 2
    # Parallelism (threads) ... ceil(available processors * factor)
    parallelism-factor = 2.0
    # Max number of threads available for analyze
    parallelism-max = 4
  }
}

responder {
  # Directory that holds responders
  path = [
    "/path/to/default/responder",
    "/path/to/my/own/responder"
  ]

  fork-join-executor {
    # Min number of threads available for analyze
    parallelism-min = 2
    # Parallelism (threads) ... ceil(available processors * factor)
    parallelism-factor = 2.0
    # Max number of threads available for analyze
    parallelism-max = 4
  }
}

cortex

analizer

Patrowl

  • Patrowl Overview!

PatrOwl es una solución escalable, gratuita y de código abierto para orquestar operaciones de seguridad.

PatrowlManager es la aplicación Front-end para administrar los activos, revisar los riesgos en tiempo real, orquestar las operaciones (escaneos, búsquedas, llamadas a API, ...), agregar los resultados, transmitir alertas a terceros (p. Ej., Plataforma de respuesta a incidentes). como TheHive, SIEM, ...) y proporcionando los informes y cuadros de mando. PatrowlEngines es el marco del motor y la lista admitida de motores que realizan las operaciones (escaneos, búsquedas, llamadas a API, ...) a su debido tiempo.


Hardware Pre-requisitos

Patrowl Manager usa PostgreSQL para almacenar datos. Recomendamos utilizar una máquina virtual con al menos 4 vCPU, 8 GB de RAM y 60 GB de disco. También puede utilizar una máquina física con especificaciones similares.

Instalar e implementar Backend desde Docker

1. Instalar los requisitos previos del sistema

Instalacion de Docker:

2. Descarga PatrowlManager de GitHub

git clone https://github.com/Patrowl/PatrowlManager.git

3. Implemente el backend usando docker-compose

cd PatrowlManager
docker-compose build --force-rm
docker-compose up

Nota 1: El volumen persistente no está establecido en la configuración de base de datos predeterminada. Actívelo si es necesario (¡debería serlo!). Ajústelo en el archivo docker-compose.yml

Nota 2: ¿Quieres motores preconfigurados? Ejecute docker-compose -f docker-compose.with-engines.yml up en su lugar

4. Use esto:

Ir a http://ip_patrowl:8083/ e iniciar sesión con las credenciales de administrador predeterminadas: admin/Bonjour1!

patrowl

5. Desplegar algunos de los engines

docker run -d -p 5005:5005 --name="arachni-docker-001" patrowl-arachni
docker run -d -p 5009:5009 --name="cortex-docker-002" patrowl-cortex
docker run -d -p 5021:5021 --name="droopescan-docker-003" patrowl-droopescan
docker run -d -p 5018:5018 --name="eyewitness-docker-004" patrowl-eyewitness
docker run -d -p 5001:5001 --name="nmap-docker-005" patrowl-nmap
docker run -d -p 5004:5004 --name="ssllabs-docker-006" patrowl-ssllabs
docker run -d -p 5014:5014 --name="sslscan-docker-007" patrowl-sslscan
docker run -d -p 5008:5008 --name="urlvoid-docker-008" patrowl-urlvoid
docker run -d -p 5022:5022 --name="apivoid-docker-009" patrowl-apivoid
docker run -d -p 5017:5017 --name="certstream-docker-010" patrowl-certstream

engines


Orquestacion!

Esta guía de configuración le mostrará cómo configurar su servidor WazuhSIEM, este proceso es simple de completar. En esta configuración usaremos un script para instalar nuestro WazuhSIEM desde cero.


integracion de Wazuh & TheHive

This project integrates SIEM Wazuh and TheHive. Use the following instructions to configure:

cd /opt/
git clone https://github.com/crow1011/wazuh2thehive.git
/var/ossec/framework/python/bin/pip3 install -r /opt/wazuh2thehive/requirements.txt
cp /opt/wazuh2thehive/custom-w2thive.py /var/ossec/integrations/custom-w2thive.py
/opt/wazuh2thehive/custom-w2thive /var/ossec/integrations/custom-w2thive
chmod 755 /var/ossec/integrations/custom-w2thive.py
chmod 755 /var/ossec/integrations/custom-w2thive
chown root:ossec /var/ossec/integrations/custom-w2thive.py
chown root:ossec /var/ossec/integrations/custom-w2thive
nano /var/ossec/etc/ossec.conf

inserte el siguiente fragmento en el bloque ossec_config:

<integration>
    <name>custom-w2thive</name>
    <hook_url>http://localhost:9000</hook_url>
    <api_key>123456790</api_key>
    <alert_format>json</alert_format>
</integration>

Descripción de líneas:

name - integration name(no need to change)

hook_url - TheHive host

api_key - TheHive user's API key. You can generate the key on the user management page by logging in as administrator. For security, allow the api-user to create only an alert.

alert_format - format that wazuh sends alert to the integrator(no need to change)

after configuration, apply the changes with this command:

/var/ossec/bin/ossec-control restart

Finally, check the /var/ossec/log/integrations.log file for errors. If there is not enough information from the errors, you can enable debug_mode by changing the line in the file custom-w2thive.py

debug_enabled = False

to

debug_enabled = True

If you receive too many events, you can set a severity threshold for events that will be send to TheHive. Set the value of the lvl_threshold variable in the file /var/ossec/integrations/custom-w2thive.py

lvl_threshold = 0

Events with a severity level equal to or greater will be sent to TheHive. You can read more about event classification in Wazuh here: wazuh-rules-classification

About

Centro de operaciones de seguridad

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published