CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

https://www.bilibili.com/video/BV1P64y1f7e1?p=7

0X001 基础介绍

• Access 子菜单包含对凭据的操作和提权在内的一些选项。
• Explore 子菜单包含信息探测和与目标系统交互的一些选项。
• Pivoting 子菜单你可以通过一个 Beacon 来配置工具来搭建流量隧道。
• Session 菜单你可以管理当前 Beacon 会话。

beacon讲解

CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

Command                   Description
    -------                   -----------
    browserpivot              注入受害者浏览器进程
    bypassuac                 绕过UAC
    cancel                    取消正在进行的下载
    cd                        切换目录
    checkin                   强制让被控端回连一次
    clear                     清除beacon内部的任务队列
    connect                   Connect to a Beacon peer over TCP
    covertvpn                 部署Covert VPN客户端
    cp                        复制文件
    dcsync                    从DC中提取密码哈希
    desktop                   远程VNC
    dllinject                 反射DLL注入进程
    dllload                   使用LoadLibrary将DLL加载到进程中
    download                  下载文件
    downloads                 列出正在进行的文件下载
    drives                    列出目标盘符
    elevate                   尝试提权
    execute                   在目标上执行程序(无输出)
    execute-assembly          在目标上内存中执行本地.NET程序
    exit                      退出beacon
    getprivs                  Enable system privileges on current token
    getsystem                 尝试获取SYSTEM权限
    getuid                    获取用户ID
    hashdump                  转储密码哈希值
    help                      帮助
    inject                    在特定进程中生成会话
    jobkill                   杀死一个后台任务
    jobs                      列出后台任务
    kerberos_ccache_use       从ccache文件中导入票据应用于此会话
    kerberos_ticket_purge     清除当前会话的票据
    kerberos_ticket_use       从ticket文件中导入票据应用于此会话
    keylogger                 键盘记录
    kill                      结束进程
    link                      Connect to a Beacon peer over a named pipe
    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                      Set parent PID for spawned post-ex jobs
    ps                        显示进程列表
    p**ec                    Use a service to spawn a session on a host
    p**ec_psh                Use PowerShell to spawn a session on a host
    psinject                  在特定进程中执行PowerShell命令
    pth                       使用Mimikatz进行传递哈希
    pwd                       当前目录位置
    reg                       Query the registry
    rev2self                  恢复原始令牌
    rm                        删除文件或文件夹
    rportfwd                  端口转发
    run                       在目标上执行程序(返回输出)
    runas                     以另一个用户权限执行程序
    runasadmin                在高权限下执行程序
    runu                      Execute a program under another PID
    screenshot                屏幕截图
    setenv                    设置环境变量
    shell                     cmd执行命令
    shinject                  将shellcode注入进程
    shspawn                   生成进程并将shellcode注入其中
    sleep                     设置睡眠延迟时间
    socks                     启动SOCKS4代理
    socks stop                停止SOCKS4
    spawn                     Spawn a session 
    spawnas                   Spawn a session as another user
    spawnto                   Set executable to spawn processes into
    spawnu                    Spawn a session under another PID
    ssh                       使用ssh连接远程主机
    ssh-key                   使用密钥连接远程主机
    steal_token               从进程中窃取令牌
    timestomp                 将一个文件时间戳应用到另一个文件
    unlink                    Disconnect from parent Beacon
    upload                    上传文件
    wdigest                   使用mimikatz转储明文凭据
    winrm                     使用WinRM在主机上生成会话
    wmi                       使用WMI在主机上生成会话
    argue                      进程参数欺骗

在Cobalt Strike中它的心跳默认是60s(即sleep时间为60s,每一分钟目标主机与teamserver通信一次), 这会让我们执行命令或进行其他操作响应很慢。。。
我刚开始没设置sleep时间甚至以为是cobaltstrike坏了--||。如果sleep时间过长,在下载文件面前更为明显,所以在测试时会把时间降低一点 。所以拿到beacon我一般先执行sleep 5,大家可以根据实战环境来调节,建议不要太快,不然流量会很明显。

Beacon的分类

http beacon&tcp beacon

这两种beacon都是用来直接于主机通信的,走的都是TCP的协议,是我们默认最常用到的beacon。

SMB beacon

介绍

SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。

因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。

这张图很好的诠释了SMB beacon的工作流程
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

但是使用SMBbeacon,对方主机必须开启445端口,并且使用了SMB协议,SMB协议通常用开局域网的文件共享。

使用

派生一个SMB Beacon方法:在Listner生成SMB Beacon>目标主机>右键> spawn as>选中对应的Listener>上线
或在beacon中使用命令spawn smb(smb为我的smb listener名字)
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

运行成功后外部可以看到∞∞这个字符,这就是派生的SMB Beacon。

当前是连接状态,你可以Beacon上用link 命令链接他或者unlink 命令断开它
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

然后如果想不链接了,就需要使用 unlink 去删除链接,就可以关闭链接了

DNS Beacon

https://my.oschina.net/u/4580734/blog/4363075

SSH Beacon

当内网有Linux时Cobalt Strike也是考虑到的提供了SSH连接,大家可以通过metasploit爆破内网的SSH账号密码,然后用目标机的Beacon去连接就可以了。
目前有两种SSH Beacon连接方法:
①密码直接连接
Beacon命令: ssh [target:port] [user] [pass]
②SSH密匙连接
ssh [target:port] [user] [/path/to/key.pem]

后渗透操作

基础管理

选择一个会话,右键,目标-->文件管理
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

Upload为上传一个文件 ,Make Directory为创建文件夹,List Drives为列出盘符,refresh为刷新,这块很简单,就不一一讲了。
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

下载文件

需要使用文件管理功能,然后右键download
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

再点击菜单栏上方的文件下载按钮
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

点击sync files,配置保存路径即可下载文件

执行或删除文件

执行文件点击execute后会弹出一个窗口,要求你输入要执行程序的参数,
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

这边按你的要求填写就行,不需要参数的话就不填。

0x002-进程管理

进入进程管理

选择一个beacon,右键,目标-->进程列表
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

进程列表中 ,kill为关闭程序,refresh为刷新进程列表,inject则是把beacon注入进程,Log Keystrokes为键盘记录,Stea Token为窃取运行指定程序的用户令牌
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

简单的功能就不讲了,这边讲一下进程注入(inject),键盘记录(Log Keystrokes)。

进程注入

该功能可以把你的beacon会话注入到另外一个程序之中,注入后,及时你原来的后门进程被关闭,你依然可以手握目标机的权限
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

选择进程,点击inject,随后选择监听器,点击choose,即可发现Cobaltstrike弹回了目标机的一个新会话,这个会话就是成功注入到某进程的beacon

键盘记录

选择好进程后(可ctrl多选),点击Log Keystrokes,然后再点击菜单栏上的“键盘记录”按钮
如图,成功get到目标机的键盘记录
CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

关注我

CobaltStrike从入门到精通系列视频教程(五)后渗透攻击

上一篇:简学-CobaltStrike 的使用(三)


下一篇:Cobaltstrike去除特征