
Ferramenta de hooking de API do Windows que falsifica e oculta dinamicamente argumentos de processo via biblioteca Detours e manipulação de PEB, permitindo criação furtiva de processos para operações de red team.
Twitter: @AzizWho
NoArgs é uma ferramenta projetada para falsificar e ocultar dinamicamente argumentos de processos sem ser detectada. Ela consegue isso interceptando APIs do Windows para manipular dinamicamente os internos do Windows em tempo real. Isso permite que o NoArgs altere argumentos de processos discretamente.




A ferramenta opera principalmente interceptando chamadas de criação de processos feitas pela função CreateProcessW da API do Windows. Quando um processo é iniciado, esta função é responsável por criar o novo processo, juntamente com quaisquer argumentos de linha de comando especificados. A ferramenta intervém nesse fluxo de criação de processos, garantindo que os argumentos sejam ocultados ou manipulados antes que o novo processo seja iniciado.
A interceptação de CreateProcessW é alcançada através do Detours, uma biblioteca popular para interceptar e redirecionar funções da API Win32. O Detours permite o redirecionamento de chamadas de função para implementações personalizadas, preservando a funcionalidade original. Ao interceptar CreateProcessW, a ferramenta consegue interceptar as solicitações de criação de processos e executar sua lógica personalizada antes de permitir que o processo seja criado.
O Bloco de Ambiente do Processo (PEB) é uma estrutura de dados utilizada pelo Windows para armazenar informações sobre o ambiente e o estado de execução de um processo. A ferramenta aproveita o PEB para manipular os argumentos de linha de comando dos processos recém-criados. Ao modificar as informações de linha de comando armazenadas dentro do PEB, a ferramenta pode alterar ou ocultar os argumentos passados para o processo.
Visualização do Process Hacker:

Visualização do Process Monitor:

Injeção no Prompt de Comando (cmd): A ferramenta injeta seu código no processo do Prompt de Comando, embutindo-o como Código Independente de Posição (PIC). Isso permite uma integração perfeita no espaço de memória do cmd, garantindo operação encoberta sem depender de endereços de memória específicos. (Apenas para o Executável Ofuscado na página de releases)
Hooking da API do Windows: Detours são utilizados para interceptar chamadas para a função CreateProcessW. Ao redirecionar o fluxo de execução para uma implementação personalizada, a ferramenta pode executar sua lógica antes da função original da API do Windows.
Função Personalizada de Criação de Processos: Ao interceptar uma chamada CreateProcessW, a função personalizada é executada, criando o novo processo e manipulando seus argumentos conforme necessário.
Modificação do PEB: Dentro da função personalizada de criação de processos, o Bloco de Ambiente do Processo (PEB) do processo recém-criado é acessado e modificado para atingir o objetivo de manipular ou ocultar os argumentos do processo.
Redirecionamento de Execução: Após a conclusão das manipulações, a execução retorna perfeitamente ao Prompt de Comando (cmd) sem interrupções. Esse redirecionamento dinâmico garante que os comandos subsequentes inseridos passem por manipulação discreta, evitando mecanismos de detecção e registro que dependem da obtenção dos detalhes do processo a partir do PEB.
Opção 1: Compilar a DLL do NoArgs:
Você precisará ter o Microsoft Detours instalado.
Compile a DLL.
Injete a DLL compilada em qualquer instância do cmd para manipular dinamicamente os argumentos de processos recém-criados.
Opção 2: Baixe o executável compilado (pronto para uso) da página de releases.