logonpasswords 命令会使用 mimikatz 来恢复登录过当前系统的用户的明文密码和哈希。
logonpasswords 命令等同于选项中的 [beacon] → Access → Run Mimikatz 。
使用 dcsync [DOMAIN.FQDN] 命令从域控中提取所有帐户的密码哈希。此技术使用了用于在域控之间同步信息的 Windows API。它需要域管理员信任关系。Beacon 使用 mimikatz 来执行此技术。如果你想要一个特定的密码哈希,使用 dcsync [DOMAIN.FQDN] [DOMAIN\user] 命令。
使用这些命令dump下来的凭据会被 Cobalt Strike 收集并存储在凭据数据模型中。通过 View →
Credentials 来在当前团队服务器拉取查看凭据。
echo 请求来检查一个目标是否存活。 none 选项让端口扫描工具假设所有的主机都是存活的。
端口扫描会在 Beacon 和团队服务器通讯的这个过程中不停运行。当它有可以报告的结果,它会把结果发送到 Beacon 控制台。Cobalt Strike 会处理这个信息并使用发现的主机更新目标模型。
Beacon 的网络模块中的命令是在 Windows 网络枚举 API 的基础上构建的。这些命令中的大多数是直接替换了很多 Windows 中内置的网络命令。也有一些独特的功能,比如,使用 net localgroup \\TARGET 来列举另一个系统上的组。使用 net localgroup \\TARGET group name 来列举另一个系 统上的组内成员。这些命令在横向移动时候很好用,比如当你要去寻找另一个系统上的本地管理员时。 使用 help net 来获取 Beacon 的网络模块中所有命令的列表。使用 help net command 来获取每个单独命令的帮助信息。
如果你知道一个用户的凭据,使用 make_token [DOMNAIN\user] [password] 来生成一个传递这些凭据的令牌。这个令牌是你当前令牌的复制,带有修改的单点登录信息。它会展示你当前的用户名,这是预期的行为。 使用 mimikatz 来使用 Beacon 传递哈希。Beacon 命令 pth [DOMAIN\user] [ntlm hash] 会创建和 模拟一个访问令牌来传递特定的哈希。 Beacon 的制作令牌对话框( [beacon] → Access → Make Token )是这些命令的前端。它将显示凭据模型的内容,并使用正确的命令将选定的凭据项转化为访问令牌。

| Jump 模块 | 架构 | 描述 |
| psexec | x86 | 使用一个服务来运行一个服务可执行文件 |
| psexec64 | x64 | 使用一个服务来运行一个服务可执行文件 |
| psexec_psh | x86 | 使用一个服务来运行一个 PowerShell 单行程序 |
| winrm | x86 | 通过 WinRM 来运行一个 PowerShell 脚本 |
| winrm64 | x64 | 通过 WinRM 来运行一个 PowerShell 脚本 |
| Remote-exec 模块 | 描述 |
| psexec | 通过服务控制管理器远程执行 |
| winrm | 通过 WinRM(PowerShell)远程执行 |
| wmi | 通过 WMI (PowerShell)远程执行 |
要使用此对话框: 首先,决定你想用哪种信任来进行横向移动。如果你想使用你的某个 Beacon 中的令牌,勾选 Use session's current access token (使用会话的当前访问令牌)框。你也可以使用凭据或哈希来进 行横向移动。从凭据存储中选择凭据或者手动填写 User 、 Password 和 Domain 字段。 Beacon 会使用此信息来为你生成一个访问令牌。记住,你需要在高权限的上下文(管理员权限)中执行这些操作才能生效。 接下来,选择用于横向移动的监听器。在这种场景中,SMB Beacon 通常是一个很好的选择。 最后,选择你想从哪个会话中执行横向移动攻击。Cobalt Strike 的异步攻击模型要求每一个攻击都从一个受害系统中执行。如果没有可以展开攻击的 Beacon 会话就没有可以执行此操作的选项。如果你在一 个内部行动中,考虑 hook 一个你控制的 Windows 系统并以其作为你使用凭据或哈希攻击其他系统的起点。
上一篇:第二章 运算方法和运算器
下一篇:关于朋友的思考