Usando PowerShell para aumentar o privilexio das contas locais

Usando PowerShell para aumentar o privilexio das contas locais

A escalada de privilexios é o uso dos dereitos da conta corrente dun atacante para obter un nivel de acceso adicional, xeralmente superior, ao sistema. Aínda que a escalada de privilexios pode ser o resultado de explotacións de día cero, de hackers mestres que lanzan un ataque dirixido ou de malware disfrazado intelixentemente, a maioría das veces ocorre debido a unha configuración incorrecta do ordenador ou da conta. Ao desenvolver aínda máis o ataque, os atacantes explotan unha serie de vulnerabilidades individuais, que en conxunto poden provocar unha fuga de datos catastrófica.

Por que os usuarios non deberían ter dereitos de administrador local?

Se es un profesional da seguridade, pode parecer obvio que os usuarios non deberían ter dereitos de administrador local, xa que isto:

  • Fai as súas contas máis vulnerables a varios ataques
  • Fai que estes mesmos ataques sexan moito máis graves

Desafortunadamente, para moitas organizacións este aínda é un tema moi controvertido e ás veces vai acompañado de acaloradas discusións (ver, por exemplo, o meu xestor di que todos os usuarios deben ser administradores locais). Sen entrar nos detalles desta discusión, cremos que o atacante obtivo dereitos de administrador local sobre o sistema investigado, ben a través dun exploit ou porque as máquinas non estaban debidamente protexidas.

Paso 1: inverte a resolución de nomes DNS usando PowerShell

Por defecto, PowerShell está instalado en moitas estacións de traballo locais e na maioría dos servidores Windows. E aínda que non é sen esaxeración que se considera unha ferramenta de automatización e control incriblemente útil, é igualmente capaz de converterse nun case invisible. malware sen ficheiros (un programa de hacking que non deixa rastros dun ataque).

No noso caso, o atacante comeza a realizar o recoñecemento da rede mediante un script de PowerShell, iterando secuencialmente a través do espazo de enderezos IP da rede, intentando determinar se unha IP determinada se resolve nun host e, se é así, cal é o nome da rede dese host.
Hai moitas formas de realizar esta tarefa, pero usando o cmdlet Obter-ADComputer é unha opción fiable porque devolve un conxunto de datos moi rico sobre cada nodo:

 import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq ‘10.10.10.10’}

Se a velocidade en redes grandes é un problema, pódese utilizar unha chamada de sistema DNS inversa:

[System.Net.Dns]::GetHostEntry(‘10.10.10.10’).HostName

Usando PowerShell para aumentar o privilexio das contas locais

Este método de enumeración de anfitrións nunha rede é moi popular porque a maioría das redes non usan un modelo de seguranza de confianza cero e non supervisan as consultas de DNS internas para detectar explosións de actividade sospeitosas.

Paso 2: seleccione un destino

O resultado final deste paso é obter unha lista de nomes de servidores e estacións de traballo que se poden usar para continuar co ataque.

Usando PowerShell para aumentar o privilexio das contas locais

Segundo o seu nome, o servidor 'HUB-FILER' parece un obxectivo digno porque... Co paso do tempo, os servidores de ficheiros tenden a acumular un gran número de cartafoles de rede e o acceso excesivo a eles por parte de demasiadas persoas.

A navegación co Explorador de Windows permítenos determinar que hai un cartafol compartido aberto, pero a nosa conta actual non pode acceder a el (probablemente só teñamos dereitos de listaxe).

Paso 3: aprendizaxe da ACL

Agora no noso host e compartición de destino HUB-FILER, podemos executar o script de PowerShell para obter a ACL. Podemos facelo desde a máquina local, xa que xa temos dereitos de administrador local:

(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –auto

Resultado da execución:

Usando PowerShell para aumentar o privilexio das contas locais

A partir del vemos que o grupo Usuarios de dominio só ten acceso á listaxe, pero o grupo Helpdesk tamén ten dereitos de edición.

Paso 4: Identificación da conta

Correndo Get-ADGroupMember, podemos conseguir que todos os membros deste grupo:

Get-ADGroupMember -identity Helpdesk

Usando PowerShell para aumentar o privilexio das contas locais

Nesta lista vemos a conta do ordenador que xa identificamos e xa accedemos:

Usando PowerShell para aumentar o privilexio das contas locais

Paso 5: use PSExec para traballar cunha conta de ordenador

psexec de Microsoft Sysinternals permítelle executar comandos no contexto da conta do sistema SYSTEM@HUB-SHAREPOINT, que sabemos que é membro do grupo de destino do Helpdesk. É dicir, só temos que facer:

PsExec.exe -s -i cmd.exe

Ben, entón tes acceso total ao cartafol de destino HUB-FILERshareHR, xa que estás a traballar no contexto da conta do ordenador HUB-SHAREPOINT. E con este acceso, os datos poden ser copiados nun dispositivo de almacenamento portátil ou doutro xeito recuperados e transferidos a través da rede.

Paso 6: Detección deste ataque

Pódese descubrir esta vulnerabilidade de configuración de permisos de conta en particular (contas de ordenador que acceden a recursos compartidos de rede en lugar de contas de usuario ou contas de servizo). Non obstante, sen as ferramentas adecuadas, isto é moi difícil de facer.

Para detectar e previr esta categoría de ataques, podemos utilizar DataAdvantage para identificar grupos con contas de ordenador neles e, a continuación, denegar o acceso a eles. Alerta de datos vai máis aló e permite crear unha notificación especificamente para este tipo de escenarios.

A seguinte captura de pantalla mostra unha notificación personalizada que se activará sempre que unha conta de ordenador acceda aos datos do servidor supervisado.

Usando PowerShell para aumentar o privilexio das contas locais

Seguintes pasos usando PowerShell

Queres saber máis? Use o código de desbloqueo "blog" para acceder libremente ao completo Curso de vídeo básico de PowerShell e Active Directory.

Fonte: www.habr.com

Engadir un comentario