
🧙♂️ Comando e Controle em Node.js para Script-Jacking de Aplicações Electron Vulneráveis
Loki é um framework de comando e controle (C2) de estágio 1 escrito em Node.js, criado para fazer script-jacking em aplicativos Electron vulneráveis MITRE ATT&CK T1218.015. Desenvolvido para operações de red team, o Loki permite evasão de software de segurança e contorna controles de aplicativos ao explorar aplicativos Electron confiáveis e assinados.
O script-jacking sequestra o fluxo de execução de um aplicativo Electron ao modificar arquivos JavaScript carregados em tempo de execução com código Node.js arbitrário. Essa técnica pode ser usada para:
Embora várias ferramentas já abordem o uso de script-jacking para encadear a execução a outro processo, o Loki é o primeiro a permitir backdoor e hollow em aplicativos Electron assinados sem invalidar a assinatura de código deles.
Para mais detalhes sobre como o Loki funciona, confira este post do blog:

| Name | Contributions |
|---|---|
| Bobby Cooke | Criador e mantenedor |
| Dylan Tran | Criador |
| Ellis Springe | Testador Alfa |
| Shawn Jones | Código de execução de assembly |
| Trusted Sec | Código do COFFLoader |
| Simon Exley | Criador de vídeo |
| Clinton Elves | Criador de vídeo |
| John Hammond | Criador de vídeo |
Confira este vídeo de John Hammond sobre como criar backdoor no Cursor AI com o Loki C2! 🎩
Confira este vídeo de Simon Exley & Clinton Elves sobre como começar a usar o Loki C2! 🧙♂️
Todos os comandos do agente são escritos em Node.JS nativo e não exigem dependências adicionais ou eventos de carregamento de bibliotecas. Com exceção dos comandos scexec e assembly, que fazem carregamento de biblioteca em keytar.node e assembly.node.
/; \ em caminhos não funcionará.| Comando | Descrição |
|---|---|
help | Exibe a ajuda. Uso: help ou help scan |
pwd | Exibe o diretório de trabalho |
ls | Lista arquivos e diretórios |
cat | Exibe o conteúdo de um arquivo |
env | Exibe as variáveis de ambiente do processo |
spawn | Cria um processo filho |
drives | Lista unidades |
mv | Move um arquivo para um novo destino |
sleep | Dorme por segundos com jitter |
cp | Copia um arquivo de origem para um destino |
exit-all | Encerra o agente; o agente não fará mais callback |
load | Carrega um arquivo PE do Node do disco para o processo |
scexec | Executa shellcode |
assembly | Executa um assembly .NET e obtém a saída do comando |
upload | Envia um arquivo da sua máquina local do operador para a máquina remota do agente |
download | Baixa um arquivo da máquina remota do agente para a máquina local do operador |
scan | Realiza varredura de rede TCP em um intervalo CIDR com as portas selecionadas |
dns | Consulta DNS. Utiliza a configuração de DNS do sistema |
set | Define os caminhos de carregamento do Node para os nós assembly e scexec |
bof | Executa um arquivo COFF e retorna a saída |
Set - Carregando Nós a partir de Caminhos de Exclusão do Application Controlset para alterar os caminhos de carregamento de assembly.node e scexec.node.ls, cat, cp e mv, você pode enumerar as regras de controle de aplicativo para descobrir um diretório gravável que seja uma exclusão.set para alterar o caminho de carregamento deles para o diretório de exclusão, contornando o controle de aplicativo.[04-04-2025 8:50AM MST] advsim$ help set
Set the Node load paths for assembly node and scexec nodes
set scexec_path C:/Users/user/AppData/ExcludedApp/scexec.node
set assembly_path C:/Users/user/AppData/ExcludedApp/assembly.node
[04-04-2025 8:51AM MST] advsim$ set scexec_path C:/Users/user/AppData/ExcludedApp/scexec.node
SCEXEC Node Load Path Set to : C:/Users/user/AppData/ExcludedApp/scexec.node
Para mais informações sobre os recursos do Agente, clique aqui
Para mais informações sobre os recursos do Cliente, clique aqui