渗透测试神器CobaltStrike使用教程
简介:
Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。
CobaltStrike官网:https://www.cobaltstrike.com
环境:Java
设备:Windows或Linux均可(推荐服务端使用Linux服务器)
目录文件和功能介绍:
agscript:扩展应用的脚本 c2lint:该文件主要检查profile的错误和异常 teamserver:服务端启动程序 cobaltstrike.jar:CobaltStrike主要核心程序 cobaltstrike.auth:用于客户端和服务端认证的文件(建议自己有时间可以查看一下cs的源码) cobaltstrike.store:密钥证书存放文件 data:用于保存当前TeamServer的数据 logs:日志文件(web日志、Beacon日志、截图日志、下载日志、键盘记录日志等等) third-party:第三方工具目录 AggressorScripts-master:插件目录 复制
使用教程:
(1)服务端:
1.首先我们在服务端安装Java环境,这个非常简单就不在这里赘述了,不会请自行百度解决。
2.cd切换到下载好的CobaltStrike工具文件夹目录,启动运行服务端。
./teamserver ip 密码 nohub ./teamserver ip 密码 //后台运行,关闭终端依旧运行 注意:cs默认监听端口为50050,可以打开teamserver文件,修改端口 ./teamserver <host> <password> [/path/to/c2.profile] [YYYY-MM-DD] <host> 必需参数 服务器IP <password> 必需参数 连接服务器的密码 [/path/to/c2.profile] 可选参数 指定C2通信配置文件,体现其强大的扩展性 [YYYY-MM-DD] 可选参数 所有payload的终止时间 复制
(2)客户端
1.连接到服务端。
java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar 需切换到CobaltStrike执行,Windows使用cmd执行命令。 复制
2.创建监听器。
打开监听器→Add→添加一个监听器。
3.生成后门文件,并将生成的后门文件在对应客户端运行即可上线。
1.HTML Appliaction:生成一个恶意的HTML Appliacton木马,后缀为'.hta'。通过HTML调用其他语言的应用组件进行攻击,提供可执行文件。 2.MS Office Macro:生成office宏病毒文件。 3.Payload Generator:生成各种编程语言的payload(包含C、C#、COM Scriptlet、Java、Perl、Powershell、Python、Ruby、VBA) 4.Windows Executable:生成32位或64位的exe、dll可执行文件 5.Windows Executable(S):用于生成一个exe可执行文件,包含Beacon的完整payload,与4相比,该模块额外提供了代理功能,以便在比较严苛德环境下进行渗透测试。并且支持Powershell脚本,用于将Stageless Payload注入内存。 复制
4.远控进行vnc,文件管理,进程查看等一系列操作。
(3)常用命令
argue 进程参数欺骗 blockdlls 在子进程中阻止非Microsoft的DLLs文件 browserpivot 注入受害者浏览器进程 bypassuac 绕过UAC cancel 取消正在进行的下载 cd 切换目录 checkin 强制让被控端回连一次 clear 清除beacon内部的任务队列 connect 通过TCP连接到Beacon covertvpn 部署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文件中导入票据应用于此会话 keylogger 键盘记录 kill 结束进程 link 通过命名管道连接到Beacon logonpasswords 使用mimikatz转储凭据和哈希值 ls 列出文件 make_token 创建令牌以传递凭据 mimikatz 运行mimikatz mkdir 创建一个目录 mode dns 使用DNS A作为通信通道(仅限DNS beacon) mode dns-txt 使用DNS TXT作为通信通道(仅限D beacon) mode dns6 使用DNS AAAA作为通信通道(仅限DNS beacon) mode http 使用HTTP作为通信通道 mv 移动文件 net net命令 note 给当前目标机器备注 portscan 进行端口扫描 powerpick 通过Unmanaged PowerShell执行命令 powershell 通过powershell.exe执行命令 powershell-import 导入powershell脚本 ppid 为生成的post-ex任务设置父PID ps 显示进程列表 psexec 使用服务在主机上生成会话 psexec_psh 使用PowerShell在主机上生成会话 psinject 在特定进程中执行PowerShell命令 pth 使用Mimikatz进行传递哈希 pwd 当前目录位置 reg 查询注册表 rev2self 恢复原始令牌 rm 删除文件或文件夹 rportfwd 端口转发 run 在目标上执行程序(返回输出) runas 以另一个用户权限执行程序 runasadmin 在高权限下执行程序 runu 在另一个PID下执行程序 screenshot 屏幕截图 setenv 设置环境变量 shell cmd执行命令 shinject 将shellcode注入进程 shspawn 生成进程并将shellcode注入其中 sleep 设置睡眠延迟时间 socks 启动SOCKS4代理 socks stop 停止SOCKS4 spawn 生成一个会话 spawnas 以其他用户身份生成会话 spawnto 将可执行程序注入进程 spawnu 在另一个PID下生成会话 ssh 使用ssh连接远程主机 ssh-key 使用密钥连接远程主机 steal_token 从进程中窃取令牌 timestomp 将一个文件时间戳应用到另一个文件 unlink 断开与Beacon的连接 upload 上传文件 wdigest 使用mimikatz转储明文凭据 winrm 使用WinRM在主机上生成会话 wmi 使用WMI在主机上生成会话 复制
(4)其他:
这里仅仅介绍了CobaltStrike工具的一小部分功能,CobaltStrike是一款非常强大的远控工具,更多功能请自行深入探究。
实战免杀远控操作请看本人博客另一篇文章:http://blog.tianles.com/55.html
最后送给大家一句话;“疯狂源自梦想,技术成就辉煌,实力创造价值!”
与诸君共勉,谢谢。
还没有评论,来说两句吧...