Archivo
Install Kubernetes Goat (ES)

En estos dos ultimos años estoy muy involucrado en proyectos revisando intraestructuras basadas en contenedores Docker y Kubernetes, en esta busqueda encontré con este genial proyecto que facilita el aprendizaje de vulnerabilidades en Kubernetes.
Kubernetes Goat está diseñado para ser un entorno de clúster intencionalmente vulnerable para aprender y practicar la seguridad de Kubernetes. Es un proyecto creado por Madhu Akula.
En este articulo, veremos como realizar la instalación sobre un equipo con Ubuntu 20.04 y VirtualBox. Kubernetes Goat necesita una instalación previa de Minikube el cual facilita tener un cluster local de Kubernetes.
A.- Instalar Minikube
1.- Descarga de Minikube
Podemos descargar la última versión o una versión específica de la página de versiones de Minikube. Una vez descargado, necesitamos hacerlo ejecutable y agregarlo a nuestra RUTA:
$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
2.- Iniciar Minikube
Podemos iniciar Minikube con el comando de inicio de minikube, que inicia un clúster de un solo nodo con la última versión estable de Kubernetes.
$ minikube start

3.- Comprobar el estado
Con el comando de estado de minikube, mostramos el estado de Minikube:
$ minikube status

B.- Instalar Kubernetes Goat
1.- Descargar el proyecto
# git clone https://github.com/madhuakula/kubernetes-goat.git
# cd kubernetes-goat/
2.- Configurar la cuenta helm2 rbac e inicializar tiller
# kubectl apply -f scenarios/helm2-rbac/setup.yaml
# helm2 init –service-account tiller

3.- Desplegar Helm chart para verificar la configuración ,
implementación del escenario helm chart metadata-db
# helm2 install –name metadata-db scenarios/metadata-db/

4.- Desplegar los manifiestos de escenarios vulnerables
# kubectl apply -f scenarios/batch-check/job.yaml
# kubectl apply -f scenarios/build-code/deployment.yaml
# kubectl apply -f scenarios/cache-store/deployment.yaml
# kubectl apply -f scenarios/health-check/deployment.yaml
# kubectl apply -f scenarios/hunger-check/deployment.yaml
# kubectl apply -f scenarios/kubernetes-goat-home/deployment.yaml
# kubectl apply -f scenarios/poor-registry/deployment.yaml
# kubectl apply -f scenarios/system-monitor/deployment.yaml
# kubectl apply -f scenarios/hidden-in-layers/deployment.yaml

5.- Crear el forwardeo de puertos en los PODS para permitir el acceso local.
# bash access-kubernetes-goat.sh

6.- Igresar a Kubernetes Goat
Si todo salio bien , ahora podremos ingresar a la aplicación de la siguiente forma:
Ingresar a : http://127.0.0.1:1234/

