
A escalação de privilégio é o uso por um invasor dos direitos atuais de uma conta para obter acesso adicional, geralmente um nível mais alto, ao sistema. Embora a escalação de privilégios possa ser o resultado da exploração de vulnerabilidades de dia zero ou do trabalho de hackers de primeira classe conduzindo um ataque direcionado ou malware bem disfarçado, na maioria das vezes é devido à configuração incorreta do computador ou da conta. Desenvolvendo o ataque ainda mais, os invasores usam várias vulnerabilidades individuais, que juntas podem levar a um vazamento de dados catastrófico.
Por que os usuários não devem ter direitos de administrador local?
Se você for um profissional de segurança, pode parecer óbvio que os usuários não devem ter direitos de administrador local, pois:
- Torna suas contas mais vulneráveis a vários ataques
- Torna esses mesmos ataques muito mais graves
Infelizmente, para muitas organizações este ainda é um assunto muito controverso e às vezes acompanhado de discussões acaloradas (ver, por exemplo, ). Sem entrar nos detalhes desta discussão, acreditamos que o invasor obteve direitos de administrador local no sistema sob investigação, seja por meio de um exploit ou porque as máquinas não estavam devidamente protegidas.
Etapa 1Resolução de DNS reversa com PowerShell
Por padrão, o PowerShell é instalado em muitas estações de trabalho locais e na maioria dos servidores. WindowsE embora seja um tanto exagerado considerá-la uma ferramenta de automação e controle incrivelmente útil, ela é igualmente capaz de se tornar quase invisível. (um programa de hacking que não deixa rastros do ataque).
Em nosso caso, o invasor começa a realizar o reconhecimento de rede usando um script do PowerShell, iterando sequencialmente no espaço de endereços IP da rede, tentando determinar se um determinado IP resolve para um host e, em caso afirmativo, qual é o nome de rede desse host.
Há muitas maneiras de realizar essa tarefa, mas usando o cmdlet ADComputer é uma opção sólida porque retorna um conjunto realmente rico de dados sobre cada nó:
import-module activedirectory Get-ADComputer -property * -filter { ipv4address -eq ‘10.10.10.10’}Se a velocidade em grandes redes for um problema, um retorno de chamada DNS pode ser usado:
[System.Net.Dns]::GetHostEntry(‘10.10.10.10’).HostName
Esse método de listar hosts em uma rede é muito popular, já que a maioria das redes não usa um modelo de segurança de confiança zero e não monitora consultas DNS internas em busca de rajadas suspeitas de atividade.
Passo 2: Escolha um alvo
O resultado final desta etapa é obter uma lista de nomes de host de servidores e estações de trabalho que podem ser usados para continuar o ataque.

Pelo nome, o servidor 'HUB-FILER' parece um alvo digno, já que com o tempo, os servidores de arquivos, via de regra, acumulam um grande número de pastas de rede e o acesso excessivo a elas por muitas pessoas.
Visualizando com o Explorer Windows Isso nos permite determinar que existe uma pasta pública aberta, mas nossa conta atual não tem acesso a ela (provavelmente temos apenas permissão para listar as pastas).
Passo 3: Aprenda ACLs
Agora, em nosso host HUB-FILER e compartilhamento de destino, podemos executar um script do PowerShell para obter a ACL. Podemos fazer isso na máquina local, pois já temos direitos de administrador local:
(get-acl hub-filershare).access | ft IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags –autoResultado da execução:

A partir dele vemos que o grupo Usuários do Domínio tem acesso apenas à listagem, mas o grupo Helpdesk também tem direitos de alteração.
Etapa 4: identificação da conta
Correndo , podemos obter todos os membros deste grupo:
Get-ADGroupMember -identity Helpdesk
Nesta lista vemos uma conta de computador que já identificamos e já acessamos:

Etapa 5: usar o PSExec para executar como uma conta de computador
da Microsoft Sysinternals permite executar comandos no contexto da conta do sistema SYSTEM@HUB-SHAREPOINT, que sabemos ser membro do grupo-alvo do Helpdesk. Ou seja, só precisamos fazer:
PsExec.exe -s -i cmd.exeBem, então você tem acesso total à pasta de destino HUB-FILERshareHR, pois está trabalhando no contexto da conta de computador HUB-SHAREPOINT. E com esse acesso, os dados podem ser copiados para um dispositivo de armazenamento portátil ou recuperados e transmitidos pela rede.
Passo 6: Detectando este ataque
Essa vulnerabilidade específica de ajuste de privilégio de conta (contas de computador acessando compartilhamentos de rede em vez de contas de usuário ou contas de serviço) pode ser descoberta. No entanto, sem as ferramentas certas, isso é muito difícil de fazer.
Para detectar e prevenir esta categoria de ataques, podemos usar para identificar grupos com contas de computador neles e, em seguida, negar acesso a eles. vai além e permite que você crie uma notificação específica para esse tipo de cenário.
A captura de tela abaixo mostra uma notificação personalizada que será disparada sempre que uma conta de computador acessar dados em um servidor monitorado.

Próximas etapas com o PowerShell
Quer saber mais? Use o código de desbloqueio "blog" para acesso gratuito ao conteúdo completo .
Fonte: habr.com
