Cobalt Strike 4.0-渗透攻击-First day

**

Cobalt Strike 4.0-渗透攻击-First day(dayu)

**

作者:大余
时间:2020-10-30

请注意:对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。

我必须再重申一遍:务必不要做未授权测试!不要未经授权在真实网络环境中复现任何文章中描述的攻击。即使是出于好奇而不是恶意,你仍然会因未授权测试行为而陷入很多麻烦。为了个人能更好的继续学习发展,有很多漏洞奖励计划和靶场可以供你学习试验,但是请记住,即使是参加漏洞奖励计划,私自测试范围外的网站或对网站进行深入破坏也会让你有大麻烦。


一、前言

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

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

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

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

此次会使用Cobalt Strike 4.0进行讲解了巩固。

扫描二维码关注公众号,回复: 12088791 查看本文章

二、模拟实战

这里需要安装包的找我即可…(点赞+收藏)

1、目录结构

在这里插入图片描述
熟悉目录结构内容:

agscript 			拓展应用的脚本
c2lint 				用于检查 profile 的错误异常
teamserver 			服务端程序
cobaltstrike,cobaltstrike.jar 	客户端程序 (java 跨平台)
logs 				目录记录与目标主机的相关信息
update,update.jar 	用于更新 CS
third-party 		第三方工具

熟悉这几个即可…windwos环境一样…


2、启动运行

1)Cobalt Strike 分为客户端和服务端,可分布式操作、协同作战。服务器端只能运行在Linux系统中,可搭建在VPS上。

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

服务端:

chmod +x teamserver
./teamserver IP 密码  
# 服务端真实IP(不能使用0.0.0.0127.0.0.1)和连接密码

在这里插入图片描述
图中已启动服务端IP和密码五个一…

客户端:

客户端在Windows、Linux、Mac下都可以运行 (需要配置好Java环境)。启动Cobalt Strike客户端,输入服务端的IP以及端口、连接密码,用户名可以任意设置。

这里windows需要java 8jdk,Linux需要10jdk、mac一样,这里可以网上找安装包,没有的找我。

在这里插入图片描述
命令:./start.sh

这里我写好了.sh的脚本启动…

在这里插入图片描述
在控制台所有操作指令都会被记录保留在Cobalt Strike目录logs下…

在这里插入图片描述

成功进入Cobalt Strike 4.0界面

3、参数中文介绍

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 	#脚本控制台
Targets 		#显示目标主机
Web Log 		#Web日志

对于深入后期我都会写,这里提下脚本控制台这块:

可以加载各种脚本,增强功能https://github.com/rsmudge/cortana-scripts

Attacks

Attacks-Packages:
在这里插入图片描述

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

Attacks-Web Drive-by:

在这里插入图片描述

Scripted Web Delivery 	#提供Web服务,便于下载和执行PowerShell Payload,类似于Metasploit的web_delivery 
Signed Applet Attack 	#启动一个Web服务以提供自签名Java Applet的运行环境
Smart Applet Attack 	#自动检测Java版本并利用已知的exploits绕过security
System Profiler 		#用来获取一些系统信息,比如系统版本,Flash版本,浏览器版本等

Attacks-Spear Phish:
在这里插入图片描述
钓鱼邮件,这里后期会尽可能的模拟复现…

Reporting

在这里插入图片描述

0. Activity report 			#活动报告
1. Hosts report 			#主机报告
2. Indicators of Compromise #威胁报告
3. Sessions report 			#会话报告
4. Social engineering report #社会工程学报告
5. Tactics, Techniques, and Procedures #策略、技巧和程序  
Reset Data 					#重置数据
Export Data 				#导出数据

Help

在这里插入图片描述

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

列表参数介绍已经完了…


4、简单的一次控制

复现

环境:

kali:192.168.175.147

win7:192.168.175.145

在这里插入图片描述
开启个监听
在这里插入图片描述
点击add创建即可…

在这里插入图片描述
选择生成后门-创建win.exe-payload…
在这里插入图片描述
创建好后…
在这里插入图片描述

选择一个钓鱼链接…
在这里插入图片描述
在这里插入图片描述
复制该链接到需要控制的靶机上下载即可…
在这里插入图片描述
下载好后,直接双击…
在这里插入图片描述
可看到已经成功获得对方的shell,成功控制对方电脑…

深入标题介绍

Access

在这里插入图片描述

Dump Hashes 	#获取hash
Elevate 		#提权
Golden Ticket 	#生成黄金票据注入当前会话
Make token 		#凭证转换
Run Mimikatz 	#运行 Mimikatz 
Spawn As 		#用其他用户生成Cobalt Strike侦听器

Explore

在这里插入图片描述

Browser Pivot 	#劫持目标浏览器进程
Desktop(VNC) 	#桌面交互
File Browser 	#文件浏览器
Net View 		#命令Net View
Port Scan 		#端口扫描
Process List 	#进程列表
Screenshot 		#截图

