昨天我在学习反调试,参考https://anti-debug.checkpoint.com/techniques/interactive.html这个大佬写的,这是一个窗口切换代码

BOOL Switch()
{
    HDESK hNewDesktop = CreateDesktopA(
        "test", 
        NULL, 
        NULL, 
        0, 
        DESKTOP_CREATEWINDOW | DESKTOP_WRITEOBJECTS | DESKTOP_SWITCHDESKTOP, 
        NULL);
    if (!hNewDesktop)
        return FALSE;

    return SwitchDesktop(hNewDesktop);
}

编译之后以运行,整个物理机就gg了,全白屏,为了演示效果大概像这样,不知道为什么虚拟机是黑的,不过效果都一样:

据我所知,一旦进入这种窗口切换模式,外面的蓝队想返回桌面变得近乎不可能,虽然后台的程序一切正常,不过除非危机关头,差一点到核心内网,要擦除工具后门遗留的数据等等,不要使用。

排查思考

目前来说只有重启系统才能恢复到正常,不过有些APT勒索组织要是把这玩意加入进启动项,那就是噩梦的开始了,物理机一般用F8可以进入安全启动模式,安全启动模式只会加载系统核心的组件,方便我们排查这类恶意的程序,但是虚拟机似乎没有很好的办法进入安全启动模式,按照官方文档F8依然没办法进去,一般我们要登陆进去才能去启动安全模式,但是登陆进去瞬间黑屏的话非常难受

其他可能都方法

一般企业可能有下方执行命令的系统,可以直接下发命令去删除这类启动项计划任务,或者这台虚拟机不止一个账户,用其他账户登陆也可能不受影响,也直接利用135、445端口的那种横向技巧也能登陆进来,不过现在就3389开着多似乎也不是一个好主意。。。。