Explotar Consul para obtener una reverse shell

Facebooktwitterlinkedinmail

Durante un test de penetración, uno de los objetivos más importantes son los equipos y programas de monitorización y configuración. Tomar el control de estos normalmente implica poder tener acceso a toda la red. En esta entrada veremos como una configuración incorrecta nos puede permitir explotar Consul para ejecutar código en los equipos que estén ejecutando el agente.

Consul es una herramienta para el descubrimiento y configuración de servicios. Entre otras funcionalidades permite el descubrimiento de servicios, alertas sobre la salud de los clusters, almacenamiento de configuraciones dinámicas etc…

La funcionalidad que explotaremos en este caso es la de alertas del cluster. Los agentes de consul permiten crear checks de salud mediante la API. Estos checks pueden ser de diferentes tipos, incluso pueden permitir la ejecución de scripts.

Verificando la ejecución de comandos

Por defecto, los agentes de consul escuchan en el puerto 8500 y permiten peticiones HTTP. Durante un pentest, si descubrimos un puerto 8500 abierto será importante verificar si se trata de la API de consul. Para esto,  podemos realizar un simple: curl ip:8500 y la respuesta será Consul Agent.

Leer más

Securizando – Fail2Ban como IDS

Facebooktwitterlinkedinmail

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

Configurando HTTPS en servidores Apache en CentOS

Facebooktwitterlinkedinmail

El cifrado de las comunicaciones es imprescindible para evitar que nadie pueda ver los datos que se envían entre cliente y servidor, especialmente si entre estos datos se envía información sensible como contraseñas.  Por esto, en este post se explica de forma breve como configurar HTTPS en un servidor Apache de forma gratuita gracias a Let’s Encrypt.

En primer lugar vamos a ver que es una autoridad de certificación(Certification Authority o CA) y un certificado digital. Una autoridad de certificación es un entidad de confianza que emite y revoca certificados digitales, estos certificados son reconocidos por los navegadores web u otros clientes/servicios y se usan para verificar la identidad del servicio o del recurso consultado.  Estas son un elemento básico en una infraestructura de clave pública o  PKI ya que aseguran que la clave pública de un usuario es realmente suya.

Tras esta introducción vamos a pasar a generar los certificados digitales que después configuraremos en el servidor. Para esto usaremos el cliente recomendado por Let’s Encrypt certbot.

Para CentOS , debido a que algunas dependencias de certbot no están disponibles en los repositorios estándar, deberemos habilitar el repositorio EPEL:

yum install epel-release

Descargamos certbot-auto:

wget https://dl.eff.org/certbot-auto

Damos permisos de ejecución:

chmod a+x certbot-auto

Leer más

Honeypot, aprendiendo de los ataques

Facebooktwitterlinkedinmail

Esta entrada del blog será la primera de una serie de entradas dedicadas a HoneyPy. Un honeypot de baja interacción escrito en Python y mantenido por foospidy que es fácil de poner en funcionamiento, nos permite extender sus funcionalidades mediante el uso de plugins y también aplicar configuraciones personalizadas.

En primer lugar describiremos que es un honeypot. Un honeypot  es un sistema que tiene como objetivo recibir ataques para aprender de estos. Este simulará servicios que parecerán legítimos de cara al atacante pero que no tienen una utilidad real.

Esquema funcionamiento honeypot

Leer más