Extensión Autorize, buscando problemas de control de acceso

Facebooktwitterlinkedinmail

1 noviembre, 2018

Cuando se analiza la seguridad de una aplicación web, uno de los puntos más importantes a revisar es como funciona la autorizacion y el control de acceso. Esto es vital para detectar problemas de autorización y autenticación también llamados problemas de pérdida de control de acceso. Vulnerabilidad que encontramos en el número 5 del TOP 10 de OWASP. En esta entrada veremos como con Burp podemos realizar esta verificación de forma sencilla con la extensión Autorize.

Instalación

Para utilizar esta extensión deberemos tener descargado el standalone de Jython que podremos descargar de: http://www.jython.org/downloads.html

Una vez descargado vamos a Extender – Options y en Python Environment seleccionamos el fichero JAR descargado.

Tras esto vamos a la pestaña BApp Store, seleccionamos Autorize y clicamos en Install para instalar la extensión:

Leer más

CIS Benchmarks para Kubernetes con kube-bench

Facebooktwitterlinkedinmail

20 septiembre, 2018

CIS Benchmarks son estándares de seguridad para diferentes sistemas, realizadas por el Center for Internet Security, y que tienen como objetivo hardenizar nuestros Sistemas Operativos. El cumplimiento de estos estándares son comunes en entornos que tienen que cumplir PCI-DSS, GDPR o son de uso gubernamental así que si nos preocupa la seguridad, siempre acertaremos si cumplimos los  CIS Benchmarks.

Para verificar las reglas de CIS Benchmark vamos a utilizar kube-bench que es una herramienta de Aqua que nos va automatizar todo el proceso de validación de reglas CIS Benchmark para Kubernetes.

Validar Workers

Para validar los nodos podemos levantar un POD que automáticamente nos compruebe cada una de las reglas.

kubectl run --rm -i -t kube-bench-node --image=aquasec/kube-bench:latest --restart=Never --overrides="{ \"apiVersion\": \"v1\", \"spec\": { \"hostPID\": true } }" -- node --version 1.8

Donde –version es la versión de Kubernetes que utilizamos. De momento sólo está hasta la 1.8.

