SMB Beacon

前言

  前两天有个小伙伴问Cobalt Strike中的SMB Beacon是啥及咋用,当时给简单画了个图说明了一下,周末刚好没事还是简单写一下留个记录(只是为了水一波文章而已),其实确实很简单

SMB Beacon是啥

  使用过SMB Beacon的小伙伴都知道Beacon了,先说下Listener,CS常用的就5个Listener(CS4.X为例,除过两个派生MSF的ForeignExternal),HTTP、HTTPS、SMB、DNS、TCP这5个,今天说的SMB Beacon就与SMB Listener有关。主要目的就是为了在特殊情况下使用,咋特殊见下图(网上找的)

攻击者A与B相通,B可以访问到C,但A与C不通,对应到我们攻击时就是我们的C2服务器是A,目前控制了B,想进一步控制C但C不出网(先不说DNS),此时可以在B上利用SMB Beacon来控制C

 

 利用

利用条件:

1、B能访问到C的SMB端口,拥有SMB的管理员账号密码(一般在B上抓密码去碰撞)

2、B已被控制(废话)

测试:

A:X.X.X.X

B:192.168.85.128  windows2008

C:192.168.85.129  windows7

1、首先控制B后,抓取B上的账号密码如下,使用 如下密码进行利用

 

2、创建SMB Listener

 

 3、使用net use进行利用、验证及创建SMB Beacon

 

 

 

 

 

 

 

 如上图可以看到B的IP地址后面跟着∞∞符号,表示这是个SMB Beacon,下面的Pivot 图里也可以看出有两个用橙黄色箭头连接的(表示windows管道符连接)

Pivot图主要是显示会话与会话之间的详细关系,可以清楚的看到会话之间的父子关系, 红色边框、并且带有闪电表示Beacon运行在管理员权限 防火墙图标代表你 Beacon payload 的流量出口点。 绿色虚线表示使用了 HTTP 或 HTTPS 连接出网。 黄色虚线表示使用 DNS 协议出网。 如果一个会话用箭头连接着另一个会话表示这两个会话之间是父子关系,子会话通过父会话传递和接受C2指令,父子会话之间可以通过两种方式建立连接,Windows 命名管道或TCP Sockets,如果是橙黄色的箭头那么代表两个会话之间使用Windows命名管道连接(SSH会话也使用橙黄色),如果是青色的箭头那么代表两个会话之间使用TCP socket 通道连接,红色(命名管道)或紫色(TCP)箭头则表示一个Beacon会话连接断开

SMB Beacon说完了,可以看到很简单但也有缺点,靠的是window2008机器的连接,要是这个机器断了那就直接GG,所以推荐可以先使用DNS Beacon试试不行再搞SMB Beacon

 

posted @ 2020-12-13 17:06  Id3al  阅读(319)  评论(0)    收藏  举报