Pivoting

在这里插入图片描述

SOCKS Server 	#代理服务
Listener 		#反向端口转发
Deploy VPN 		#部署VPN

Spawn

外部监听器(如指派给MSF,获取meterpreter权限)

Session

在这里插入图片描述

Note 		#备注
Remove 		#删除
Sleep 		#指定被控端休眠时间,默认60秒一次回传,让被控端每10秒来下载一次任务。实际中频率不宜过快,容易被发现。
Exit 		#退出

Interact(打开beacon)

在这里插入图片描述

beacon> help

Beacon Commands
===============

Command                   Description
-------                   -----------
argue                     进程参数欺骗
blockdlls                 阻止子进程加载非Microsoft DLL
browserpivot              注入受害者浏览器进程
bypassuac                 绕过UAC提升权限
cancel                    取消正在进行的下载
cd                        切换目录
checkin                   强制让被控端回连一次
clear                     清除beacon内部的任务队列
connect                   Connect to a Beacon peer over TCP
covertvpn                 部署Covert VPN客户端
cp                        复制文件
dcsync                    从DC中提取密码哈希
desktop                   远程桌面(VNC)
dllinject                 反射DLL注入进程
dllload                   使用LoadLibrary将DLL加载到进程中
download                  下载文件
downloads                 列出正在进行的文件下载
drives                    列出目标盘符
elevate                   使用exp
execute                   在目标上执行程序(无输出)
execute-assembly          在目标上内存中执行本地.NET程序
exit                      终止beacon会话
getprivs                  Enable system privileges on current token
getsystem                 尝试获取SYSTEM权限
getuid                    获取用户ID
hashdump                  转储密码哈希值
help                      帮助
inject                    在注入进程生成会话
jobkill                   结束一个后台任务
jobs                      列出后台任务
kerberos_ccache_use       从ccache文件中导入票据应用于此会话
kerberos_ticket_purge     清除当前会话的票据
kerberos_ticket_use       Apply 从ticket文件中导入票据应用于此会话
keylogger                 键盘记录
kill                      结束进程
link                      Connect to a Beacon peer over a named pipe
logonpasswords            使用mimikatz转储凭据和哈希值
ls                        列出文件
make_token                创建令牌以传递凭据
mimikatz                  运行mimikatz
mkdir                     创建一个目录
mode dns                  使用DNS A作为通信通道(仅限DNS beacon)
mode dns-txt              使用DNS TXT作为通信通道(仅限D beacon)
mode dns6                 使用DNS AAAA作为通信通道(仅限DNS beacon)
mode http                 使用HTTP作为通信通道
mv                        移动文件
net                       net命令
note                      备注       
portscan                  进行端口扫描
powerpick                 通过Unmanaged PowerShell执行命令
powershell                通过powershell.exe执行命令
powershell-import         导入powershell脚本
ppid                      Set parent PID for spawned post-ex jobs
ps                        显示进程列表
psexec                    Use a service to spawn a session on a host
psexec_psh                Use PowerShell to spawn a session on a host
psinject                  在特定进程中执行PowerShell命令
pth                       使用Mimikatz进行传递哈希
pwd                       当前目录位置
reg                       Query the registry
rev2self                  恢复原始令牌
rm                        删除文件或文件夹
rportfwd                  端口转发
run                       在目标上执行程序(返回输出)
runas                     以其他用户权限执行程序
runasadmin                在高权限下执行程序
runu                      Execute a program under another PID
screenshot                屏幕截图
setenv                    设置环境变量
shell                     执行cmd命令
shinject                  将shellcode注入进程
shspawn                   启动一个进程并将shellcode注入其中
sleep                     设置睡眠延迟时间
socks                     启动SOCKS4代理
socks stop                停止SOCKS4
spawn                     Spawn a session 
spawnas                   Spawn a session as another user
spawnto                   Set executable to spawn processes into
spawnu                    Spawn a session under another PID
ssh                       使用ssh连接远程主机
ssh-key                   使用密钥连接远程主机
steal_token               从进程中窃取令牌
timestomp                 将一个文件的时间戳应用到另一个文件
unlink                    Disconnect from parent Beacon
upload                    上传文件
wdigest                   使用mimikatz转储明文凭据
winrm                     使用WinRM横向渗透
wmi                       使用WMI横向渗透

5、基础操作演示

在这里插入图片描述

右键目标interact来使用Beacon,用它来执行各种命令。在Cobalt Strike中,默认心跳为60s,执行命令的响应很慢,在下载文件时更加明显,所以根据实战环境把时间降低,建议不要太快,否则流量会相对明显。

在这里插入图片描述

在beacon中,如果想对目标进行命令管理,需要在前面加上shell,如shell whoami、shell ipconfig等…

在这里插入图片描述
今天简单的讲解了入门级,简单的操作可自行搭建靶机操作…

后面会越来越深入的学习Cobalt Strike 4.0…加油!!

要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_34801745/article/details/109391166