16 noviembre, 2018

Montar carpeta remota FTP o FTPS en Linux con CurlFtpsFS y SSHFS

Para montar una carpeta de un directorio FTP o FTPS remoto en un sistema Linux y acceder a ella de forma local como un volumen más del sistema. Se puede usar CurlFtpFS o SSHFS.

CurlFtpFS

CurlFtpFS lo usaremos sino disponomes de conexión SSH hacia el servidor FTP remoto (la transferencia de datos es más lenta).

[1] Instalamos curlftpfs.
sudo apt install curlftpfs
[2] Creamos el directorio en el que montaremos el FTP/FTPS.
sudo mkdir /backups
[3] Montamos la carpeta remota FTP en el sistema local.
sudo curlftpfs -o allow_other usuarioftp:password@servidorftp.com /backups -v
Si queremos que se monte de forma persistente en el sistema, agregamos un nueva entrada al fichero /etc/fstab. Cambiaremos el uid según corresponda al usuario que tendrá acceso a la carpeta.
curlftpfs#servidorftp.com /backups fuse auto,user,uid=1000,allow_other,_netdev 0 0
Para desmotar la carpeta.
fusermount -u /backups
o
umount /backups
CurlFtpFS cuanta con múltiples opciones, para consultar su ayuda.
curlftpfs --help
o
man curlftpfs


SSHFS

SSHFS los usaremos si disponemos de una conexión SSH hacia el servidor FTP remoto (la transferencia de datos es más rápida que CurlFtpFS).

[1] Instamos sshfs.
sudo apt install sshfs

[2] Creamos el directorio en el que montaremos el FTP/FTPS
sudo mkdir /backups
[3] Montamos la carpeta remota FTP en el sistema local.
sudo sshfs -o allow_other usuarioftp@servidorftp.com:/ /backups
Nos pedirá que aceptemos el fingerprint y que introduzcamos el password de usuario.

Con "df -h" podremos ver el directorio remoto FTP/FTPS montamo en el directorio /backup (en este caso) como un volumen del sistema local.

Para montarlo permanentemente en el fichero /etc/fstab lo haremos con la misma sintaxis que en el caso de CurlFtpFS. 

SSHFS cuenta con opciones muy similares a las de CurlFtpFS, para consultar su ayuda.
sshfs --help
o
man sshfs
Saludos!

12 octubre, 2018

Caché de credenciales y passwords almacenadas de los recursos de red de Windows

Existen varias formas de poder visualizar las credenciales "dominio\usuario y password" de los recursos de red almacenados como caché en Windows.

Para que esta caché de almacenamiento sea posible debemos tener habilitado y en ejecución (por defecto ya suele estarlo) el servicio de "Administrador de credenciales" (VaultSvc) que proporciona el almacenamiento seguro y recuperación de credenciales de usuarios.

Hace uso de LSASS (Local Security Authority Subsystem Service) responsable de la política de seguridad en el sistema, audita y verifica quien inicia sesión en sistemas Windows, cambios de contraseñas y crea tokens de acceso.

Figura 1: Servicio de administrador de credenciales.

Cuando se accede a un recurso de red el cual nos solicita usuario y contraseña mediante una autenticación NTLM y se marca el checkbox de "recordar esta contraseña" esta se almacena en un fichero cifrado en nuestro perfil de usuario añadiéndose al Windows Vault.
C:\Users\USUARIO\AppData\Roaming\Microsoft\Credentials

C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft\Credentials

C:\Users\USUARIO\AppData\Local\Microsoft\Vault

C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Vault

C:\ProgramData\Microsoft\Vault


Administrador de credenciales

Una de las formas más habituales para visualizar las credenciale almacenadas de Windows es a través del Administrador de credenciales situado en el panel de control. Ahí veremos tanto las credenciales de Windows como las credenciales web, en caso de que tengamos guardadas credenciales de sitios web en Internet Explorer únicamente.

Figura 2: Administrador de credenciales de Windows.

KRShowKeyMgr

Otra forma de gestionar estas credenciales es través del "KRShowKeyMgr", se puede ver las credenciales almacenadas, borrarlas y agregar nuevas de forma gráfica.

Para invocar esta ventana escribimos en una cmd o una ventana ejecutar:
rundll32.exe keymgr.dll, KRShowKeyMgr
Figura 3: KRShowKeyMgr - Administrador de nombres de usuario y contraseñas alamacenadas.

cmdkey

