返回介绍

监听器 Listener

发布于 2024-06-01 22:17:40 字数 7198 浏览 0 评论 0 收藏 0

Beacon DNS

windows/beacon_dns/reverse_dns_txt

关于 DNS Beacon 它在 4.x 中是有所变化的,这个相对于 3.x 的变化也会放到原理介绍中讲。

使用 Beacon DNS 其实非常简单,比如我现在有一个域名windowsupdate.top那么我只需要添加两条解析记录即可

首先为域名添加一个A 记录,解析指向的地址填 CS 服务器 IP,然后添加一个子域名 ns1.windowsupdate.top,解析类型选择 NS,并把解析指向的地址修改成 A 记录的域名,随后创建监听器时填写子域名 ns1.windowsupdate.top 则可

背后的原理其实也是很简单,NS(域名解析服务器记录)它指定该域名由哪个 DNS 服务器来进行解析而我们把它指向 windowsupdate.top 也就是我们的 CS 服务器,这样每次查询 ns1.windowsupdate.top,最后都会来和我们的 CS 服务器进行通信。

Beacon DNS payload 上线后是不会显示目标信息的

上线后会出现一个像这样的黑色图标,因为它不像其他 Beacon 一样,在第一次连接时就会发送目标的相关信息,相反他每次连接(DNS 请求)服务器时如果在没有任务的情况下,服务器都是简单的响应这个 DNS 请求不会做任何操作,所以我们可以随便执行一条命令或执行 checkin 命令,效果都是一样,因为 Beacon DNS 在接受到指令后,在下次回连时会把先把目标机的信息提交过来(checkin 命令是强制 Beacon DNS 发送一次目标信息)

注:使用 Beacon DNS 监听器,分阶段 payload 无法为其生成 x64 位,只能生成 x86 的分阶段 payload,无阶段 payload 不受影响

Beacon HTTP & Beacon HTTPS

windows/beacon_http/reverse_http
windows/beacon_https/reverse_https

Beacon HTTP 和 HTTPS 基本上没有太大的区别,监听器配置选项都是一样的,只是 HTTPS 会多一个 SSL 证书配置,但是这个是在.profile 文件里配置的后面会讲

说一下关键的几项

HTTPS Hosts :这个是 HTTPS Beacon 回连主机地址

HTTPS Stager :这个是配置分阶段 payload,Stager 的请求地址(这个在会在后面详细介绍)

Profile :选择使用哪个 C2 配置文件这是相较于 3.x 的一个改进,可以在一个 C2 配置文件中通过指定多个配置文件的变体达到,在监听器里可以选择不同的 C2 配置

HTTPS Port(C2) :选项配置 HTTPS Beacon 回连主机端口

HTTPS Port(Bind):此选项也是相较于 3.x 的一个,改进一般在配置重定向器时使用在扩展篇中会详细讲解

HTTP Host Header:此选项和一个名为域前置的技术有关在扩展篇中会详细讲解

以上选项中,部分选项我会放到相关的地方详细讲解,一般来说最普通的配置就是如下,仅需配置 https hosts,https host(Stager),HTTPS Port(C2) 这三项即可


最简单的配置

Beacon SMB

windows/beacon_bind_pipe

Beacon SMB 使用命名管道与一个父 Beacon 进行通信,在由这个父 Beacon 与服务端通信,相当于一个桥梁,(因为 Windows 可以将命名管道通信封装在 SMB 协议中与远程主机进行通信,所以得名 SMB Beacon)

Beacon SMB 仅需配置一项 Pipename(C2) 也就是命名管道的名字,在 3.x 中是无法直接自定命名管道的名字的


右键选择一个会话,然后执行派生会话,选择 smb 监听器进行派生

转到 Pivot 视图我们可以看到父 Beacon 通过一个橙色箭头连接着子 Beacon,我这里演示使用的是同一台机器,但是 Beacon SMB 是可以进行远程连接的也就是跨机器连接

