Esta é uma técnica totalmente nova para a injeção de código de shell para evitar AVs e EDRs. Essa técnica é inspirada na pisar do módulo e tem algumas semelhanças. Quanto a essa data (23-01-2022), também não a encontra.
A maior vantagem dessa técnica é que ela não substitui um módulo ou PE inteiro, apenas uma função e o processo de destino ainda pode usar qualquer outra função do módulo de destino.
A desvantagem é que ela não funcionará para todas as funções na natureza (mas funcionará para a maioria deles), a explicação exata está no meu blog: o bom, o mau e a função picada.
NOTA: É possível que a AV sinalize isso, se a assinatura for uma assinatura de msfvenom/metasploit está bem! Você só precisa alterar o código de shell ou criptografá -lo.
ATUALIZAÇÃO: Aperente este não é o primeiro POC Avaliable e Rastamouse escreveu uma postagem de blog que é algo semelhante no C#.
Você inclui o cabeçalho para o seu programa como este:
# include " functionstomping.hpp "
int main () {
// Just get the pid in any way and pass it to the function.
DWORD pid = 3110 ;
FunctionStomping (pid);
return 0 ;
}Ou use o programa de ferrugem:
cd functionstomping
cargo b
functionstomping.exe < pid >Depois de executar este programa, você deve chamar a função do processo remoto! (Se você usou a função padrão createfile, deve chamá -la do processo remoto!).
Atualmente, o shellcode a ser executado é apenas para exibir uma calculadora, mas tudo o que você precisa fazer é substituir o unsigned char shellcode[] pelo seu shellcode. Eu usei C ++ 17 e VS2019 para compilar o programa com o cabeçalho C ++ e a versão 2021 da RUST para compilar o Programa Rust (você pode ver as dependências na carga.toml).

Não sou responsável por nenhum tipo de dano que seja causado ao seu computador / programa como causa deste projeto. Felizmente, aceito contribuição, faça uma solicitação de tração e vou revisá -lo!
Modulestomping
Mascarando a memória maliciosa por Cyberark
Versão de Rastamouse