Finalmente, Si desean practicar los escenarios pueden revizarlos aqui : https://madhuakula.com/kubernetes-goat/index.html
Espero les siva
Ciberseguridad en tiempos de Coronavirus (Parte 3)
Recomendaciones para todos, Zoom y el acceso a redes empresariales.
En los post anteriores vimos Ciberataques en el mundo luego Ciberataques en Perú para cerrar este tópico aquí veremos una serie de recomendaciones que todos deberíamos considerar hasta recomendaciones mas especificas para entornos empresariales.
1.- Recomendaciones de uso General
- Hacer respaldos de información
- Use una contraseña segura.
- Use contraseñas diferentes para email personal, email corporativos,
redes sociales, etc. - Bloquee manualmente la pantalla o configurar la pantalla.
- del dispositivo para que se bloquee automáticamente al alejarse o al dejar de usarlo.
- Instalar las últimas actualizaciones de software y aplicaciones todos los dispositivos, Celulares, Tablets, PC, Laptop.
- Uso de software antivirus / anti malware comercial y licenciado.
- Verificar correos electrónicos, SMS o mensajes de redes sociales, si son de contactos conocidos.
- No hacer clic en direcciones de internet sin estar 100% seguro.
- No abrir archivos adjuntos si no esta 100% de su origen.
Aquí un estudio reciente donde se muestra las contraseñas mas comunes encontradas durante análisis de vulnerabilidades a nivel global :
Fuente : Raconteur: https://www.linkedin.com/posts/edgescan_raconteur-cybersecurity-report-activity-6648188015975899136-on2J/
2.- Recomendaciones para Zoom.
Como todos sabemos las plataformas de vídeo conferencia se han intensificados y Zoom se ha vuelto una de las principales, como si bien es cierto a la fecha de este post Zoom ha publicado una nueva versión con muchas mejoras de seguridad ademas de comprar una empresa de ciberseguridad para mejorar el cifrado de las comunicaciones los ciberdelincuentes siguen encontrando problemas de seguridad.
Basado en ello, aquí algunas recomendaciones para «mejorar» la seguridad en las conferencias.
- Agregar una contraseña de reunión.
- Establecer el uso compartido de pantalla en «solo host».
- Deshabilitar transferencia de archivos.
- Deshabilitar «unirse antes del host».
- Deshabilite «Permitir que los participantes eliminados vuelvan a unirse» Habilitar la sala de espera.
- No hacer clic en enlaces sospechosos o aceptar archivos en la sala de chat.
3.- Habilitar autenticación multifactor (2FA)
Adicionar un mecanismo para autentificar el acceso es altamente recomendable, teniendo en cuenta que tarde o temprano la contraseña termina siendo guarda en un archivo de texto ( algo que sabes) y puede ser robada fácilmente, contar con una contraseña dinámica (algo que tienes) es decir que cambia cada momento o es enviado por sms es sumantante importante.
Algunos servicios donde se puede activar :
- Correo electrónico personal, los printicales servicios de email como gmail, outlook, hotmail lo soportan.
- Correo electrónico corporativo ( si esto lo soporta).
- Redes Sociales : Facebook por ejemplo.
- Conexiones VPN (Acceso remoto a la red corporativa).
- Inicio de sesión en computadoras corporativas.
Aquí un ejemplo de como activarlo para Facebook :
Fuente : https://www.facebook.com/notes/facebook-security/two-factor-authentication-for-facebook-now-easier-to-set-up/10155341377090766/?comment_id=10156264397591886
4.- Acceso a redes empresariales
Debido al teletrabajo ha hecho que muchas empresas textualmente «corran» para implementar soluciones que permitan a sus empleados trabajar desde casa, sin embargo se estan perdiendo de vista ciertas cosas que exponemos a continuación.
4.1.- Acceso cifrado a la red empresarial
sea cual sea la solución para ingresar a la red empresarial, esta debe ser cifrada, como por ejemplo el uso de «servicio de escritorio remoto» o RDP en su configuración por defecto hace uso de cifrado, así mismo cuenta con vulnerabilidades como BlueKeep.
4.2.- Permitir el acceso solo a dispositivos de trabajo
Hoy todos están conectados desde casa, pero se esta viendo que el mismo computador/Laptop que venia siendo usado para el hogar, también esta siendo usado para conectarse a la red empresarial, por tanto si ese computador se encuentra comprometido de algun tipo de virus, también esta comprometiendo la red empresaria.
4.3.- Uso de software VPN sin vulnerabilidades.
Ningún software en ningun sistema operativo se «salva» de tener vulnerabilidaes, es importante que a la hora de implementar los servidores VPN el software a usar siempre sea la ultima version y este libre de vulnerabilidades, al menos en ese momento. Por ejemplo este es el reporte de vulnerabilidades OPENVPN a la fecha, el cual es uno de los software mas usados para implementar este tipo de acceso.
4.4.- Uso de protocolos seguros en VPN
Muchas implementaciones de Servidor VPN no tienen en cuenta que de nada sirve los accesos remotos sin hacer uso de un protocolo que brinde el correcto cifrado en la comunicación, es asi que hacer uso de PPTP sobre SSL o L2TP/IPsec SSTP y IKEv2/IPsec. solo por citar algunos es muy importante.
4.5.- De ser posible uso de 2FA.
Adicionar un mecanismo para autentificar el acceso es altamente recomendable, teniendo en cuenta que una contraseña normalmente se copia fisicamente en algún lado ( algo que sabes) contar con una contraseña dinámica es decir que cambia cada momento o es enviado por sms (algo que tienes) es importante.
A continuación una lista de soluciones basadas en software libre enfocadas a controles de seguridad.
Fuente : http://www.eventid.net/docs/open_source_security_controls.asp
5.- Evaluación de aplicaciones Web y visibilidad en la red empresarial
- Análisis de vulnerabilidades de Aplicaciones web y móviles.
- Revisión de visibilidad del perímetro de la red, ejemplo servicios expuestos.
- Actualización de software en servicios.
- Tratar de no usar servicios que no cifren la comunicación, ejemplo Telnet, FTP, RDP por defecto.
Un estudio de la empresa Edgescan revela las vulnerabilidades mas comunes en evaluaciones sin credenciales sobre sistemas expuestos por internet.
Fuente : https://cdn2.hubspot.net/hubfs/4118561/BCC030%20Vulnerability%20Stats%20Report%20(2020)_WEB.pdf
43% en vulnerabilidades en criptografia, implementaciones de servidor, clientes y APIs/Endpoints en el uso de algoritmos debiles.
20% en Aplicaciones Web, vulnerabilidades que comprometen la seguridad en Aplicaciones web, como XSS, CSRF, SQLI,etc.
15% Relacionado a falta de parches de seguridad, en diversas implementaciones como Apache, Cisco, Citrix, Vmware,etc.
Espero les sirva.
@jroliva
búsqueda de vulnerabilidades mediante análisis de código fuente estático
Luego de terminar el año a full, regresar de unas pequeñas vacaciones me pongo al día con el blog ya que lo he tenido un poco descuidado. Como parte de las actividades en los proyectos de Ethical Hacking se tienen requerimientos para buscar vulnerabilidades en el código fuente de manera estática, es decir sin que la aplicación evaluada este ejecutándose, para realizar ello nos podemos ayudar en ciertas herramientas que pueden AYUDAR en realizar esto, y resalto AYUDAR por que ninguna herramienta va hacer el trabajo al 100% , siempre va ser necesario realizar un análisis posterior de los casos.
En este caso, vamos a aprender a instalar , configurar y usar Sonarqube es una herramienta que me a ayudado mucho en estas labores, este procedimiento se puede aplicar en Ubuntu 18.04.1 u otro derivado.
1.- Instalar java
sudo apt install openjdk-8-jdk openjdk-8-jre
2.- Crear directorio
mkdir sonarqube
2. -Descargar Sonarqube
Para ello es necesario ingresar a la pagina : https://www.sonarqube.org/downloads/
También es necesario descargar el escaner de : https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner
Al descomprimir los archivos tendremos lo siguiente :
3.- Luego descargaremos un proyecto opensource como DVWA para analizarlo
Para esto descargaremos un viejo conocido como DVWA
4.- Ahora vamos a configurar el escaner
– Crear una carpeta «main» en la ruta sonar-scanner-3.2.0.1227-linux/bin
cd sonar-scanner-3.2.0.1227-linux/bin
mkdir main
– luego dentro de la carpeta «main» vamos a mover y descomprimir la carpeta de la aplicacion a analizar
mv DVWA-master.zip sonar-scanner-3.2.0.1227-linux/bin/main/
cd sonar-scanner-3.2.0.1227-linux/bin/main/
unzip DVWA-master.zip
– Ahora crear un archivo «sonar-project.properties» indicando la aplicación a evaluar de la siguiente forma
cd sonar-scanner-3.2.0.1227-linux/bin
vim sonar-project.properties
5.- Finalmente iniciamos el panel de sonar y luego escaner para iniciar el análisis
– Iniciar sonar
cd sonarqube/sonarqube-6.7.5/bin/linux-x86-64
./sonar.sh start
Sonar iniciara en el puerto 9000 del localhost de la siguiente forma
– Ahora iniciar el escaner
cd sonarqube/sonar-scanner-3.2.0.1227-linux/bin
./sonar-scanner
Como vemos el análisis del de las paginas se realizo correctamente.
6.- Análisis de resultados
Luego de que el escáner termine el análisis en el panel de sonar aparecerá un nuevo proyecto de la siguiente forma
Como vemos ahora tenemos un proyecto analizado, al ingresar veremos que tenemos catalogadas los bugs, vulnerabilidades, entre otros resultados.
Al ingresar a las vulnerabilidades, tendremos un listado de las mismas.
El siguiente paso es analizar cada una de las vulnerabilidades reportadas en el código para identificar la importancia de las mismas, su importancia en el modelo de negocio y por su puesto como poder corregirlas.
Espero que les sirva.
Saludos
Juan Oliva