• Cobalt Strike 从入门到入狱(三)


    1.对被控主机的操作

    对着被控主机右键后:

    Interact               //打开beacon

    Access

        dump hashes   //获取hash

        Elevate            //提权

        Golden Ticket  //生成黄金票据注入当前会话

        MAke token     //凭证转换

        Run Mimikatz  //运行 Mimikatz

        Spawn As        //用其他用户生成Cobalt Strike的beacon

    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               //会话管理,删除,心跳时间,退出,备注

    2.dumphash

    也可以直接通过在beacon控制台中hashdump命令,此命令作用为派生一个任务注入LSASS 进程,dump当前系统中本地用户的密码哈希,与hashdump同等效果

    3.Elevate 提权

    这里的提权利用了各种方式

    3.1  svc-exe 提权

    用于提升权限,用法类似msf中getsystem命令

    科普下getsystem命令提权原理

     1.创建一个以system权限启动的程序,这个程序的作用是连接指定的命名管道。

    2.创建一个进程,并让进程创建命名管道。

    3.让之前的以system权限启动的程序启动并连接这个命名管道。

    4.利用ImpersonateNamedPipeClient()函数生成system权限的token。

    5.利用system权限的token启动cmd.exe。

    右击被控主机后,Elevate提权,选择svc-exe后点击launch运行

     会在目标机生成一个基于服务自启动的exe程序,可响应Service Control Manager 命令

     提权成功后会通过system的权限回连指定的监听器,并在cs服务端新生成一个会话

     3.2 uac-token-duplication 提权

    这种提权方式的原理是会产生一个具有提升权限的临时进程,然后注入一个有效载荷(playload stage)回连指定的监听器,并在cs服务端新生成一个会话。这种攻击利用 UAC漏洞,允许非提权进程使用从提权进程窃取的令牌启动任意进程。该漏洞要求攻击者删除分配给提权令牌的权限,您的新会话的能力将反映这些受限的权利。如果「始终通知」处于最高设置,此攻击要求提权的进程已经运行在当前桌面会话中(作为同一用户)。在2018年11月更新之前,该攻击在Windows 7和Windows 10上有效。

     

    runasadmin uac-token-duplication [命令] 是和上面描述的相同的攻击,但是此变形是在一个提权
    的上下文中运行你选择的命令。

    runasadmin uac-cmstplua [命令] 将尝试绕过 UAC 并在一个提权的上下文中运行命令。此攻击依赖于 COM 对象,该对象会自动从特定的进程(微软签名的,位于  c:\windows\* 目录下的)上下文中提
    权。

    3.3 ms14-058|ms15-015|ms16-016|ms16-032|ms16-032|ms16-315

    这几种方式都差不多,通过windows的本地提权漏洞来提权

     3.4 juicypotato 多汁土豆提权

    多汁土豆的实现原理和流程

    1.加载COM并发送请求,在指定ip和端口位置尝试加载一个COM对象
    2.回应步骤1的请求,并发起NTLM认证,由于权限不足,无法认证成功
    3.针对本地端口同样发起NTLM认证,权限为当前用户
    4.分别拦截两个NTLM认证的数据包,替换数据,通过NTLM重放使得步骤1中的认证通过,获得system权限的token
    5.利用system权限的token创建新的进程,如果开启SeImpersonate权限,调用CreateProcessWithToken,传入System权限的Token,创建的进程为System权限,或者如果开启SeAssignPrimaryToken权限,调用CreateProcessAsUser,传入System权限的Token,创建的进程为System权限。

    3.5 compmgmt 提权

     通过windows的compmgmt计算机管理去提权,具体如何实现没了解过,网上关于这块的资料太少了

    3.6 rottenpotato  烂土豆提权

    所谓的烂土豆提权,就是俗称的MS16-075,可以将Windows工作站上的特权从最低级别提升到“ NT AUTHORITY \ SYSTEM” – Windows计算机上可用的最高特权级别。(从Windows服务帐户到系统的本地权限升级)

    原理和流程

    1.欺骗 “NT AUTHORITY\SYSTEM”账户通过NTLM认证到我们控制的TCP终端。
    2.对这个认证过程使用中间人攻击(NTLM重放),为“NT AUTHORITY\SYSTEM”账户本地协商一个安全令牌。这个过程是通过一系列的Windows API调用实现的。
    3.模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。

    3.7 uac-eventvwr

    通过注册表,利用eventvwr.exe 会自动加载我们的exp,这时的eventvwr.exe为高权限,达到提权效果

    3.8 uac-dll 

    利用UAC漏洞,把我们的exp生成的dll复制到特定位置来达到提权效果,可绕过UAC


    3.9 uac-wscript

    这是一个empire中的绕过UAC模块,通过利用wscript.exe 去执行payload,以管理员权限去运行payload,只限于win7上使用

    4.Run  Mimikatz

    logonpasswords 命令会使用 mimikatz 来恢复登录过当前系统的用户的明文密码和哈希。

    logonpasswords 命令等同于选项中的  [beacon] →  Access →  Run Mimikatz 。

     使用这些命令dump下来的凭据会被 Cobalt Strike 收集并存储在凭据数据模型中。通过  View →
    Credentials 来在当前团队服务器拉取查看凭据。

    5.生成黄金票据

    通过填入mimikatz得到的数据生成黄金票据注入会话

    6.制作令牌

    在当前的beacon上进行身份伪造

    填入对应的用户,密码,domain,制作token

     7.One-liner

     PowerShell one liner功能的会话。在beacon中承载一个运行有效负载的powershell脚本

    powershell one-liner通常用于管理文件系统

    选择监听器,随后会生成一段powershell命令,放到目标靶机上去运行,得到会话

     在cobaltstrike通过beacon去运行powershell命令

     8.spawn As

     

     用于获取beacon后获取一个新的beacon,防止权限丢失,还可以和msf,empire等工具结合使用

     

     

     

  • 相关阅读:
    pytorch 保存和加载模型
    操作系统之《PV操作》【知识点+详细解题过程】
    易灸灸的微商模式,新零售全案运营,裂变营销与代理模式
    【MySQL实践】使用FIND_IN_SET查询逗号隔开的数据&Mybatis-Plus的实现方式
    一个简单的删除,我发现这么多知识...
    Serverless Devs 进入 CNCF 沙箱,成首个入选的 Serverless 工具项目
    Golang学习之路3-基础认识(下)
    代码随想录算法训练营第38天—动态规划06 | ● 完全背包 ● *518. 零钱兑换 II ● 377. 组合总和 Ⅳ
    神经网络优化篇:详解TensorFlow
    C# OpenCvSharp Mat操作-创建Mat-zeros
  • 原文地址:https://blog.csdn.net/jd_cx/article/details/124713787