19 enero, 2016

Hot Potato: Elevación de privilegios en Windows

El equipo de Foxglovesecurity.com hace pocos días ha publicado en su blog un exploit el cual desde un usuario de nivel bajo puede elevar sus privilegios dentro de un sistema hasta el nivel más alto. Haciendo uso de una pequeña herramientas de comandos que estos denominaron como "Hot Potato".

Esto es posible a unos fallos de diseño de Windows bien gestionados en el que se realizan tres ataques en uno. NBNS Spoofing (NetBios sobre TCP/IP o NetBios Name Service), WPAP (Web Proxy Autodiscovery Protocol) y HTTP > SMB NTLM Relay (autenticación NTLM de HTTP a SMB).

Como ejemplo en una máquina virtual con Windows 7 PRO de 32bits el cual tiene las configuraciones por defecto. Haciendo uso de Potato intentaré escalar a un usuario raso y hacerlo formar parte del grupo Administradores del sistema en un Windows 7.
Nos descargamos a local Potato, abrimos una consola de comandos y comprobamos la dirección IP local y el usuario local de esa instancia el cual no tiene privilegios y es el usuario el cual queremos elevar sus permisos.

Figura 1: Comprobamos que el usuario no está como usuario administrador.

Dependiendo de ejecutar potato.exe en un sistema Windows 7/8/10/Server 2012 se aplicará de una u otra forma, dependiendo la técnica a aplicar.
Para más información consultar la web oficial del equipo de "Hot Potato".

Figura 2:  Sabiendo la dirección IP local y ejecutamos potato.exe para Windows 7.

Haciendo uso del modificador "-cmd" ejecutamos una cmd.exe y ejecutamos añadimos un usuario al grupo administradores (net localgroup administradores [user] /add).

Figura 3: Comprobamos que el usuario a sido agregado al grupo administradores.

¿Soluciones a estos tres ataques?

Lo que podemos hacer para solucionar esto sería revisar el tráfico NBNS de nuestra red, para WPAD detener el servicio de detección automática de proxy web WinHTTP, y para NTLM forzar la autenticación de Kerberos y NTLMv2 con esta solución de Microsoft y forzar la política para firmar comunicaciones SMB siempre.

Saludos!

15 enero, 2016

DeepSound: Ocultar información dentro de ficheros de audio

La práctica o técnica de ocultación de información de mensajes u objetos dentro de otros se conoce como Esteganografía. En este caso orientado al mundo te la tecnología de la información, existen diversos tipos de esteganografía, aunque fundamentalmente en este blog hablaré en la mayoría de los casos de esteganografía por técnicas de software.

Para aquellos que hayan visto la serie Mr. Robot, el protagonista Elliot hace uso de una herramienta para ocultar información de ficheros de imágen en ficheros de audios que posteriormente graba en CDs, esta aplicación solo funciona bajo sistemas Windows, por en la escena de la serie que vemos esto Elliot arranca una máquina virtual de Windows bajo su Linux.

DeepSound es una herramienta que solo funciona bajo sistemas Windows y que nos permite ocultar información dentro de ficheros de audio y también convertir ficheros de audio a otros formatos.

Lo bueno de esto, es que conservamos el contenido original del fichero de audio, es decir, que no altermos el contenido de reproducción del mismo así quien abra este fichero de audio lo reproducirá corretamente sin saber que hay información oculta "dentro de el". Lo único que podemos notar es un ligero aumento de tamaño del fichero de audio lo cual en principio no llevará a mucha sospecha.

Será necesario tener instalado en nuestro equipo el paquete Microsoft .NET Framework 4.0.

Es sencilla de utilizar, simplemente seleccionamos los ficheros de audio en los que queremos ocutlar otros ficheros de informaicón y marcamos el tipo de comprensión (low, normal, high).

Figura 1: Añadiendo ficheros a ocultar dentro de un fichero de audio en DeepSound.

Una vez tenemos los ficheros que queremos ocultar encapsulados en los ficheros de audio correspondientes los encodeamos para unificarlo en un mismo fichero con formato de audio que eligamos, en mi caso hice referencia a dos fichero .pdf. Finalmente hacemos referencia a un directorio y tendremos la opción de establecer una password con un cifrado AES de 256bits.

Figura 2: Encapsulando ficheros dentro de un fichero de audio .wav con password AES-256.

Para poder extraer y ver el contenido encapsulado en los ficheros de audio, abrimos el fichero de audio que queramos extraer, introducimos la password (en caso de a ver establecido alguna) y lo extramos, si nos vamos al directorio de salida por defecto establecido, veremos los fichero .pdf que se habían agregado al fichero .wav.

Figura 3: Extracción de información contenida en el fichero de audio original.

Un ejemplo en el que considero que tendríamos una ofuscación de información muy robusta, podría ser de la siguiente manera:
Comprimir en un Winrar un conjunto de ficheros, a este le establecemos una contraseña robusta a través de Winrar y a su vez este fichero comprimido lo dividimos en varias partes (para que sea de un tamaño más ligero), cada parte separada de compresión las iremos encapsulando en distintos ficheros de audio con otro password a mayores establecida en Deepsound y a su vez después convertir también desde Deepsound un formato de fichero .wav a otro formato.

Descargar DeepSound

Saludos!

07 enero, 2016

Habilitar el envío de mensajes a equipos remotos en Windows 10 usando MSG

En Windows XP esto era posible habilitando el servicio de Windows "Mensajero" en todos los equipos de la red y haciendo uso del comando NET SEND.

En Windows 7, 8 y 10 por motivos de seguridad a llamdas RPC y la sintaxis NET SEND con posibles vulnerabilidades en su estructura, se tuvo que cambiar la forma de usarlo al igual que la forma de habilitar esta función.

Actualmente es necesario habilitar las llamadas RPC para esta funcionalidad y cambiar la estructura del comando así como el propio comando, pasando a ser MSG.

Habilitamos o mejor dicho permitimos las llamadas a procedimientos remotos (RPC) en el registro de Windows.
Con privilegios de administrador entramos en el registro de Windows y buscamos la siguiente ruta.
HKLM/SYSTEM/CurrentControlSet/Control/Terminal Server
A continuación buscamos un valor tipo DWORD llamado "AllowRemoteRPC" el cual por defecto se establece con valor "0", (como ya dije, por motivos de seguridad) modificaremos la información de valor a "1", para permitir los procesos de llamadas remotas.

habilitarWindowsRPCparaMSG
Figura 1: Moficando "AllowRemoteRPC" en regedit para enviar mensajes MSG en Windows.

Esta opción debe activarse en TODOS los equipos a los que queramos enviar mensajes y que estos los reciban.

La sintaxis del comando MSG es sencilla, un ejemplo sería.
msg /server:[IPRemota/NombreEquipoRemoto] [NombreEquipoRemoto\Usuario]
Escribir el mensaje
Pulsar Ctrl+Z
Pulsar Enter
Donde IPRemota/NombreEquipoRemoto sería la IP o el nombre de equipo remoto correspondiente, y el después tendremos que introducir el nombre de equipo seguido del nombre de usuario remoto al que queramos enviar el mensaje (NombreEquipoRemoto\Usuario).
Después escribiremos el mensaje a enviar, en este paso seguiremos las instrucciones referenciadas que se muestran en ese mismo momento que la propia herramienta de Windows MSG.

Para más información del uso de la utilidad MSG en Windows podremos consultar la ayuda de este simplemente escribiendo: msg /?

Saludos!
Entradas Relacionadas