lunes, 22 de agosto de 2016

Creación de nombres automática para fakes account.

Estimados amigos de Inseguros !!!

El otro día leyendo este artículo del señor Dark Operator se me ocurrieron varias ideas y sobre todo me gustó mucho el artículo. Para darle el sentido en castellano y mi visión os voy a recrear el concepto con mis ejemplos propios.


El concepto es sencillo. Imagina un entorno de post-explotación de un sistema en el que quieres introducir un usuario con persistencia en el sistema. La típica intrusión en un dominio Windows o un Wordpress, y la creación de uno o varios usuarios para poder acceder a posteriori, o para demostrar la intrusión.

En pequeños sistemas la creación de un usuario puede ser detectada ya que seguramente el administrador de un vistazo detecte el usuario "intruso" en cuestión.

En sistemas grandes con miles de usuarios, el proceso manual es casi imposible.

Podemos usar la página Fake Name Generator  para mediante un setting básico de campos, crear un listado de 100,1000, 10000 usuarios que podamos usar para importar en nuestro sistema comprometido.

El sistema nos ofrece la posibilidad de usar un csv,txt, etc o directamente generar las instrucciones en formato SQL.


El resultado podría ser algo parecido a esto:


Ahora podríamos emplear este csv en la importación por ejemplo en un sistema Windows. El artículo original muestras unas powershell que no creo necesarias. Con esta simple sentencia y respetando el formato del CSV podemos realizar la importación:

Import-Module ActiveDirectory
$Users = Import-Csv -Delimiter ";" -Path ".\userslist.csv"
foreach ($User in $Users)
{
    $OU = "OU=Employees,DC=lab-os,DC=com"
    $Password = $User.password
    $Detailedname = $User.firstname + " " + $User.name
    $UserFirstname = $User.Firstname
    $FirstLetterFirstname = $UserFirstname.substring(0,1)
    $SAM =  $FirstLetterFirstname + $User.name
    New-ADUser -Name $Detailedname -SamAccountName $SAM -UserPrincipalName $SAM -DisplayName $Detailedname -GivenName $user.firstname -Surname $user.name -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $true -Path $OU
Podemos ver los usuarios creados en el directorio activo:


Como medida de seguridad, si sospechamos que hemos tenido una intrusión de este tipo podemos usar PowerShell para comprobar la fecha de creación del usuario para detectar este tipo de historias.

Podrías ser así:

Get-ADUser -filter * -properties passwordlastset | sort-object passwordlastset | select-object Name, passwordlastset | Export-csv -path c:\kinotest\listos.csv

Aunque realmente miramos por la fecha de la última contraseña, pero nos sirve.

Espero que os haya gustado el recurso.

Gracias por leerme !!!