El módulo de Powershell: PoShKeePass. Cómo funciona y cómo integrar su funcionalidad con AD (Active Directory)

En este tutorial voy a explicar el funcionamiento del módulo de PowerShell PoShKeePass para conocer su funcionalidad y cómo integrar su funcionalidad con AD (Active Directory).

PoShKeePass es un módulo de PowerShell que proporciona una interfaz de comunicación con la API KeePassLib, que aporta una plataforma amigable de administración para Bases de Datos KeePass.

PoShKeePass nos ofrece entre sus principales funcionalidades las siguientes operaciones:

  • Crear múltiples perfiles de configuración para Bases de Datos KeePass.
  • Obtener, crear, modificar y eliminar Entradas y Grupos de KeePass.
  • Generador de claves y creación de perfiles para crear claves personalizadas.

Instalación del módulo PoShKeePass

La instalación del módulo PoShKeePass es sencilla, tan sólo tenemos que abrir una interfaz de PowerShell con permisos de administración y ejecutar el siguiente comando:

Todas los comandos y scripts de este post han sido testeados y comprobados en Windows 10 21H2 (19044) y versión 5.1 de PowerShell. Para comprobar tu versión de Powershell ejecuta el comando get-host:

Sino puedes instalar PoShKeePass ya sea porque no dispones de permisos para ejecutar scripts de PowerShell, comprueba si tienes activadas las políticas de ejecución de Scripts:

A continuación procede a activar las políticas de ejecución para el usuario con el que estás conectado actualmente (CurrentUser):

Para obtener un listado de todos los comandos de que dispone el módulo PoShKeePass ejecuta el comando Get-Command seguido de los siguientes parámetros:

Si tienes dudas con la ejecución de cada comando que se explica en este tutorial, puedes obtener una ayuda de cada uno de ellos utilizando Get-Help seguido del comando que deseas consultar.

Creando Perfiles

Una vez hemos instalado el módulo, el siguiente paso es crear nuestro Perfil, indicando que será el que se utilicemos por defecto:

  • -DatabaseProfileName nombre del perfil.
  • -DatabasePath ruta y localización de la base de datos KeePass.
  • -UseMasterKey Utilizar clave maestra.
  • -Default Indicar que la Base de Datos será utilizada por defecto.

Podemos crear tantos perfiles como deseemos, así como modificarlos y eliminarlos.

Creando Grupos

Ya tenemos nuestro perfil, por lo que el siguiente paso es aprender a crear grupos dentro de la Base de Datos KeePass. En este caso utilizamos New-KeePassGroup:

  • KeePassGroupParentPath ruta donde queremos crear el grupo.
  • KeePassGroupName Nombre del grupo que queremos crear.

Podemos comprobar la estructura de grupos de nuestra Base de Datos KeePass con el comando Get-KeePassGroup.

Creando y listando entradas

Una vez hemos creado un grupo, vamos a incluir una nueva entrada a este utilizando New-KeePassEntry.

  • KeePassEntryGroupPath La ruta donde queremos crear la entrada.
  • Title El nombre de la entrada.
  • UserName Usuario.
  • KeePassPassword Clave.

Para listar las entradas utilizamos Get-KeePassEntry seguido del grupo donde queremos consultarla.

Para proceder a eliminar entradas debemos realizar un par de pasos con anterioridad, primero obtener el registro con Get-KeePassEntry y a continuación eliminarlo utilizando Remove-KeePassEntry:

La opción MasterKey

La opción MasterKey será útil si vamos a consultar, crear, modificar o eliminar múltiples registros. Este parámetro nos evita tener que introducir más de una vez la contraseña maestra de nuestra Base de Datos KeePass.

Para utilizar correctamente esta opción tenemos que convertir nuestra clave maestra a SecureString utilizando el cmdlet ConvertTo-SecureString. Veamos un ejemplo de como podemos realizar esta operación modificando o creando múltiples registros:

Capturar información de AD (Active Directory)

Ahora que sabemos cómo funciona el módulo de PowerShell PoShKeePass vamos a crear un pequeño script para poder capturar información de nuestro Directorio Activo e importarla a KeePass. Ni que decir tiene que también podemos hacerlo al contrario.

  • El  Script consulta los usuarios de un departamento de AD (Active Directory) utilizando el cmdlet Get-ADUser.
  • A continuación crea el grupo con el nombre de departamento si este no existe.
  • Recorre los usuarios del departamento de AD (Active Directory) y los va agregando a nuestra Base de Datos de KeePass.
  • En caso de que exista el usuario modifica los datos que estemos agregando.

De la misma forma que este Script importa y actualiza datos de usuarios AD (Active Directory) también puede hacerlo a la inversa y mantener actualizada esta información en nuestras Bases de Datos KeePass.

Un grado más de Seguridad

Podemos aportar un grado más de seguridad a nuestras Bases de Datos KeePass con el parámetro KeyPath. En este caso tendremos que crear un fichero de clave en la propia configuración de la Base de Datos KeePass.

Por la razón que sea PoShKeePass sólo funciona con la versión 1.0 de la clave. Una vez tengamos creada la clave, tendremos que indicar el Path de la clave en nuestra configuración de Perfil:

 

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.