System Profifiler
System Profifiler
是一个为客户端攻击提供的侦察工具。这个工具启动一个本地的
web
服务器,并对访问它的任何应用进行指纹识别。System Profifiler
提供一个它从用户的浏览器里发现的应用和插件的列表。System Profifiler
也会尝试去发现代理服务器背后的用户的内网
IP
地址。
通过
Attacks
→
Web Drive
-
by
→
System Profiler
启动
System Profifiler
。要启动
System Profifiler 必须指定要绑定的
URI
和一个启动
Cobalt Strike web
服务器的端口。 如果你指定了一个 Redirect URL
(重定向
URL
),则一旦探针被访问,
Cobalt Strike
会重定向浏览者(在此也就是受害者)到这个指定的 URL
。单击
Launch
以启动
System Profifiler
System Profifiler
使用一个未签名的
Java Applet
来发现隐藏的目标内网
IP
并确定目标具有的
Java
版本。因为 Java
的点击运行安全特性,这可能会引起怀疑。取消勾选
Use Java Applet to get information (使用
Java
小程序获取信息)框来从
System Profifiler
中移除
Java Applet
。
勾选
Enable SSL
框以通过
SSL
提供
System Profifiler
服务。这个框被禁用,除非你通过
C2
拓展文件指定了一个有效的 SSL
证书。要从 System Profifiler
查看结果,请转到
View
→
Applications
。
Cobalt Strike
将列出它在系统分析过程中发现的所有应用程序。
Cobalt Strike Web 服务
很多
Cobalt Strike
功能从它们自己的
web
服务器运行。这些服务包括
System Profifiler
、
HTTP Beacon 和
Cobalt Strike
的
web drive-by
攻击。可以在一个
web
服务器上托管多个
Cobalt Strike
功能。 要管理 Cobalt Strike
的
web
服务,通过
View
→
Web Drive
-
by
→
Manage
。在这里,你可以复制任何 Cobalt Strike URL
到剪贴板或停止一个
Cobalt Strike web
服务。 使用 View
→
Web Log
来监视到你的
Cobalt Strike web
服务的访问。 如果 Cobalt Strike
的
web
服务器看到了来自
Lynx
,
Wget
或
Curl
浏览器的请求,
Cobalt Strike
会自动返回一个 404
页面。
Cobalt Strike
这样做是为了防御蓝队的窥探.
用户驱动的攻击包
最好的攻击不是漏洞利用。相反,最好的工具是利用正常功能来达成代码执行。
Cobalt Strike
使得你可以轻松地进行多种用户驱动的攻击。这些攻击利用你已经设置的监听器。点击 Attacks
→
Packages 并选择下列选项之一。
HTML Application
一个
HTML Application
(
HTML
应用)是一个使用
HTML
和一个
Internet
浏览器支持的脚本语言编写的 Windows
程序。该程序包生成一个
HTML
应用,该应用运行一个
Cobalt Strike payload
。你可以选择可执行的选项来获取一个 HTML
应用,此
HTML
应用使得一个可执行文件落地在磁盘上并运行它。 选择 PowerShell
选项来得到一个
HTML
应用,该应用使用
PowerShell
来运行一个
payload
。使用VBA 选项来静默派生一个
Microsoft Excel
实例并运行一个恶意的宏来将
payload
注入到内存中。
MS Offiffiffice Macro
该程序包生成一个
Microsoft Offiffiffice
的宏文件并提供将宏嵌入
Microsoft Word
或
Microsoft Excel
的说明
Payload Generator(Payload 生成器)
该程序包允许你以不同的多种格式导出
Cobalt Strike
的
stager
。
Windows Executable(Windows 可执行文件)
该程序包生成一个
Windows
可执行
Artifact
,用于传送一个
payload stager
。这个程序包为你提供了多种输出选项。 Windows Service EXE 是一个
Windows
可执行文件,可响应
Service Control Manager
命令。你可以使用这个可执行文件来作为使用 sc
命令起的
Windows
服务的调用程序,或使用
Metasploit
框架的PsExec 模块生成一个自定义的可执行文件。
普通的 EXE 和服务器启动调用的 EXE 是有区别是。利用 Windows Service EXE 生成的 EXE 才能用来作为服务自启动的 EXE ,利用 Cobalt Strike 中 Windows exe 生成的EXE 不能作为服务自启动的 EXE 程序(因为不能响应 Service Control Manager )
Windows DLL
(
32-bit
)是一个
x86
的
Windows DLL
。
Windows DLL
(
64-bit
)是一个
x64
的
Windows DLL
。这个
DLL
会派生一个
32
位的进程,并且将你的监听器迁移至其上。这两个 DLL
选项都会导出一个开始功能,此功能与
rundll32.exe
相兼容。使用rundll32.exe 来从命令行加载你的
DLL
rundll32 foo.dll,Start
勾选
Use x64 payload
框来生成匹配
x64 stager
的
x64 Artifact
。
勾选
Sign executable file
框来使用一个代码签名的证书来签名一个
EXE
或
DLL Artifact
。你必须
指定一个证书。你必须在
C2
拓展文件中指定证书。
Windows Executable(s)
该程序包直接导出
Beacon
(也就是
payload stage
),这个
Beacon
是作者写好的
32
或
64
位
DLL
,是 一个不使用 stager
的可执行文件,直接和监听器连接、传输数据和命令。一个不使用
stager
的 payload Artifact被称为无阶段的
Artifact
。这个程序包也有
PowerShell
选项来导出
Beacon
作为一个PowerShell 脚本,或
raw
选项导出与位置无关的
beacon
代码。
默认情况下,这个对话导出
x86 payload stage
。勾选
Use x64 payload
框来使用
x64 Artifact
生成一个 x64 stage
。 勾选 Sign executable file
框来使用代码签名的证书来签名一个
EXE
或
DLL Artifact
。
托管文件
Cobalt Strike
的
web
服务器可以为你托管你的用户驱动的程序包。通过
Attacks
→
Web Drive
-
by → Host File
来进行此配置。选择要托管的文件,选择一个任意
URL
,然后选择文件的
MIME
类型。 托管文件这个功能本身意义不大。但是稍后你将学习如何将 Cobalt Strike
的
URL
嵌入到一个鱼叉式网络钓鱼电子邮件中。当你这样做的时候,Cobalt Strike
可以通过电子邮件交叉引用托管文件发送给访问者,并将此信息包含在社会工程报告中.
User-driven Web Drive-by Attacks(用户驱动的 Web Drive
by 攻击)
Cobalt Strike
使用多种工具来为你设置可用的
web drive-by
攻击。要快速地开始一个攻击,通过
Attacks
→
Web Drive
-
by
并选择一个选项:
Java Signed Applet Attack
这个攻击会启动一个
web
服务器来托管一个自签名的
Java applet
。访客被要求给这个
applet
权限来运 行。当一个访客准许了这个权限,你就获取了到他们系统的权限。 Java 签名的
Applet
攻击使用
Cobalt Strike
的
Java
注入器。在
Windows
上,
Java
注入器会对一个 Windows 监听器直接往内存注入
shellcode
。为了从这次攻击中获取最大收益,你需要从 Cobalt Strike
的武器库中下载此
Applet
套件并使用代码签名证书对其进行签名。
Java Smart Applet Attack
Cobalt Strike
的智能
Applet
攻击在一个程序包里包含多个漏洞利用来禁用
Java
安全沙盒。这个攻击启动一个 web
服务器来托管
Java applet
。最初,这个小程序可以在
Java
的安全沙箱中运行,并且不需要用户批准即可启动。
这个
applet
分析它的环境并决定使用哪个
Java
漏洞利用。如果
Java
版本是有漏洞的,此
applet
会禁用安全沙箱,并使用 Cobalt Strike
的
Java
注入器执行
payload
。
Scripted Web Delivery (S)
这个功能会生成一个无阶段的
Beacon payload Artifact
, 在
Cobalt Strike
的
web
服务器上托管它, 并提供一个单行来下载和运行此 Artifact
。选项包括:
bitsadmin
,
powershell
和
python
。
bitsadmin
选项托管一个可执行文件并使用
bitsadmin
来下载它。
bitsadmin
方法通过
cmd.exe
来运行此可执行文件。powershell
选项托管一个
PowerShell
脚本并使用
powershell.exe
来下载此脚本并 对其进行评估。python
选项托管一个
Python
脚本并使用
python.exe
来下载该脚本并运行它。每一个这些选项都是一种运行 Cobalt Strike
监听器的不同的方法。
客户端的漏洞利用
你可以使用一个
MSF
漏洞利用来传送一个
Cobalt Strike Beacon
。
Cobalt Strike
的
Beacon
与
MSF
的分阶段协议相兼容。要使用 MSF
漏洞利用来传送一个
Beacon
:
-
使用 windows/meterpreter/reverse_http[s] 作为你的 PAYLOAD 并设置 LHOST 和 LPORT来指向你的 Cobalt Strike 监听器。在这里你不是真的在传送 Meterpreter ,你是在让 MSF 生成从指定的 LHOST/LPORT 下载 payload 的 HTTP[s] stager 。
-
将 DisablePayloadHandler 设置为 True 。此选项会让 MSF 避免在 MSF 内起一个 handler 来服务你的 payload 连接将 PrependMigrate 设置为 True 。此选项让 MSF 前置 shellcode 在另一个进程中运行 payload stager。如果被利用的应用程序崩溃或被用户关闭,这会帮助你的 Beacon 会话存活。
克隆网站
在向目标发送漏洞利用程序之前,进行伪装会有所帮助。
Cobalt Strike
的网站克隆工具可以帮助此目标。网站克隆工具制作一个网站的本地的复制,使用一些增加的代码来修复连接和图像这样它们可以如预期一样工作。
要克隆一个网站,通过
Attacks
→
Web Drive
-
by
→
Clone Site
。
可以将一个攻击嵌入到一个克隆的站点。在绑定的字段写你的攻击的
URL
,
Cobalt Strike
会使用一个IFRAME 来将它加入一个克隆的站点。点击
...
按钮来选择一个运行的客户端漏洞利用程序。
克隆的网站还可以捕获键盘记录。勾选
Log keystrokes on cloned site
(克隆站点上的键盘记
录)框。这会往克隆的站点里插入一段
JavaScript
键盘记录程序。 要查看键盘记录内容或查看到你的克隆网站的访问者,通过 View
→
Web Log
。
鱼叉式网络钓鱼
目标
既然你已经了解了客户端攻击,让我们来谈谈如何对用户进行攻击。进入组织网络的最常见的方法是通过鱼叉式网络钓鱼。 在发送钓鱼信息之前,你应该收集目标列表。Cobalt Strike
接受的格式是用文本文件组织的目标。该文 件的每一行包含一个目标。目标可以是一个电子邮件地址。你可以使用一个电子邮件地址、标签或一个名字。如果提供了名称,则有助于 Cobalt Strike
自定义每个网络钓鱼。
模板
接下来,你需要网络钓鱼模板。模板的好处是你可以在多次行动中重复利用它们。
Cobalt Strike
使用保存的电子邮件消息作为其模板。Cobalt Strike
将删除附件、处理编码问题,并为每次钓鱼攻击重新填写每个模板。
如果你想创建自定义模板,请撰写邮件并发送给自己。大多数电子邮件客户端提供获取原始信息源的方 法。在 Gmail
中,点击
Reply
按钮旁边的向下的箭头并选择
Show original
(显示原始文本)。将此消息保存到一个文件中,这样你就做好了一个 Cobalt Strike
钓鱼邮件模板了!
发送消息
现在你已经有了目标和模板,就可以开始进行网络钓鱼了。通过
Attacks
→
Spear Phish
来启动网络钓鱼工具.
要发送一封钓鱼邮件,你必须首先导入你的目标。点击
Targets
字段旁边的文件夹图标来导入你的目标文件。 然后,选择你的模板文件。点击 Template
字段旁边的文件夹图标来选择一个模板文件。 现在,你可以选择增加一个附件。这是使用我们前面讨论过的社会工程程序包的好机会之一。Cobalt Strike 会将你的附件增加到发出的钓鱼邮件。 你也可以要求 Cobalt Strike
使用你选择的
URL
来重写模板中的所有
URL
。粘贴
URL
或按
...
来选择 一个 Cobalt Strike
托管的工具。
Cobalt Strike
工件集包括克隆的网站,自动漏洞利用服务器和
System Profifiler。
当你嵌入一个
URL
,
Cobalt Strike
将对其附加
?id=%TOKEN%
。每一封发出的邮件都会被分配自己的令牌(token
)。
Cobalt Strike
使用这个令牌(
token
)将网站访问者映射到已发送到的电子邮件上。如 果你要写报告,请务必保留此值。 将邮件服务器设置为目标的开放中继或邮件交换记录。如有必要,你可能还会向邮件服务器进行身份验证以发送你的网络钓鱼邮件。
点击
Mail Server
(邮件服务器)字段旁边的
...
来配置额外的服务器选项。你也可以指定用于身份验证的用户名和密码。 Random Delay
选项告诉
Cobalt Strike
将每封邮件随机延迟一段时间,最多不超过你指定的秒数。如果此选项未设置,Cobalt Strike
不会延迟发送邮件。
将
Bounce
设置为退回邮件的应该发往的电子邮件地址。这个值不会影响你的目标看到的邮件。点击 Preview 来查看发送到你的收件人之一的一封组合邮件。如果预览看上去不错,点击
Send
来发送你的攻击.