从此淹没在我们时间的长河|

lockly

园龄:2年3个月粉丝:25关注:3

隐匿自己的c2服务器(一)

隐匿自己的c2服务器(一)

🌊服务器设置

安装java环境

yum install -y java-1.8.0-openjdk*

image-20220910103114222

启动设置

遇到插件中中文乱码时,只需要更改启动的编码参数即可解决:

java -Dfile.encoding=utf-8 -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -Xms512M -Xmx1024M -jar cobaltstrike.jar

开启禁ping

vim /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1 //添加这一行
sysctl -p //保存之后刷新配置

🚀微信机器人推送上线信息

首先先注册好企业微信,不清楚百度上搜一下就好了,下载好这个插件:项目地址上传到服务器,然后在群聊中添加机器人

image-20221124225924234

一路点过来到这里就得到了机器人的webhook地址了

image-20221124230113693

然后开始修改下载好的文件,因为配置的是微信推送,所以在CS_bot.py这个文件里注释掉其他的不用项。然后注意这个py文件本来就有拼接url故需要将webhook里面key的部分(?key=之后的)提出来替换掉那个xxxx

image-20221124233225907

然后编辑CS_bot.cna,划线的地方需要修改为自己放这个py文件的绝对路径。再编辑好之后先运行一下这个文件,缺什么包就用pip3下载好。

image-20221124233309521

使用agscript在后台启动,注意这里的格式为 user那里不要和自己登录的用户名重复

nohup ./agscript <host> <port> <user> <pass> </file/CS_bot.cna>

最后的效果如下:

bc54eaa5-07a0-4333-9995-6702956dd96d

🏳️‍🌈端口特征修改

修改teamserver默认端口

其位于teamserver的最后一段,将-Dcobaltstrike.server_port=改为自己想设置的端口,

image-20221125005322123

🏬证书特征修改

CobaltStrike的默认证书有三个:

  • cobaltstrike.store 证书:用于服务端和客户端加密通讯
  • proxy.store 证书:用于浏览器代理也就是browserpivot功能
  • ssl.store 证书:如果你没有配置https-certificate选项,并且使用的是https监听器那么CobaltStrike默认就会使用这个证书

其中cobaltstrike.store证书和ssl.store证书比较敏感,特征也早已被各大厂商标记,建议自己生成替代不要使用其默认证书。我们可以使用keytool来管理或生成证书。keytool是一个Java数据证书的管理工具 ,keytool将密钥(key)和证书(certificates)存在一个称为keystore的文件中(即.store后缀文件)

可以使用 keytool -h 查看帮助,这里简单例举一点,其他的有需要就百度

image-20221125001600435

cs的原始证书特征很明显就不看了,我这把原先的证书删了,用Keytool来重新生成证书

keytool -keystore cobaltstrike.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias 别名 -dname "CN=(名字与姓氏), OU=(组织单位名称), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)"
eg:
keytool -keystore test.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias test.tk -dname "CN=Microsoft Windows, OU=MOPR, O=Microsoft Corporation, L=Redmond, ST=Washington, C=US"

查看一下生成的证书(密钥库密码默认为123456,密码取决于上面你改不改)

keytool -list -v -keystore 证书名.store

image-20221125005652373

之后还要在teamsever里面修改一下keystore:

image-20221125005608842

到这里简单的修改就完成了

🌏流量特征修改

利用cdn加速进行隐匿

域名

正常情况下,第一步我们要做的是先申请一个域名(这个域名的作用是用来配合 CDN 来隐藏我们的C2服务器),然后再申请一个CDN对我们所申请的域名进行加速,在这个过程中CDN会要求我们在域名的解析配置中设置相应的 CNAME。

  • 一句话核心原理:使用CDN内容分发网络的多节点分布式技术,通过“加速、代理、缓存”隐藏在后面的静态文件或服务;最终实现对外暴露的是CDN多节点的公网域名IP,很难甚至无法溯源真实后端服务器的域名或IP!

首先要做的就是申请一个域名,可以去下面这个外网的弄到免费域名https://www.freenom.com/zh/index.html?lang=zh。这里就细讲一下比较详细的过程:

没有账号不用管待会会有注册的,先搜索一个域名,最好就是搜全,加上.tk .ml之类的,否则有可能搜不到。

image-20221125013853419

然后注册那里,我没截图但这里拿编辑页面来说。就是你的信息不能乱写,正确度不高的话是成功不了的,比如如果你是挂代理上来的,那就在编辑信息就得和你的IP所在地尽可能匹配。像我用的就是下面这个网站洛杉矶地址生成器 - 美国地址生成器 - 美国身份生成器 (meiguodizhi.com)来生成信息。

image-20221125111751267

注册成功了就可以点上面横栏service里面查看。

cdn配置

cdn我用的是免费的Cloudflarehttps://www.cloudflare.com/zh-cn/。注册账号后登陆,选择免费计划然后添加刚刚弄到的欲与CS服务器绑定的域名

image-20221125112734323

进入站点后,点击左侧的dns,查看Cloudflare的名称服务器,把这两个ns记录下

image-20221125113001703