如果你想断开与子 Beacon 的连接可以使用 unlink 命令,后面跟上要断开连接的主机和 pid,因为一台主机上可以运行多个 Beacon SMB,所以需要具体指定要断开的是哪个 Beacon SMB

如果想要重新连接 Beacon SMB 可以是 link 命令后面跟上主机和使用的命名管道名称

使用 Beacon SMB 需要注意的有 1.因为是将命名管道封装到 SMB 协议中,进行通信所以目标至少得能进行 SMB 协议通信开启 SMB 服务 2.因为是使用 SMB 协议,所以还需要注意一下访问权限否则可能无法连接对方

Beacon TCP

windows/beacon_bind_tcp

TCP Beacon 和 SMB Beacon 类似只不过 TCP Beacon 不是使用 SMB 与父 Beacon 进行通信而是使用 TCP socket 进行通信

TCP Beacon 的选项也是十分的简单只有两项

Port(C2) :这用来控制 TCP Beacon 在目标上监听端口,用来等待父 Beacon 连接

Bind to localhost only 选项是来配置 TCP Beacon 监听绑定地址的,如果勾选上则仅绑定 127.0.0.1 本地 ip,默认不勾选绑定在 0.0.0.0,如果只绑定 127.0.0.1 那么只能进行本地连接,远程主机是无法访问的,0.0.0.0 是监听所有地址(注:监听绑定非 127.0.0.1 windows 防火墙会有提示)

我这里勾选上仅监听本地主机,因为我是本地连接所以无需绑定 0.0.0.0,如果你是在远程主机运行 payload 请不要勾选。

执行派生会话后,转到 Pivot 视图后可以看到父 Beacon 通过绿色的箭头连接着子 Beacon。

断开和重新连接和 SMB Beacon 差不多。连接一个 TCP Beacon 使用 connect [ip address] [port],断开连接还是使用 unlink 命令

External C2

External C2(外部 C2)这里不做介绍因为他是一种特殊的监听器要讲的比较多所以放到扩展中单独讲。

Foreign Listeners

windows/foreign/reverse_http
windows/foreign/reverse_https
在 3.x 中还有一种 windows/foreign/reverse_tcp

对外监听器在 CS4.x 中一共有两种Foreign HTTPForeign HTTPS,这两种并没有什么太大的区别他们的关系和 Beacon HTTP(S) 基本上差不多,这两种监听器一般用来派生会话到 MSF,下面简单演示一下

首先 msf 起一个监听器

msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_https
payload => windows/meterpreter/reverse_https
msf exploit(handler) > set lhost msf ip
lhost => msf ip
msf exploit(handler) > set lport 8777
lport => 4444
msf exploit(handler) > exploit

然后 CS 里配置一下,填上 msf 服务器的 ip 和监听的端口

然后选择会话右键派生会话选择外部监听器

随后 msf 会接收到会话

这里没有太多需要说的,主要是派生时候,msf 选择 payload 注意一下架构(x86)

Pivot Listeners

windows/beacon_reverse_tcp

此监听器之前有所介绍,它不会出现在新建监听器,对话框的列表里使用它需要选择指定的会话右键-> Pivoting -> Listener


创建 Pivot Listeners

在前面的时候就说过创建这种监听器 Beacon 不会主动修改防火墙设置所以如果防火墙开启着会有提示所以请提前添加放行或关闭防火墙


这是因为父 Beacon 会监听本地的主机端口,等待子 Beacon 连接

仔细查看其实能发现 Pivot Listeners 就是利用的反向端口转发和前面的 Beacon TCP, Beacon SMB 类似都是通过父 Beacon 进行通信

注:Pivot Listeners 仅能生成无阶段 payload,同时如果使用 unlink 命令断开与子 Beacon 的连接则子 Beacon 会直接退出,而不是像 TCP 或 SMB Beacon 那样可以再次连接因为这个是反向的。

最后要说的是在 4.x 有部分监听器和 3.x 有所不同或被移除这些都会放在原理篇中

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文