martes, 21 de junio de 2016

PS. Control cambios en Grupos del AD


Algo que nos preocupa a todos los administradores de sistemas es que alguien no autorizado se haga administrador. Hay varias maneras de controlarlo y algún que otro programa que nos avisa, aquí explicaré otra opción a tener en cuenta.


En el script añadiré los grupos que me preocupa que alguien tome el control, haré una tarea que se ejecute cada hora y que envíe un email si hay algún cambio.

El informe que envía no está muy detallado pero es mucho mejor que no tener nada.

La primera vez que ejecutemos el script dará algún error porque no encuentra algún fichero, no quería alargar mucho más el código.

======================================================================

import-module ActiveDirectory
$ListAdminstoday = "C:\Script\Control grupos\ListAdminstoday.txt"
$ListAdminsyerterday = "C:\Script\Control grupos\ListAdminsyerterday.txt"
$DiferenciasAdmins = "C:\Script\Control grupos\DiferenciasAdmins.txt"
$body = "Informa de cambios en los grupos: Exchange Recipient Administrators, Controladores de dominio, Administradores de esquema, Administradores de organización, Controladores de dominio"

if (Test-Path $ListAdminstoday) {copy $ListAdminstoday $ListAdminsyerterday} else {del $ListAdminstoday}


get-adgroupmember "Admins. del dominio" -recursive | Out-File $ListAdminstoday
get-adgroupmember "Exchange Recipient Administrators" -recursive | Out-File -append $ListAdminstoday
get-adgroupmember "Controladores de dominio" -recursive | Out-File -append $ListAdminstoday
get-adgroupmember "Administradores de esquema" -recursive | Out-File -append $ListAdminstoday
get-adgroupmember "Administradores de organización" -recursive | Out-File -append $ListAdminstoday
get-adgroupmember "Controladores de dominio" -recursive | Out-File -append $ListAdminstoday
compare-object (get-content $ListAdminsyerterday) (get-content $ListAdminstoday) | Out-File $DiferenciasAdmins
$PSEmailServer = "10.10.10.10"
if( (get-item $DiferenciasAdmins).length -gt 0.2KB) { Send-MailMessage -From "Miservidor@miEmpresa.es" -To "correoIT@miempresa.es" -Subject "IMPORTANTE: Grupo de Usuarios con privilegios administrativos MODIFICADO" -Body $body -Attachments $DiferenciasAdmins -Priority High }

======================================================================


Marco en         lo que deberías modificar para adaptarlo a tu estructura.

Una de las primeras cosas que un auditor en seguridad o un hacker intentará en elevar los privilegios del usuario con los que perpetuará un ataque y estos grupos son algunos de los más usados.

Lo tengo planificado de la siguiente manera:





Nos llegará




Gon. Jun2016 . Rev Julio 2016