这一小节学起来感觉有些吃力,里面很多概念理解的不是很清楚,如果有大佬看到描述错误的地方欢迎留言指正,避免误导他人。
再次声明,这只是我的个人学习笔记,不要当成教程去看,建议想学习CS的小伙伴可以看看A-TEAM的中文手册或者网上的一些视频教程。
0x00 监听器管理
-
什么是监听器
顾名思义,监听器就是等待被入侵系统连接自己的一个服务。
-
监听器的作用
主要是为了接受payload回传的各类数据,类似于MSF中handler的作用。
比如payload在目标机器执行以后,就会回连到监听器然后下载执行真正的shellcode代码。
一旦监听器建立起来,团队成员只需要知道这个监听器的名称即可,不用关心监听器背后的基础环境,接下来将深入了解如何准确配置监听器。
一个监听器由用户定义的名称、payload 类型和几个特定于 payload 的选项组成。
监听器的名字一般由以下结构组成:
Operating System/Payload/Stager
例如:
windows/beacon_http/reverse_http
0x01 什么是传输器
攻击载荷payload
就是攻击执行的内容。攻击载荷通常被分为两部分:传输器stager
和传输体stage
。
传输器stager
是一个小程序,用于连接、下载传输体stage
,并插入到内存中。
我个人理解为:攻击载荷里真正用于攻击的代码是在传输体里。
所以为什么要有传输体?直接把攻击载荷插入到内存中不更方便快捷、更香么,搞得又是传输器又是传输体的。
需要传输体是因为在很多攻击中对于能加载进内存,并在成功漏洞利用后执行的数据大小存在严格限制。这就导致在攻击成功时,很难嵌入额外的攻击载荷,正是因为这些限制,才使得传输器变得有必要了。
0x02 创建监听器
在CS客户端中打开 Cobalt Strike —》Listeners,之后点击Add,此时弹出New Listener窗口,在填写监听器的相关信息之前,需要先来了解监听器有哪些类型。
Cobalt Strike有两种类型的监听器:
-
Beacon
Beacon直译过来就是灯塔、信标、照亮指引的意思,Beacon是较为隐蔽的后渗透代理,笔者个人理解Beacon类型的监听器应该是平时比较常用的。Beacon监听器的名称例如:
windo