Electron contextIsolation RCE via IPC
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Se o script de preload expuser um endpoint IPC do arquivo main.js, o processo de renderização poderá acessá-lo e, se vulnerável, uma RCE pode ser possível.
A maioria desses exemplos foi retirada daqui https://www.youtube.com/watch?v=xILfQGkLXQo. Confira o vídeo para mais informações.
Exemplo de https://speakerdeck.com/masatokinugawa/how-i-hacked-microsoft-teams-and-got-150000-dollars-in-pwn2own?slide=21 (você tem o exemplo completo de como o MS Teams estava abusando de XSS para RCE nesses slides, este é apenas um exemplo muito básico):
Confira como o main.js
escuta em getUpdate
e baixará e executará qualquer URL passada.
Confira também como preload.js
expõe qualquer evento IPC do main.
Exploit:
Se o script de preload expuser diretamente ao renderizador uma maneira de chamar shell.openExternal
, é possível obter RCE.
Se o script de preload expuser maneiras de se comunicar completamente com o processo principal, um XSS poderá enviar qualquer evento. O impacto disso depende do que o processo principal expõe em termos de IPC.
Aprenda e pratique Hacking AWS:HackTricks Treinamento AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Treinamento GCP Red Team Expert (GRTE)