Archive for Hardening

Certificado SSL en Subdominios con Cloudflare.

Es ya muy conocido Let’s Encrypt por la concesión de certificados SSL gratuitos que podemos crear para securizar u otorgar a nuestro sitio Web un extra de seguridad, ya que si instalamos un certificado SSL y hacemos los pertinentes cambios (evitar contenido, mixto, redirigir, etc…)tendremos nuestro sitio Web bajo un flamante HTTPS verdoso.

Igualmente, Cloudflare se posiciona en una alternativa bastante interesante tanto en niveles Free como de Pago para conseguir un extra de rapidez a nuestro sitio con su CDN y por supuesto evitar (o intentarlo xD) ataques de denegación de servicio (DoS).

Juntos, el certificado SSL y Cloudflare, hacen que tu sitio sea más seguro. No seguro 100% sino más de lo que estaría sin Cloudflare o SSL, evidentemente nos dejamos atrás numerosos cambios a realizar para mejorar esta “seguridad” de la que hablamos.

El tema de este artículo viene a tratar como conseguir generar un certicado Let’s Encrypt para un subdominio partiendo de que nuestro dominio está ya bajo el “paragua protector” de Cloudflare.

Read more

Filesystem Sandbox for Linux – FSSB

Autor: SentavioEn muchas ocasiones, necesitamos un sandbox (caja de arena) de nuestro sistema de ficheros, para poder analizar qué ficheros crea, lee o modifica una determinada aplicación o herramienta.

Esto es muy útil para poder realizar diferentes pruebas, en un entorno seguro. De esta manera, podemos analizar desde aplicaciones en las que estemos trabajando, hasta herramientas que hayamos descargado, siendo muy amplio el abanico de posibilidades que nos ofrece.

Read more

Sandboxing con Firejail

Firejail es una herramienta fácil de usar, que nos permite realizar una especie de jaula con aplicaciones, especialmente útil para navegadores, clientes de correo electrónico, etc.

Instalación

$ sudo pacman -Syu firejail

Para que el funcionamiento de la herramienta sea óptimo debemos utilizar un kernel con el user-namespaces habilitado. En el caso de Arch, se recomienda utilizar en conjunción con el kernel linux-grsec, que lleva los parches grsecurity y habilitada esta opción o el kernel linux-usernd (disponible en el AUR).

¡Lleno, por favor! Gasolineras.

Recientemente, auditando la red de un cliente se detectó un router Huawei de Vodafone, el cual estuve echando un ojo a conciencia porque es de sobra conocida la calidad de los routers con la que los ISP (todos) pretenden que te conectes a la ADSL o Fibra, vi que algo no funcionaba como debiera.

Logueandome con password por defecto (no la tenía cambiada) intenté lo típico, loguearme, y desloguearme metiendo el burpsuite por medio para ver si las peticiones previas que había hecho, las validaba o se las saltaba a la torera.

Efectivamente, se las saltaba a la torera. Se me ocurrió que sería posible escanear “internet” para localizar router similares y poder crear un script que recopilara la información. Obviamente no lo iba a hacer pero la idea parecía buena hasta que buscando info del equipo vi que ya se me adelantaron y hace bastante tiempo.

