6.3 KiB
SOME - Same Origin Method Execution
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
- Você trabalha em uma empresa de cibersegurança? Quer ver sua empresa anunciada no HackTricks? ou quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
WhiteIntel
WhiteIntel é um mecanismo de busca alimentado pela dark web que oferece funcionalidades gratuitas para verificar se uma empresa ou seus clientes foram comprometidos por malwares de roubo.
O objetivo principal do WhiteIntel é combater a apropriação de contas e ataques de ransomware resultantes de malwares de roubo de informações.
Você pode verificar o site deles e experimentar o mecanismo gratuitamente em:
{% embed url="https://whiteintel.io" %}
Same Origin Method Execution
Haverá ocasiões em que você pode executar algum javascript limitado em uma página. Por exemplo, no caso em que você pode controlar um valor de retorno que será executado.
Nesses casos, uma das melhores coisas que você poderia fazer é acessar o DOM para chamar qualquer ação sensível que você possa encontrar lá (como clicar em um botão). No entanto, geralmente você encontrará essa vulnerabilidade em pequenos pontos de extremidade sem nada interessante no DOM.
Nesses cenários, esse ataque será muito útil, porque seu objetivo é ser capaz de abusar da execução limitada de JS dentro de um DOM de uma página diferente do mesmo domínio com ações muito interessantes.
Basicamente, o fluxo do ataque é o seguinte:
- Encontre um callback que você pode abusar (potencialmente limitado a [\w\._]).
- Se não for limitado e você puder executar qualquer JS, você poderia simplesmente abusar disso como um XSS regular.
- Faça a vítima abrir uma página controlada pelo atacante.
- A página se abrirá em uma janela diferente (a nova janela terá o objeto
opener
referenciando a inicial). - A página inicial carregará a página onde está localizado o DOM interessante.
- A segunda página carregará a página vulnerável abusando do callback e usando o objeto
opener
para acessar e executar alguma ação na página inicial (que agora contém o DOM interessante).
{% hint style="danger" %}
Observe que mesmo que a página inicial acesse uma nova URL após ter criado a segunda página, o objeto opener
da segunda página ainda é uma referência válida para a primeira página no novo DOM.
Além disso, para que a segunda página possa usar o objeto opener ambas as páginas devem estar na mesma origem. Esta é a razão pela qual, para abusar dessa vulnerabilidade, você precisa encontrar algum tipo de XSS na mesma origem. {% endhint %}
Exploração
- Você pode usar este formulário para gerar um PoC para explorar esse tipo de vulnerabilidade: https://www.someattack.com/Playground/SOMEGenerator
- Para encontrar um caminho DOM para um elemento HTML com um clique, você pode usar esta extensão do navegador: https://www.someattack.com/Playground/targeting_tool
Exemplo
- Você pode encontrar um exemplo vulnerável em https://www.someattack.com/Playground/
- Observe que neste exemplo o servidor está gerando código javascript e adicionando ao HTML com base no conteúdo do parâmetro de callback:
<script>opener.{callbacl_content}</script>
. Por isso, neste exemplo você não precisa indicar o uso deopener
explicitamente. - Confira também este CTF writeup: https://ctftime.org/writeup/36068
Referências
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
- Você trabalha em uma empresa de cibersegurança? Quer ver sua empresa anunciada no HackTricks? ou quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.