然后会带刚刚注册域名的网站,在service里面有管理页面,进来如下依次填入前面的两个ns记录。这样就可以将自己的域名的所有解析功能都托管在Cloudflare,这样Cloudflare可以提供CDN的解析功能了

image-20221125113127457

然后接着就是添加两条记录,一个的名称@或者其他的也可以,一个为www。添加后保存

image-20221125114242797

在页面规则这里也添加两条,一个的url为*.域名/*,一个为.域名/*。底下选缓存级别绕过

image-20221126012104555

之后可以ping一下自己的域名,能ping通而底下的ip也已经不是我们服务器的ip了。

image-20221125114522388

证书和密钥

这里的设置就是把下面的自动配置的功能都关了。

image-20221125115706895

下面创建证书,如下图

image-20221125115833161

很简单看图操作:

image-20221125115949205

创建之后保存一下生成的密钥和证书

在服务器上加俩个文件分别为secret.key 和 cert.pem 来保存。使用以下命令生成 certout.p12 。再接着生成新的证书:

openssl pkcs12 -export -in 保存的源证书.pem -inkey 保存的私钥.key -out 输出的p12文件名(自定义).p12 -name 设置别名 -passout pass:设置密码
keytool -importkeystore -deststorepass 设置密码 -destkeypass 设置密码 -destkeystore 设置证书文件名.store -srckeystore 上面自定义的p12文件.p12 -srcstoretype PKCS12 -srcstorepass 上面设置的密码 -alias 设置别名
eg:
openssl pkcs12 -export -in cert.pem -inkey secret.key -out certout.p12 -name cloudflare_cert -passout pass:753015
keytool -importkeystore -deststorepass 753015 -destkeypass 753015 -destkeystore bk.store -srckeystore certout.p12 -srcstoretype PKCS12 -srcstorepass 753015 -alias cloudflare_cert

修改profile文件

然后就是修改以下profile文件,根据你自己的文件来改GitHub上有很多拿来改一下就可以用了。我这里就大概这样

image-20221127005025141

最后检查一下域名能否正常使用,这个ip就是我们使用的Cloudflare的最近CDN节点的公网ip

image-20221126024043510

上线效果

配置CS Listener,将高信誉域名填入HTTPS Hosts和HTTPS Host(Stager)中,将CS服务器域名填入HTTPS Host Header中

但是要注意:Cloudflare的代理模式只有部分端口能够使用,使用时要注意端口的设置,否则是监听不到的。(Cloudflare 支持的 HTTP 端口:80、8080、8880、2052、2082、2086、2095;Cloudflare 支持的 HTTPS 端口:443、2053、2083、2087、2096、8443)

还有因为我是使用的国内云主机,域名没有进行备案,所以没有办法使用80、8080、443、8443端口提供服务;这里就直接拿https的来了

image-20221126015752095

上线之后等一会是可以看到,CS上显示该机器的外部ip为某云的ip,并且该ip是动态变化的。

image-20221126015959609

查看受控主机本地回接C2服务器的ip地址已经是CDN节点IP,而不是我们自己服务器的真实ip

image-20221126021206548

查一下这个IP可以看到来自cloudflare

image-20221126021239791

至此就简单完成了,后面还会接着尝试其他方法来隐匿

本文作者:lockly

本文链接:https://www.cnblogs.com/bktown/p/16928844.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   lockly  阅读(535)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 过客 冯泳,HAIBEAT
  2. 2 Sorry But XMASwu(吴骜)
  3. 3 每当我 ProdbyMend
过客 - 冯泳,HAIBEAT
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.

作词 : 冯泳/HAIBEAT

作曲 : 冯泳/HAIBEAT

编曲 : 冯泳

作词:冯泳/HAIBEAT

作曲:冯泳/HAIBEAT

编曲:bezimenimusic

封面:冯泳

和声编写:Hicco/冯泳

和声:冯泳/Hicco

混音:Hicco

母带:Hicco

录音师:HAIBEAT /Hicco

录音棚:造句工坊Studio

HAIBEAT:

我们在面对面

变得无话可说

想要再见一见

你情绪无法捕捉

想再靠近却被推开

当我回头你已不在

剩下的回忆像利剑

刺痛一遍又一遍

记事本 写满了 怨言

到底是谁变了又变

都说彼此都没亏欠

就只是缺个道歉

低头玩手机到没电

却只在微信说再见

欠下的愿望 我还没实现

梦里海边我去了好多遍

冯泳:

就算我用尽所有的力气始终也没能留住你

只剩下回忆

和我死磕到底

就算我用尽所有的力气始终也没能留住你

没有一点点的余地

I can't let u go I knew it

HAIBEAT:

走 就别再回头

故事结束在这路口

就算这城市都是你轨迹

就算到哪也都是你

我也不会再骗我自己

那些过去就让他过去

倒也没说谁会对不起

一个人迎接这个冬季

冯泳:

藏在心底的感觉说不出口的再见

回不去那个从前停留在那个冬天

如果还是会想念

能不能回到我的身边让回忆再次重演

就算我用尽所有的力气始终也没能留住你

只剩下回忆

和我死磕到底

就算我用尽所有的力气始终也没能留住你没有一点点的余地

I can't let u go I knew it