Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
PhantomCtx — Ferramenta de Evasão de Sequestro de Contexto de Ativação | Kitploit
Ferramentas/GitHubGitHub/r3xmax/phantomctx
Escalada de PrivilégiosExploraçãoPós-ExploraçãoRed TeamingDesenvolvimento de PayloadsExploração de Binários
GitHubr3xmax/phantomctx

PhantomCtx

Ferramenta de Evasão de Sequestro de Contexto de Ativação

Ver Repositório
306528há 3 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

PhantomCtx

PhantomCtx é uma ferramenta que automatiza o sequestro de Activation Context com o objetivo de carregar uma DLL arbitrária na grande maioria de executáveis assinados (ex.: Microsoft, Adobe, Mozilla).

O loader é apresentado como uma alternativa moderna ao tradicional DLL Hijacking & Sideloading: ao contrário das abordagens convencionais, ele não exige um binário vulnerável. A técnica pode ser executada desde que o executável de destino resolva uma DLL por meio da sua Import Address Table (IAT) ou, no pior caso, via LoadLibrary sem um caminho absoluto.```c C:\PhantomCtx\x64>.\PhantomCtx.exe

            +----------------------------------+
            |         PhantomCtx v1.0          |
            +----------------------------------+

Usage: PhantomCtx.exe -m [MODE] [OPTIONS]

Modes: -m recon Displays information about the Activation Context DLL redirections of a running process or one to be spawned.

    -m spawn        Perform Activation Context Hijacking using an on-disk executable
                    (preferably a signed binary for OPSEC purposes).

    -m runtime      Perform Activation Context Hijacking on an already running process.
Para um mergulho mais profundo em como funciona internamente e como evita soluções de EDR agressivas, confira o post no [meu blog técnico](https://rexmax.dev/posts/phantomctx-new-approach-to-activation-context-hijacking-for-edr-evasion/).

# Índice

- [Mecanismo Interno](#internal-mechanism)
  - [Um Novo Método para Hijacking de Activation Context Focado em Evasão de EDR](#a-new-method-for-activation-context-hijacking-focused-on-edr-evasion)
- [Como Compilar](#how-to-compile)
- [Uso: Fluxo de Trabalho Baseado em Módulos](#usage-module-based-workflow)
  - [Recon](#recon)
  - [Spawn (recomendado)](#spawn-recommended)
  - [Runtime](#runtime)
- [Exemplo: Hijacking de Activation Context + DLL Proxying mpnotify.exe](#example-activation-context-hijacking--dll-proxying-mpnotifyexe)
- [Aviso Legal](#disclaimer)
- [Referências](#references)

# Mecanismo Interno

O `PhantomCtx` abusa de um recurso **legítimo** do Windows presente na maioria dos processos, chamado **Activation Contexts**. De acordo com a Microsoft:

>[_Activation contexts_](https://learn.microsoft.com/en-us/windows/win32/sbscs/a-sbscs-gly) são estruturas de dados na memória que contêm informações que o sistema pode usar para redirecionar um aplicativo **para carregar uma versão específica de DLL**, instância de objeto COM ou versão personalizada de janela...

Quando o Windows Loader resolve uma DLL (via `LoadLibrary` ou pela tabela de importação), ele segue uma ordem de resolução definida:

1. Redirecionamento de DLL
2. API sets
3. **Redirecionamento de manifesto SxS**
4. Lista de módulos carregados
5. DLLs conhecidas
6. Grafo de dependências de pacotes do processo  
7 – 12. Ordem de pesquisa padrão de arquivos no disco

O `PhantomCtx` tem como alvo o passo 3: **redirecionamento de manifesto SxS**. Os Activation Contexts são derivados de arquivos [Side-by-Side](https://en.wikipedia.org/wiki/Side-by-side_assembly) (`.manifest`) associados a executáveis, normalmente incorporados em binários PE. Internamente, um Activation Context contém uma **Tabela de Conteúdos (ToC)** que indexa várias seções, incluindo a **seção de redirecionamento de DLL**. O Loader normalmente acessa os Activation Contexts por meio de `PEB.ActivationContextData`.

A pesquisa de [Kurosh Dabbagh Escalante](https://github.com/Kudaes) mostrou que um Activation Context malicioso pode ser construído usando `CreateActCtxW`, gravado na memória `RW` de um processo alvo e, em seguida, ativado sobrescrevendo `PEB.ActivationContextData` para apontar para a estrutura criada.

Uma vez sequestrado, o loader resolve os redirecionamentos de DLL definidos no Activation Context malicioso, **redirecionando a resolução de bibliotecas** para caminhos controlados pelo atacante.

O loader chamado `Eclipse`, desenvolvido como parte de sua pesquisa, pode ser encontrado em seu [repositório oficial](https://github.com/Kudaes/Eclipse).

## Um Novo Método para Hijacking de Activation Context Focado em Evasão de EDR

Após vários testes, o `Eclipse` foi detectado por EDRs agressivos, como o Elastic, nos seguintes pontos:

- `Potential Suspended Process Code Injection`: criação de processo suspenso seguida de `NtWriteVirtualMemory` para copiar o blob do Activation Context para o processo remoto.
- `Remote Process Memory Write by Low Reputation Module`: `NtWriteVirtualMemory` sem `CreateProcess` na pilha de chamadas e um módulo de baixa reputação, necessário para sobrescrever `PEB.ActivationContextData`.
- `Remote Memory Write to Trusted Target Process`: `WriteProcessMemory` sem `CreateProcess` na pilha de chamadas, restrito a binários instalados pelo sistema/usuário.

Depois de um dia de pesquisa procurando abordagens alternativas para implementar no `PhantomCtx`, descobri que **a região de memória do Activation Context original é uma section view mapeada durante a criação do processo**. É possível **desmapear essa section view usando** `NtUnmapViewOfSection` e então criar uma nova section view somente leitura suportada pelo nosso Activation Context malicioso, mapeando-a no **mesmo endereço de memória exato** onde a original residia.

Como resultado, **não é mais necessário** que o loader sobrescreva o ponteiro `PEB.ActivationContextData`. Isso elimina a necessidade de usar `NtAllocateVirtualMemory` e `NtWriteVirtualMemory`, contornando todas as regras de monitoramento de EDR relacionadas a gravações de memória em processos remotos e injeção.

Além disso, para aumentar a dificuldade de detecção, o `PhantomCtx` não usa `CreateActCtxW`, eliminando a necessidade de lidar com arquivos `.manifest` durante o ataque. Dependendo do modo selecionado, ele pode **roubar o Activation Context de outro processo remoto** que contenha uma seção válida de redirecionamento de DLL usando `NtReadVirtualMemory`, reconstruir as entradas de redirecionamento de DLL localmente, aplicar o patch e então substituir o original.

# Como Compilar

Para compilar a ferramenta, é recomendado usar o Visual Studio ou um compilador compatível.

Se estiver usando o VS, abra o `x64 Native Tools Command Prompt for VS`, navegue até o diretório raiz do projeto e compile-o com `compile.bat`:```
C:\PhantomCtx>.\compile.bat
[INFO] Created output directory: x64
[INFO] Compiling PhantomCtx...
main.c
utils.c
recon.c
actctx.c
c_runtime.c
dynamic_resolution.c
process_utils.c
spawn.c
runtime.c
Generating Code...
[SUCCESSFUL] Build successful: x64\PhantomCtx.exe

Usage: Fluxo de Trabalho Baseado em Módulos

A ferramenta foi projetada com uma arquitetura modular para simplificar o desenvolvimento, ao mesmo tempo que fornece ao operador um fluxo de trabalho claro e baseado em etapas.

Cada módulo desempenha uma função específica dentro do fluxo de trabalho de exploração.

Por favor, reserve um momento para revisar a finalidade de cada um para aproveitar totalmente as capacidades da ferramenta!!!

O ataque pode ser realizado tanto em um processo a ser criado (recomendado) quanto em um processo já em execução. A ferramenta foi projetada para lidar com ambos os cenários.```c C:\PhantomCtx\x64>.\PhantomCtx.exe

            +----------------------------------+
            |         PhantomCtx v1.0          |
            +----------------------------------+

Usage: PhantomCtx.exe -m [MODE] [OPTIONS]

Modes: -m recon Displays information about the Activation Context DLL redirections of a running process or one to be spawned.

Baixar ferramenta