横向移动 [ windows计划任务利用 ]

  • A+
所属分类:安全文章

横向移动 [ windows计划任务利用 ]


0x01 本节重点快速预览

  • 关于 windows计划任务

  • 利用windows计划任务进行横向移动的前提条件

  • 针对老版本win xp/2003at利用

  • 针对win7+版本的schtasks利用

 

0x02 关于windows计划任任务

所谓的计划任务,就是让系统自己在我们指定的某个时刻,去执行一系列什么样的操作,单对于windows来讲,这个"操作"可能是个bat脚本,也可以直接是个exe,而bat和exe里面则包含的则是各种具体的操作指令,我想我应该是说清楚了


0x03 利用windows计划任务进行横向移动的前提条件

  • 首先,必须已事先通过其它手段拿到了目标系统本地管理员的账号密码

  • 其次,还得保证当前机器能正常的net use到远程目标windows机器上

  • 最后,目标windows机器的计划任务服务"Task Scheduler"已正常启动

 

0x04 众所周知,在xp /2003以下版本的windows系统中[就目前实际渗透中,还是会遇到一些这样的老机器的]默认都使用 at来管理本地或远程机器上的计划任务,下面我们就来简单看下具体怎么利用


此处,咱们暂以CobaltStrike为例进行演示,首先,准备好相对应的监听器和payload

横向移动 [ windows计划任务利用 ]

横向移动 [ windows计划任务利用 ]


    紧接着,把上面的payload通过ipc copy到目标机器上的某个临时目录下,如下,当然啦,这个payload可以是任意的,纯粹是为了图方便,此处才直接用的CobaltStrike生成,实际中直接这样干的话,不用想,免杀肯定是过不了的

横向移动 [ windows计划任务利用 ]

横向移动 [ windows计划任务利用 ]


    可以看到,当目标机器时间到达19点30分时,我们的beacon即被正常弹回,而且回来的权限默认就是system,因为我们是以administrator的身份在目标机器上创建计划任务的,另外,也可以尝试用bat去执行某些特定操作[后面还会单独说],具体如下

横向移动 [ windows计划任务利用 ]


0x05 在win7 + 以后的windows系统上,默认已废弃at而改用功能更为强大的 schtasks[在2016上使用还有些小问题 ]


同上,先准备好CobaltStrike exe的payload

横向移动 [ windows计划任务利用 ]

横向移动 [ windows计划任务利用 ]


    同样,先用ipc把exe的payload传到目标机器上的某个临时目录下,而后开始用schtasks在远程的目标机器上创建计划任务[注意,这里的exe不能直接通过像浏览器那样远程下载,因为默认下载下来的是锁定状态,可能执行不了],具体如下

横向移动 [ windows计划任务利用 ]

横向移动 [ windows计划任务利用 ]


    因为我们上面是以administrator的身份在远程机器上运行的计划任务,所以,弹回来的beacon默认也是administrator的权限

横向移动 [ windows计划任务利用 ]


0x06 最后,利用windows计划任务在远程的windows目标机器上执行特定操作 [ 比如,我们此处就以远程抓取目标windows机器的用户密码hash为例进行演示说明,当然,实际上能做的操作绝非仅限于此 ]

    

    Procdump可能是我们平时用的相对比较多的一种免杀抓hash方式[先导出lsass.exe进程数据,而后本地再用mimikatz来解析,注意,本地和目标系统的版本位数要严格保持一致才行],此处我就来简单看下,如何配合windows计划任务来一起利用,具体如下

横向移动 [ windows计划任务利用 ]

    

    以下便是实际效果,关于schtasks的其它用法这里就不再细说了,比如,你也可以把所有的计划任务配置都事先写好到一个xml里,然后再通过schtasks去加载该xml配置执行也是可以的,除非你非要进行更精细的计划任务控制,否则通常情况下都没那必要

横向移动 [ windows计划任务利用 ]

横向移动 [ windows计划任务利用 ]


一点小结

内容比较基础简单,几乎也没啥技术含量,实战中只需细心加上相关的免杀到位即可,另外,还需要明确的一点,此处用系统计划任务的主要目的,并非为了想实现自启动上线的那种长期稳控效果,而是为了快速横向移动,扩展内网机器权限,话说回来,用这种方式想长期稳控压根就是不靠谱的,实际上也根本不会这么干,只能说,实在没办法的时候,临时性的简单维持下权限还行,几乎没人会这样做稳控,是个傻逼也一眼都看到了,当我们拿到远程机器shell以后,就顺手立即删掉此计划任务即可,由于此功能windows全版本通用,所以相对更简单实用些,像此类的计划任务也是各类AV重点监控的区域,所以,关于实际中如何免杀的问题,还需要自行解决,另外,还有些内网的断网机的shell如何反弹的问题,也需要自行解决,等等...诸如此类吧,只能根据你自己的实际目标环境来具体搞,这里也仅仅也只是做个最简单的参考而已,后面万一遇到更高级隐蔽的方法,也都会陆续更新上来,务必要注意,横向移动的手法非常多[后面我们还会继续说,先别着急],实战中完全不用太拘泥于某一种方式,一条走不通,不妨试着多换几条...


注:  写文不易,公众号之外的转载请务必通过此公众号事先与作者本人联系并严格声明文章出处,非常感谢 !



另:  本公众号的所有文章仅作攻防研究学习之用,严禁私自用所学技术去从事一切未经合法授权的入侵攻击破坏活动,因此所产生的一切不良后果与本文作者及该公众号无关 



    更多更优质的精品原创实用技术干货分享,和众多资深apt及红队玩家一起深度无缝交流,欢迎微信扫码加入小密圈,另外,关于本文完整pdf原件现也已分享到自己密圈中,我们会在那里一直等你

横向移动 [ windows计划任务利用 ]


    更多优质公开技术分享,欢迎关注个人公众号 "红队攻防揭秘",另,同时欢迎大家的无私 转发 , 打赏 , 点赞 与 留言, 非常感谢

横向移动 [ windows计划任务利用 ]


本文始发于微信公众号(红队防线):横向移动 [ windows计划任务利用 ]

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: