这两个beacon的原理是通过发送http请求与受害主机通信来传达命令, 以此实现控制效果
优点是传输数据快, 缺点时隐蔽性差, 容易被防火墙或内网审计工具拦截
自CS4.0版本之后只有反向的TCP Beacon可用, 基于TCP协议的通信方式
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是实用性最强的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即查看受害机的远程桌面