Cobalt Strike之Beacon的四个高级黑客技巧

Cobalt Strike之Beacon的四个高级黑客技巧

Beacon是用于红队(受过职业训练的安全专家)行动的Cobalt Strike的载荷。Beacon是一个稳定的生命线,它服务于通信层。Meterpreter是一个非常棒的有许多功能漏洞实施代理。BeaconMeterpreter一起使用能在悄无声息的行动中提供更多选择。在这篇文章里,我将给大家演示几种不同的方法用Beacon充分利用MeterpreterMetasploit Framework。

#0 Beacon

先看看没有Beacon时我们一般怎么操作,在这种情况下,你的一切操作都必须通过Meterpreter。Meterpreter是你载荷的第一切入点,你要保证Meterpreter持续存在。同时Meterpreter也是你远程控制靶机和枢轴点的载荷。

clip_image001

如果你用Meterpreter当作进入网络的切入点,你的第一个动作是要备份出更多的Meterpreter会话来增加机会。不然如果你丢失了仅有的Meterpreter会话,就丢掉了权限,这可不是此次行动的最好选择。Meterpreter会话貌似不怎么稳定,为了巩固我们费尽心思得到的权限和防止Meterpreter会话丢失迫在眉睫!!!

#1 Beacon之命脉

我们还有另一个选项,使用Beacon作为网络切入点。就如其他的Metasploit Framework载荷的设计类似,你也要利用内存破坏漏洞或者Cobalt Strike的社会工程学工具包发送Beacon,Beacon在内存运行后将立马通过HTTP或DNS查看任务。

clip_image001[6]

Beacon的任务是指你想通过Beacon执行的命令,比如spawn命令将会去靶机请求一个Meterpreter会话。当你需要的时候Beacon是如此秘密的返回了你需要的Meterpreter会话。如果保持低调的秘密性对你很重要那么就无需返回会话,除非你万不得已地想和靶机交互。

#2 Beacon出口

Meterpreter提供了TCP、HTTP和HTTPS的反向连接网络出口,Meterpreter经常会出接口到一个主机,如果这台主机被网络防护团队拦截或监视了,你就会被坑得很有节奏了~这可不是闹着玩滴!

clip_image001[8]

对此类情况,使用Beacon做枢轴点使出口流量传出目标网络。Beacon可以选择通过DNS还是HTTP协议出口网络,你甚至可以在使用Beacon通讯过程中切换HTTP和DNS。请在日站时灵活的选择和使用需要的正确的协议。

Beacon支持多主机连接,部署好Beacon后提交一个要连回的域名或主机的列表,Beacon将通过这些主机轮询。目标网络的防护团队必须拦截所有的列表中的主机才可中断和其网络的通讯。

Beacon公开了一个SOCKS代理服务器,它允许你使用一个信标主机作为枢轴点。这SOCKS代理服务器将通过Beacon隧道传输Metasploit Framework攻击、Meterpreter以及其他外部工具。

使用Beacon做枢轴点,你必须使Beacon每秒查看多次,如果你是通过高的sleep时间信标尝试通道流量,你会发现大多数工具将超时由于人为地高通信延迟。

使用Beacon做枢轴点将帮你工具通过许多边界防护。一旦你通过一个稳定的渠道隧道进入网络内部,你有很大的自由而不会中断工作。

#3 Beacon通信层

并非所有系统都能Beacon到因特网上的主机,有时当你想控制一个连接不到你的系统,你可能会用bind Meterpreter载荷或者通过Meterpreter会话的反向TCP载荷。通常当Meterpreter会话丢失后就必须重新让Meterpreter运行到沦陷主机上。

有幸,我们还能通过发送bind载荷Beacon控制这些系统,bind Beacon载荷又叫Beacon peer,是一个运行在沦陷主机内存中的后门,你随时可以连接或断开或重新连接到Beacon peer后门。

Beacon peer后门也可通过SMB管道连接,首先你必须已经有另外的Beacon连接到靶机。已连接的Beacon将通过混合到正常的SMB网络流量来通讯。

你可以发送一个命令到任何存在Beacon的主机来请求一个Meterpreter会话,它的访问流量通过该Beacon隧道传输。Beacon成为了Meterpreter会话替代的通讯层。

clip_image001[10]

如果你丢失了通过Beacon peer隧道的Meterpreter会话,就可以请求到一个新的Meterpreter会话而不需要在目标主机重新运行Meterpreter,并且目标主机并不需要连接到互联网。Beacon peer既可以作为枢轴点又是连接到一个深层网络的命脉!

#4 Beacon的远程管理功能

有时,在目标网络外部获取一个稳定的Meterpreter会话是非常的困难,主机上的防护可能会拦截它,又或许通过隧道流量连入目标网络更易被发现,此时,Beacon可以作为一个远程管理工具来使用。

如果你不通过Beacon隧道走网络流量那么可以设置一个较高的休眠眠时间,比如10分钟一次、1小时一次或者一天一次。这时Beacon会将查看和下载你提供的命令并加入执行队列后一个个的执行。

clip_image001[12]

Beacon与许多的远程管理工具功能:上传、下载文件。Beacon将跟踪所有文件的下载,每次查看来抓取一个文件片段。这使得有可能在低和缓慢的方式取回一个大文件到多个回调主机。

Metasploit Framework是我们对大多数的黑客行动的通用接口,也就是说,我们在Metasploit Framework里做的事都是可独立执行的和内建Windows命令。如果你有个混淆漏洞实施利用工具包,你可以轻松加愉快的干活—你能通过Beacon执行大多数的日站指令而不降低休眠时间。

如果你仅仅使用较高休眠时间的Beacon来控制沦陷主机那么网络防护团队很难注意到你。

#Final 高级威胁对策?

这些每个选择相当于不同的复杂程度,当你了解到“APT”活动后,尝试匹配你正在阅读这些选项是什么。当你读到行动者使用极其简单的beaconing RAT,请问,他用什么实施漏洞利用?当你读到行动者使用Poison Ivy时,请问,他用什么作为立足点和维护权限?当你读到今年的某场入侵行动时,请问,行动者如何保护他们能自由的随时地恢复主机的控制而不引起任何的怀疑?当你听到关于暂时搁置的从未被抓到行动者列表时,请问,他们是怎么办到的?最后,当你看到高级威胁行动者时,请问,我如何帮到我的客户们了解到自身对于此类高级威胁的检测和响应能力?

 

#译自Cobalt Strike和Armitage作者博客:http://blog.strategiccyber.com/2014/01/31/four-levels-of-hacking-sophistication-with-beacon/

第一次翻译,如有不足请不吝指点。