最后更新:2022-02-17 07:58
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。这种对等通信对同一台主机上的 Beacon 和跨网络的 Beacon 都有效,即 SMB Beacon 通过管道( pipe)进行进程间的数据传递。管道通信的进程可以是本地主机上的两个进程,也可以和远程主机上的进程通过网络进行通信。Windows 将命名管道通信封装在 SMB 协议中,此流量封装在SMB协议中,所以SMB beacon相对隐蔽。SMB beacon不能直接生成可用载荷, 只能使用 PsExec 或 Stageless Payload 上线。

SMB Beacon的使用条件如下:
为方便演示操作,先上线一个主机shell,例如创建一个的 HTTP Beacon 监听器。

生成 HTTP 监听器的一个后门文件。

在受害主机中运行后门文件,CS中成功接收到受害主机shell。

主机上线后,创建一个SMB Beacon监听器, pipeame (管道名称)可以自定义修改,或者默认即可。

右键选中HTTP监听器上线的主机,进入Beacon控制台,输入spawn加SMB Beacon的监听器名称, 例如:spawn SMB,运行成功后在external中可以看到IP后有个∞∞字符的派生SMB Beacon。

将SMB Beacon注入到某个进程中,以phpstudy进程为例。

在phpstudy中注入SMB Beacon后,即可看到process为phpstudy.exe的SMB Beacon。

首先,建立一个SMB Beacon的监听:SMB_Beacon
拓展:cs利用smb上线出网与不出网主机:https://www.cnblogs.com/sunny11/p/14301425.html
在Beacon控制台中可以使用unlink命令断开连接,例如断开连接192.168.158.130,输入命令unlink 192.168.158.130。如果想再次连上,输入命令link 192.168.158.130。

如果断开一个进程 Beacon ,在父会话或子会话中使用unlink [ip address] [session PID]。这个[session PID] 参数是要取消连接的Beacon 的进程 ID。该值用于当有多个子 Beacon 时,指定一个特
定的 Beacon 来断开连接。当对一个SMB Beacon取消了连接,它不会离开并消失。相反,它进入一种等待其他 Beacon 连接的状态。可以使用 link 命令来从将来的另一个 Beacon 恢复对 SMB Beacon 的控制。

本文由 在线网速测试 整理编辑,转载请注明出处。