Beacon的种类
HTTP Beacon和HTTPS Beacon
这两个beacon的原理是通过发送http请求与受害主机通信来传达命令, 以此实现控制效果
优点是传输数据快, 缺点时隐蔽性差, 容易被防火墙或内网审计工具拦截
TCP Beacon
自CS4.0版本之后只有反向的TCP Beacon可用, 基于TCP协议的通信方式
SMB Beacon
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。
因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效
在CS会话列表选择一个beacon作为父beacon, 然后派生一个SMB Beacon作为子Beacon: Beacon>目标主机>右键> spawn as>选中对应的Listener, 随后会话列表显示SMB Beacon


若想将两个beacon断开链接, 可在父级Beacon执行unlink 目标IP命令, 随后在CS视图界面可以发现两个beacon已经断开链接


若想重新链接可在父级Beacon执行link 目标IP命令


DNS Beacon
DNS Beacon是实用性最强的Beacon, 隐蔽性高, 后续我会单独出一篇文章来详解它的原理和使用
beacon常用命令
| beacon命令 | 描述 |
|---|---|
| cancel | 取消正在进行的下载 |
| cd | 切换目录 |
| clear | 清空beacon的任务 |
| connect | beacon会话连接 |
| cp | 复制文件 |
| desktop | 远程VNC(桌面) |
| download | 下载文件 |
| downloads | 列出正在下载的文件 |
| elevate | 尝试提权 |
| exit | 退出beacon |
| getsystem | 尝试获取system权限 |
| getuid | 获取用户id |
| hashdump | 转储密码哈希值 |
| help | 查询帮助 |
| jobkill | 删除一个beacon任务 |
| jobs | 列出beacon任务 |
| keylogger | 键盘记录 |
| kill | 结束进程 |
| ls | 列出当前目录的所有文件 |
| mimikatz | 运行mimikatz |
| mkdir | 创建一个目录 |
| mode dns | 使用Dns A作为通信通道(仅限 DNS Beacon) |
| mode dns-txt | 使用DNS TXT作为通信通道(仅限 DNS Beacon) |
| mode dns6 | 使用DNS 6作为通信通道(仅限 DNS Beacon) |
| mv | 移动文件 |
| portscan | 端口扫描 |
| ps | 列出进程列表 |
| powershell | 执行powershell命令 |
| powershell-import | 导入powershell脚本 |
| net | 执行net命令 |
| pwd | 列出当前 |
常用攻击模块
设置通信延时
例如此处设置CS服务器与受害机每隔30秒进行一次通信

键盘记录
在受害机的beacon命令行输入: keylogger

在受害机随便敲下键盘, 返回CS客户端查看其键盘记录

若想关闭查看键盘记录,可使用jobs和jobkill命令进行关闭, 先使用jobs命令查看beacon任务列表, 然后用jobkill命令关闭对应JID的任务

文件管理
对受害机的文件进行相应操作, 不过有些特殊文件可能需要更高级别的权限才能操作

查看系统进程

端口扫描
选择要扫描的端口、ip网段、扫描模式

beacon命令行返回ip网段存活主机以及其开放的端口


远程桌面
远程VNC即查看受害机的远程桌面




















