Protegendo o Azure Active Directory de ataques via PowerShell

Os ataques de malware estão evoluindo e uma vez que as táticas comuns estão se tornando uma coisa do passado. Estratégias de ataque, como o uso de um programa de hackers de terceiros ou a injeção de vírus de fontes externas, são quase obsoletas, pois deixam uma pegada distinta. A maioria das ferramentas antimalware agora pode detectar a presença de um programa ou dispositivo externo e bloqueá-los imediatamente.

No lugar desses ataques de malware tradicionais, há uma mudança perceptível para ataques sem malware ou sem arquivos. As táticas livres de malware foram responsáveis ​​por 51% dos ataques em 2019, em comparação com apenas 40% no ano anterior, e devem aumentar em 2020. Nessas formas de ataque mais recentes, os arquivos maliciosos nunca são gravados no disco; os ataques são executados na memória (RAM) e se combinam com processos legítimos do sistema e aproveitam as ferramentas inerentes ao sistema operacional Windows, como o PowerShell.

O PowerShell foi desenvolvido para permitir que os administradores automatizem tarefas tediosas. Como o PowerShell é essencialmente uma ferramenta de administrador, oferece acesso sem precedentes às partes restritas do sistema operacional e o fato de estar na lista de permissões faz dele um vetor de ataque popular para hackers.

Este blog demonstra alguns exemplos de como o PowerShell pode ser abusado por invasores. Como as organizações estão estendendo seus ambientes locais para a nuvem e o Azure Active Directory é uma opção popular, mostraremos como o Azure AD pode ser atacado com o PowerShell.

Nº 1: Descobrindo a nuvem com o PowerShell 

A primeira etapa de qualquer processo de ataque é coletar informações suficientes. Essa é a fase em que os invasores analisam, pesquisam e pesquisam para obter informações confidenciais e planejar lateralmente seus movimentos na rede.

 Existem várias maneiras de um invasor invadir sua rede. Existem os dois métodos mais comuns:

  • O invasor é um insider, como um funcionário insatisfeito ou alguém que obtém acesso a uma conta de usuário comprometida.
  • O invasor é um usuário externo que não faz parte do domínio ou da rede da organização.

Descobrindo informações do Azure AD como um usuário externo 

O foco do ataque é comprometer as contas dos usuários. Portanto, a descoberta de endereços de e-mail do usuário oferece uma maneira de os hackers ignorarem a fase inicial da infecção.  

Para fazer isso, os hackers geralmente usam os formatos de nome comuns, porém fracos, usados ​​em muitas organizações, como {firstname}. {Lastname}. @ Example.com , gerando e atacando usando permutações de endereços de email de usuários. Este artigo fornece mais informações sobre os processos que os atacantes costumam usar.

Na tela de logon do Azure AD, um endereço de email válido próximo leva ao prompt de senha na janela de logon. Se o endereço de email for inválido, ele mostrará o prompt “o nome de usuário pode estar incorreto”.

Uma maneira de confirmar a autenticidade dos endereços de e-mail adivinhados é inseri-los na tela de login manualmente. Mas isso pode causar inúmeros eventos de logon inválidos, o que pode aumentar as sobrancelhas no departamento de TI.

Esse script pode automatizar o processo de login manual, mas na verdade não pode criar eventos de login. O PowerShell possui vários recursos furtivos que os hackers podem explorar para fins sem escrúpulos.

Validação de email do Office 365 com PowerShell

Descobrindo endereços de email como um usuário interno 

A descoberta do endereço de email para um usuário do Azure AD é bastante direta. Basta fazer login no Azure AD com o PowerShell e executar um comando de uma linha que lista todos os usuários e seus endereços de email.

# 2: um ataque de força bruta de senha clássica com o PowerShell 

Agora que os invasores têm uma possível combinação de endereços de email válidos, eles podem tentar forçar com força bruta um conjunto de senhas previsíveis, mas comumente usadas no portal de logon do Azure AD. A possibilidade é baixa de que ninguém em uma organização use uma senha trivial.

Mas como as senhas de força bruta manualmente são um processo demorado, os hackers podem usar o PowerShell para automatizar o ataque de força bruta. Obviamente, existem scripts gratuitos disponíveis na Internet para ajudar nessa atividade maliciosa. Tudo o que é necessário é um arquivo de texto com um conjunto de senhas de usuário e endereços de email das vítimas. Veja a imagem abaixo:

O PowerShell pode ser usado para filtrar ainda mais as contas sujeitas ao ataque de força bruta, por exemplo, contas com  autenticação multifator (MFA) ativada, para evitar bandeiras vermelhas e conduzir o ataque o mais furtivamente possível. O PowerShell também permite a execução de ataques de força bruta em sistemas remotos, sem a necessidade de copiar o script para o sistema remoto.

# 3: um ataque de pulverização de senha usando o PowerShell

Para um ataque que exige um raio maior de explosão, a técnica de pulverização de senha é insubstituível. Os hackers podem executar ataques de adivinhação de senha em várias contas de usuário do Azure, e a única ferramenta necessária é o PowerShell.

O script pode ser baixado da Internet e obscurecido para evitar a detecção ou diretamente do URL em uma sessão aberta do PowerShell e executado na memória, tornando-o um ataque autêntico e sem arquivos.

# 4: Explorando as credenciais adquiridas para mover verticalmente a hierarquia da rede

Agora que os hackers têm as senhas de contas de usuário legítimas no Azure Active Directory, eles podem usar credenciais de logon adquiridas para coletar mais informações sobre os usuários e administradores privilegiados da organização.

Em seguida, os hackers podem tentar outro ataque de senha contra usuários privilegiados. Ou eles podem tentar um ataque direcionado por e-mail com spear phishing . Neste ponto, os hackers têm várias opções nefastas disponíveis.

# 5: Atacando a conexão do Azure AD para obter senhas de usuário local 

Se a organização usa um Active Directory local, a ferramenta Azure AD Connect deve ter sido usada para sincronizar contas de usuário.

Surpreendentemente, com o PowerShell, é possível determinar o nome exato do servidor em que o Azure AD Connect está instalado.

Uma conta de sincronização é criada pelo Azure AD Connect no Active Directory local. Quando  Passar a sincronização de hash (PHS) é usado para sincronizar senhas, essa conta é responsável por enviar os hashes de senha para a nuvem.

O PowerShell pode ser usado para extrair as credenciais da conta do Microsoft Online (MSOL). É importante observar as permissões “Replicar alterações no diretório” da conta MSOL, que podem ser aproveitadas para obter os hashes de senha de qualquer usuário no Active Directory local.

Como você pode ver, o PowerShell permite recursos de ataque não apenas para a nuvem, mas também para ambientes locais. Fique ligado na nossa próxima postagem no blog, onde iremos orientá-lo sobre as diferentes maneiras pelas quais o PowerShell pode ser aproveitado para estabelecer uma posição no Active Directory local.

Confira a apresentação da ManageEngine sobre os ataques do PowerShell e como podemos ajudá-lo a criar uma estratégia de defesa eficaz usando o Log360.

Aproveite também e inicie sua avaliação gratuita de 30 dias do Log360, contando sempre com o apoio da equipe ACSoftware.

ACSoftware revenda e distribuidora ManageEngine no Brasil. Fone / WhatsApp (11) 4063 9639.

PodCafé da TI – Podcast, Tecnologia e Cafeína.

Deixe um comentário

Blog ACSoftware - ManageEngine