Ya existía un script que creó Vicen Domínguez ( https://github.com/vicendominguez/http-enum-vodafone-hua253s/blob/master/README.md ) a raíz del descubrimiento, del mismo autor, del fallo de seguridad de estos routers (gracias por las referencias en twitter chicos!!) que podemos leer en https://packetstormsecurity.com/files/134522/Huawei-HG253s-V2-Information-Disclosure.html), por lo que llegué bastante tarde a este caso.

Pero el post no va sobre este tema, el cual es muy interesante y extendido (yo tengo un router de pruebas de este tipo y es bastante divertido darle caña).

Read more

Hacking vía Satélite

Vamos a jugar un poco con decodificadores de televisión vía satélite con el objetivo de ver algunos fallos de seguridad, pero antes de nada vamos a dar varias nociones para aquellas personas que no conozcan el tema.

Normalmente la persona que quiere ver la televisión de pago vía satélite necesita una antena parabólica (por la cual recibimos la señal de datos), un decodificador de satélite (capaz de decodificar la señales del satélite) y una tarjeta de abonado (que contiene las claves para descifrar la señal de datos cifrada). Hasta aquí todo correcto, verdad? pero antes de nada vamos a añadir una:

NOTA LEGAL

  • El objetivo de este artículo es conocer la seguridad de los receptores de comunicación vía satélite.
  • Rechazamos el uso de cualquier técnica ilegal como Card Sharing o IKS.
  • Ningún sistema sufrió daño alguno mientras se realizaron las pruebas de concepto.
  • No me hago responsable del mal uso que podáis dar a la información aquí mostrada.

Read more

¿TOR? ¡ No en mi servidor !

Sin duda las redes TOR han adquirido un protagonismo considerable en estos últimos años. Ya debemos saber que no siempre TOR, se usa para realizar actos delictivos sino también para evadir censuras en países autoritarios y dónde la democracia y libertad de expresión es un lujo escaso.

No obstante, nosotros siempre nos centramos en las posibilidades que puedan dar las redes TOR, tanto ofensivamente como defensivamente.

Hoy toca ser defensivos, y vamos a ver como poder parar de forma simple, visitas desde redes TOR a un servicio apache nuestro, publicado en Internet. Las reglas pararán cualquier intento de conexión pero utilizaremos apache como sonda de prueba.

La idea me surgió hace tiempo pero hoy he podido plasmarla en el artículo. Y es que entrando en pequeños debates de como mejorar servicios de Firewalls conocidos, con un gran profesional al que aprovecho y le mando saludos, me propuse hacer algo básico para trasladar mi idea y/o ponerla en práctica.

Empecemos pues.

La idea: No permitir accesos desde redes TOR a nuestro servidor y de paso, bloquear IPs que hayan sido reportadas o estén listadas en repositorios dedicados a recopilar esto.

¿Qué vamos a usar?

  • IPTables
  • IPSet
  • Feeds de IPs/Maliciosas y TOR
  • Script base de trick77(Github: https://github.com/trick77/ipset-blacklist)

torblocklogo Read more

Enjaulando un usuario SSH

Hace unos días se me planteó una situación interesante que puede llegar hasta a ser habitual a algunos de los lectores de nuestro blog.

Debía facilitar una cuenta SSH a un número X de personas para que probaran desde su localización si podían acceder a un SSH y a su vez si podían lanzar ataques de bruteforce, como “concepto” para que pudieran experimentar como es eso de sacar contraseñas utilizando Fuerza Bruta y como mitigar este ataque.

Solo tenía una máquina en ese momento con IP pública dinámica (vamos una VM en mi casa) pero daba la casualidad que el tiempo (¿qué es eso?) que disponía era escaso como para crear una nueva máquina o limpiar la que tenía de pruebas anteriores, datos y demás información “clasificada” por lo que el riesgo de que alguno que fuera más listo de la cuenta o el simple hecho de tenerla publicada en Internet podía causar una termoimplosión nuclear.

El tiempo es oro y por ello la solución temporal más efectiva que pude plantear en ese momento fue: Enjaular un usuario SSH. Podría haber alternativas, pero el SSH en cuestión iba a estar habilitado durante 6 horas.

Sobre cómo hacer esto, es de lo que va a tratar el artículo que hoy publico tras bastante tiempo de vacaciones en las Bahamas con cerveza Hack&Beers y pescando en las aguas cristalinas (Oh shit!! It’s not real).

En primera instancia vamos a dejar muy claro determinados conceptos, haciendo especial hincapié en las fases que algunos/as las consideraréis muy sencillas de comprender pero otros quizás no.

ssh1 Read more