Como curiosidad, en la parte de –override veréis que se le pasa { \"hostPID\": true } esto lo que hace es que el container se ejecute con el PID del host para que tenga permisos para hacer los checks en el host.

Validar Master

Para validar el Master, en la documentación de Aqua se indica que debemos ejecutar un container en el nodo respectivo. Si permitimos que nuestro nodo master ejecute container, podemos utilizar kubectl.

kubectl run --rm -i -t kube-bench-master --image=aquasec/kube-bench:latest --restart=Never --overrides="{ \"apiVersion\": \"v1\", \"spec\": { \"hostPID\": true, \"nodeSelector\": { \"kubernetes.io/role\": \"master\" }, \"tolerations\": [ { \"key\": \"node-role.kubernetes.io/master\", \"operator\": \"Exists\", \"effect\": \"NoSchedule\" } ] } }" -- master --version 1.8

Si no permitimos ejecución de PODs en el nodo master, entonces podemos ejecutar directamente el container en el docker del nodo master.

docker run --pid=host -t aquasec/kube-bench:latest master

Aquí vemos el comando y las salida.

kube-bench

Más info en https://github.com/aquasecurity/kube-bench

Saludos!

¿Confías tu seguridad al XSS auditor de Chrome?

Facebooktwitterlinkedinmail

10 junio, 2018

En esta entrada vamos a ver por qué no podemos confiar la seguridad de nuestra web al XSS auditor de Chrome.

Hace un tiempo ya realizamos una introducción a los ataques Cross-Site Scripting XSS. En estos el atacante utiliza las entradas de datos de un sitio web para inyectar scripts maliciosos (normalmente JavaScript) que después se ejecutarán en el navegador de otros usuarios.

Como estos ataques se basan en la entrada de datos en un sitio web, Chrome, entre otros navegadores, tiene un mecanismo de seguridad para evitarlos. El problema es que este mecanismo de seguridad tiene varios problemas según el tipo de XSS al que se enfrente.

El auditor de Chrome se ejecuta durante la fase de análisis del HTML e intenta encontrar reflejos de la solicitud en el cuerpo de la respuesta. Por lo tanto, en ningún caso podrá mitigar los ataques XSS almacenados, ya que la inyección no tiene porque producirse en la misma petición, o DOM, ya que la página en sí (la respuesta HTTP) no cambia, pero el código del lado del cliente contenido en la página se ejecuta de forma diferente debido a las modificaciones maliciosas que se han producido en el DOM.

En el caso de encontrar una posible reflexión, el auditor de Chrome puede ignorar el script malicioso, o puede bloquear la página para que esta no cargue y por el contrario aparezca una página de error ERR_BLOCKED_BY_XSS_AUDITOR.

Leer más

Quick Tips – SonarQube en Docker

Facebooktwitterlinkedinmail

20 mayo, 2018

En este post explicaremos una forma sencilla de realizar un análisis de código utilizando SonarQube y Docker.SonarQube con Docker

El propósito no es tener una instalación correcta de SonarQube sino usar el docker de SonarQube para analizar código de forma puntual.

Para realizar esto deberemos tener instalado Docker.

Una vez tenemos instalado docker lo iniciamos:

systemctl start docker.service Leer más

Quick Tips – Kali Linux en Docker

Facebooktwitterlinkedinmail

6 mayo, 2018

Kali Linux en Docker

Arrancamos y descargamos la imagen de Kali Linux oficial.

$ docker run -t -i --name kalibase kalilinux/kali-linux-docker

Actualizamos repositorio e instalamos las herramientas que queramos para nuestra imagen.

root@7714e6042869:/# apt-get update && apt-get install vim nmap
root@7714e6042869:/# exit

Una vez instaladas, salimos con CTRL + D y hacemos el commit de nuestra imagen en local.

$ docker commit -m "vim nmap" kalibase kali:slim

Ahora tenemos la imagen oficial actualizada y con nuestras herramientas preferidas. Podéis instalar las que queráis. Esto es sólo un ejemplo.

Ahora, a jugar!

# Crear y acceder al container asignando un nombre (Primera vez) 
$ docker run -t -i -h kalidock --name kali kali:slim
root@kalidock:/#

# Iniciar container creado y acceder mediante el nombre
$ docker start kali -a
root@kalidock:/#

# Consultar el estado de nuestros containers
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
434d35d8eb23 kali:slim "bash" 2 hours ago Exited (130) 7 seconds ago kali

# Actualizar recursos de nuestro container
$ docker update --memory 1g --cpus 2 --memory-swap 2g kali

# Para salir del container sin pararlo presiona [CTRL]+[P]+[Q]

Saludos!

Writeup – The Vault (SwampCTF 2018) – Crack SHA256

Facebooktwitterlinkedinmail

2 abril, 2018

¡Volvemos con los retos de CTFs! El reto que se detalla en esta entrada es un reto web del CTF SwampCTF 2018, celebrado durante los días 29,30 y 31 de marzo. Este se resuelve crackaenado un hash SHA256.

Al acceder a la URL nos aparecía la siguiente pantalla:

SwampCTF

Leer más

Hacking con WiFi HID Injector y Empire

Facebooktwitterlinkedinmail

28 febrero, 2018

En esta entrada vamos a explicar como usar de forma simple un USB WiFi HID Injector para obtener acceso a un equipo. Para esto nos ayudaremos del framework de post-explotacion Empire.

En primer lugar, ¿qué es un USB WiFi HID Injector? y ¿Dónde lo conseguimos?

Un USB WiFi HID Injector es un USB que consta principalmente de un Atmega32u4 y un módulo ESP-12-F para añadir capacidad Wifi. Este USB al conectarse a un equipo es reconocido como un teclado y un raton. Por lo tanto, permite a un atacante conectarse vía WiFi a este y pulsar teclas o mover el ratón.

Este proyecto fue presentado en el Black Hat arsenal 2017 y está documentado en el GitHub del diseñador, donde podemos encontrar dónde adquirirlo.

En nuestro caso lo compramos en Aliexpress.

USB Wifi HID injector USB Wifi HID injector

Tal y como se indica en el GitHub estos USB ya llevan precargado ESPloitV2 por lo que podemos conectarlo y comenzar a jugar.

Leer más

Securizando – Fail2Ban como IDS

Facebooktwitterlinkedinmail

18 febrero, 2018

Securización de sistemas Linux con Fail2Ban

Hola  a todos, en este Post veremos como  implementar un sistema básico de IDS para protegernos de los ataques comunes y ataques de fuerza bruta. Como herramienta hemos escogido fail2ban. Un software maduro que nos permite monitorizar los logs de las aplicaciones en busca de marcadores que disparen acciones que, generalmente, se traducen en el filtrado de una IP sospechosa en el firewall del sistema.

En este post hacemos una configuración rápida para proteger:

* SSH: Filtrar ataques de fuerza bruta en SSH

* Apache: Filtrar ataques crawlers maliciosos, ataques a formularios y otros ataques comunes.

* Postfix: Filtrar servidores que han devuelto algun error de verificación de dominio o de opciones en los diálogos con Postfix.

Nuestro equipo de pruebas es una Centos 7.3 personalizada, así que algunos pasos pueden ser distintos a una instalación limpia original.

Leer más