Si no tenemos acceso (por restricciones GPO de dominio o similar) al panel de control o poder invocar desde ejecutar, pero si a una consola cmd. Podemos ver estas credenciales a través del comando cmdkey.

Realmente esto es lo que se está usando de forma subyacente a las interfaces gráficas anteriores


Figura 4: cmdkey - Administrador de crecenciales.

Mostrando la ayuda con "cmdkey /?" vemos las posibilidades que tenemos.
Para mostrar la lista de credenciales disponibles:
   cmdkey /list
   cmdkey /list:destino

Para crear credenciales de dominio:
   cmdkey /add:destino /user:usuario /pass:contraseña
   cmdkey /add:destino /user:usuario /pass
   cmdkey /add:destino /user:usuario
   cmdkey /add:destino /smartcard

Para crear credenciales genéricas:
El modificador /add puede reemplazarse por /generic para crear credenciales genéricas

Para eliminar credenciales existentes:
   cmdkey /delete:destino

Para eliminar credenciales RAS (Remote Access Service):
   cmdkey /delete /ras


Herramientas de terceros

Todo lo anterior son formas nativas del sistema de poder gestionar estas credenciales alamacenadas. Pero no permite visualizar las contraseñas en texto plano. Para ello podemos usar algunas herramientas de terceros. Nirsoft desarrolla multitud herramientas de este tipo para sistemas Windows.

CredentialsFileView descifra y muestra las contraseñas en texto plano almacenadas en los archivos de credenciales de Windows (C:\Users\USUARIO\AppData\Roaming\Microsoft\Credentials).

Figura 5: Credentials File View.

VaultPasswordView descifra las contraseñas y otros datos almacenados en Windows Vault (C:\Users\USUARIO\AppData\Local\Microsoft\Vault) del sistema actual o de una unidad externa que se le indique.

Figura 6: Vault Password View.

EncryptedRegView según se le indique escanea el registro de Windows del disco local o de un disco externo. Busca datos cifrados con DPAPI (Data Protection API), intenta descrifralos y mostrarlos en texto plano. No solo mostrará contraseñas almacenadas sino también otro tipo de datos que estuviesen cifrados de productos de Microsoft y también de terceros.

Figura 7: Encrypted Registry View.

Network Password Recovery similar a CredentialsFileView con la diferencia de que este solo muestra aquellas credenciales que afecten con recursos de red.

Figura 8: Network Password Recovery.


Saludos!

19 julio, 2018

Solución al problema de licencias de conexiones RDP entre Windows Server 2016 y Windows Mobile (RDM), Windows CE o versiones antiguas RDP 5.x / 6.x

Actualmente RDP (Remote Desktop Protocol) está en versión 10.x,versiones más actualizadas que incluyen importantes mejoras de seguridad. Como pueden ser: mayor longitud de clave generada por el servidor de licencias RDS 4096 bits con un algoritmo de seguridad SHA256, soportando SSL/TLS y NLA (Network Level Authentication).

Versiones iguales o inferiores a RDP 6.x no soportan las características anteriores. El límite de longitud para las claves es de 2048 bits con algoritmo de seguridad SHA1 (Secure Hash Algorithm 1).

Esta clave se genera en base al método de activación de licencias del administrador de licencias de Escritorio remoto. Si el método empleado es "Web Browser" (Explorador Web) las claves de licencias, se pueden generar un requisitos más bajos que si lo activásemos con otro método, con una longitud de 2048 bits SHA1.

Si aún no tenemos activado el servidor de administración de licencias de Escritorio remoto y queremos tener la compatiblidad entre vesriones más antiguas y actuales para establecer conexiones RDP. Selecionaremos la opción de activar por el método de conexión Web Browser.

En caso de que ya tengamos activado el servidor de licencias procederemos del siguiente modo.

En el servidor Windows Server 2016 que recibirá la conexión RDP desde el dispotivo Windows Mobile o Windows CE comprobamos que NLA esté desactivado.

Figura 1: Desactivar NLA (Autenticación a nivel de red) en Windows Server 2016.
Añadir un rol de instalación de Servicios de Escritorio remoto para VDI (Virtual Desktop Infraestructure).

Figura 2: Añadir rol de instalación de RDS.

En este paso podría ser "Implementación estándar" o "Inicio rápdio".

Figura 3: Implementación estándar para el rol RDS.

Para este esceneario será implementación de escritorio basada en sesión.

Figura 4: Implementaicón de escritorio basada en sesión.

Una vez agregados los servicios RDS. Creamos una colección y no dirigimos a ella.

Figura 5: Colleción de host de sesión de Escritorio remoto.

Dentro de las tareas de colección de RDS configuramos las opciones de seguridad para conexiones RDP.
  • Nivel de seguridad de protocolo de Escritorio remoto (RDP).
  • Nivel de crifrado: Bajo.
  • Deshabilitamos NLA.
Figura 6: Configuración de opciones de seguridad para conexiones RDP.

Como comentaba al princpio, si eligimos un método de conexión basada en Explorador Web. No es necesario realizar ninguna otra acción y las conexión RDP entre Windows Mobile o Windows CE y Windows Server 2012/2016 estarán funcionales.

De igual modo, selecionamos el método de conexión por Explorador Web o Web Browser y aceptamos.

Figura 7: Selección del método de conexión "Web Browser". 

Eliminamos los tipos de claves REG_BINARY correspondientes a las claves de certificado X509 del método anterior de licencias RDS. En el registro del servidor de administrador de licencias de Escritorio remoto.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM
  • Certificate
  • X509 Certificate
  • X509 Certificate ID 
  • X509 Certificate2

Figura 8: Eliminación de claves de licencias generadas por el administrador de licencias de Escritorio remoto.

¿Por qué eliminar estas claves de certificados del registro? 

Entre versiones de RDP actuales la longitud de clave de certificados es de 4096 bits con un algoritmo de seguridad SHA256, estas claves se generan en la primera instancia de conexión entre un acuerdo entre el nivel de seguridad compatible entre las dos máquinas que establecen la conexión RDP.

El equipo del usuario que mantiene la conexión con el servidor al que se conecta establece la longitud y algoritmo de esta clave, si el equipo que se conecta usa una versión de protocolo reciente no habrá problemas, pero si el equipo cliente se trata de un sistema Windows Mobile o similar este no podrá conectarse debido a que el servidor administrador de licencias no puede generar claves de una longitud y algoritmo inferior a los requisitos mínimos que establece el método de conexión (figura 7), por ese motivo el método de conexión Web Browser tiene unos requisitos menos restrictivos y puede generar claves de longitud más corta y cifrados de menor nivel.

Conexión establecida

Como equipo cliente para este ejemplo usaré un Windows XP SP1 que dispone de versión RDP v5.x (funcionaría igual para Windows Mobile, Windows CE o similares con versiones RDP v5.x o v6.x).

Vemos como la conexión RDP se estableció correctamente. En ese momento Windows XP SP1 estableció el acuerdo de certificados X509 de conexión. Si añadimos la desactivación de NLA y el nivel de cifrado más bajo sin SSL/TLS, la conexión es posible.

Figura 9: Conexión RDP establecida entre versioens RDP antiguas y Windows Server 2016.

Saludos!

11 julio, 2018

Ver las passwords Wifis almacenadas a las que nos hemos conectado

Cada vez que desde nuestro equipo Windows nos conectamos a una red inalámbrica WiFi y recordamos la password de indentificación de la red, esta se alamacena en el sistema.

Con el uso de la utilidad de comandos netsh (en la sección de wlan) podemos visualizar las redes que tenemos almacenadas y también la password de acceso que en su momento le indicáramos para autenticarnos en dicha red.

Visualizar los nombres de las redes alamacenadas por Windows en el equipo.
netsh wlan show profile
Establecemos el nombre de la red (SSID - Service Set Identifier) y el valor clear para key.
netsh wlan show profile name=SSID key=clear
Para este ejemplo se usó la red con SSID "prueba".

Figura 1: Netsh - Ver perfiles wlan y obtención de password wifi almacenada.

Otra opción sería usar el "Centro de redes y recursos compartidos" del "Panel control". Una opción con entorno gráfico de Windows 7 es que podíamos ver las redes almacenadas y editar su configuración, en Windows 10 solo podemos ver las redes almacenadas pero no editar su configuración sino estamos conectados en ese momento a esa red. Por lo que hacerlo de una forma gráfica solo nos servirá para ver la password almacenada de la Wifi actual en la que estemos conectados.

Seleccionamos la red Wifi en la que actualmente estemos conectados. Propiedades inalámbricas > Pestaña Seguridad > Mostrar carácteres (nos saltará el UAC por seguridad, para ejecutar esto con privilegios administrativos).

Figura 2: Ver password wifi conectada actualmente.


Saludos!
Entradas Relacionadas