安全矩阵

 找回密码
 立即注册
搜索
查看: 2182|回复: 0

红队攻击前隐匿流量的基本方法

[复制链接]

991

主题

1063

帖子

4315

积分

论坛元老

Rank: 8Rank: 8

积分
4315
发表于 2021-4-13 20:36:35 | 显示全部楼层 |阅读模式
原文链接:红队攻击前隐匿流量的基本方法

随着客户对渗透测试质量要求的不断提高,常会需要模拟真实的攻击行为,来检验客户自身的安全应急和溯源能力。
当渗透人员在事中被发现并且被溯源到个人信息,那显然这场测试是防御方完胜。
因此,在渗透测试中,隐藏和匿名是十分重要的。在这就聊聊最简单,也是最基本的流量代理这事情。
在日常的工作使用两跳的节点代理,就能较好的隐藏自己的身份。见过身边的人用以下的方案:
  1. 1. 3389(22)->3389(22) :买两台Windows的VPS进行3389连接,或者连接Linux的22,简单粗暴。
  2. 2. v2ray->3389(22) :一跳换成了v2ray
  3. 3. v2ray->OpenVPN : 分别自己搭建v2ray和openvpn服务。
复制代码

由于需要达成隐藏自身信息的需求,所以常常所有操作都在虚拟机中完成,并且项目结束后虚拟机就立即删除。同理,vps 也是用完就丢,因此采用1或者2的方式,就会导致进行下次任务或者需要更换节点时,需要重新安装相应的软件设备和环境,繁琐。


v2ray+OpenVPN个人常用的是 v2ray+OpenVPN 的方式来实现两条,购买两个 VPS 和一个域名。流量会通过 OpenVPN 的客户端流向 v2ray 服务端,而后 v2ray 将流量转到 OpenVPN 的客户端。对于 v2ray 服务端来说,它只知道访问 OpenVPN 服务器,对于 OpenVPN 来说,仅知道代替 v2ray 服务器去访问目标站点,因此 OpenVPN 是需要直接接触目标站点。大概的网络结构如下:
这种部署方式所有的软件设备和环境都安装在本地的虚拟机,VPS 仅提供流量代理和链路功能。可以对基础虚拟机建立快照,在项目结束后还原成干净的虚拟机即可。当有需求更换链路节点,直接替换节点即可。且在 Windows 和 Linux 下都适用,所有需要 Windows 的操作在本地虚拟机都可以完成,如需要使用 Linux 下的工具也可以在最外层的 OpenVPN 上完成。

v2ray 服务端v2ray 服务端可以选择去自建或者购买机场。自建需要购买 vps 和域名相对来时开销大点,但服务器在自己手上,相对安全,也不怕商家跑路。缺点就是 IP 固定,没了就没了。购买机场的话,就需要和他人共用节点,网速不一定能够得到保障,但 IP 可以切换。
自建服务端
v2ray 自建服务端的方法很简单,购买完 VPS 和域名,设置好免费的 CDN,使用 GitHub 的一键脚本几乎是傻瓜式的操作。这里就不赘述。
https://github.com/233boy/v2ray/wiki/V2Ray%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E8%84%9A%E6%9C%AC
购买服务
已有很多提供 v2ray 服务的商家,自己根据喜好和对商家口碑的判断购买即可。
OpenVPN 服务端
OpenVPN 服务端建议采用 docker 的方式部署,也很方便快捷。具体安装方法在这
https://github.com/kylemanna/docker-openvpn

  1. Quick Start
  2.     Pick a name for the $OVPN_DATA data volume container. It's recommended to use the ovpn-data- prefix to operate seamlessly with the reference systemd service. Users are encourage to replace example with a descriptive name of their choosing.
  3.     OVPN_DATA="ovpn-data-example"
  4.     Initialize the $OVPN_DATA container that will hold the configuration files and certificates. The container will prompt for a passphrase to protect the private key used by the newly generated certificate authority.
  5.     docker volume create --name $OVPN_DATA
  6.     docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COM
  7.     docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpki
  8.     Start OpenVPN server process
  9.     docker run -v $OVPN_DATA:/etc/openvpn -d -p 1194:1194/udp --cap-add=NET_ADMIN kylemanna/openvpn
  10.     Generate a client certificate without a passphrase
  11.     docker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass
  12.     Retrieve the client configuration with embedded certificates
复制代码
复制黏贴上面的命令就能搭建一个 OpenVPN 服务端,可以根据自己的需要做一点调整,比如我是将 UDP 修改成 TCP,1194 端口改成 443 端口。
  1. docker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u tcp://VPN.SERVERNAME.COM
  2. docker run -v $OVPN_DATA:/etc/openvpn -d -p 443:1194/tcp --cap-add=NET_ADMIN kylemanna/openvpn
复制代码

而客户端安装好后,导入服务端生成的证书,把客户端的代理设置指向本机的 v2ray,这样就完成了两跳的流量代理。
断网处理
由于链路有可能存在断网的风险,比如 v2ray 或者 OpenVPN 突然不能用了。此时由于机器没有做断网,那流量就会裸着到达目标。因此断网处理是十分必要的。
断网处理主要流程:
1.将虚拟机的网关修改成任意的,使虚拟机无法正常上网。
  1. 正确网关:192.168.2.1
  2. 错误网关:192.168.2.11
复制代码
2.将 v2ray 的 IP 添加进路由表,允许通过正确的网关访问该 IP。同样的将 DNS 服务器也加入路由
  1. route add 123.123.123.123 mask 255.255.255.255 192.168.2.1
  2. route add 8.8.8.8 mask 255.255.255.255 192.168.2.1
复制代码

3.修改 hosts 文件,将 v2ray 的 IP 和域名进行一个绑定。

如果使用的是购买的 v2ray 服务,那么 hosts 文件就不一定需要修改,但要每隔几分钟刷新 DNS 缓存,解析域名得到 IP,将 IP 加入路由里,避免因为 IP 变动,不在路由里而上不了网。简单将自动添加路由这个过程用代码实现了,通过计划任务十分钟执行一次。

代理流量细分根据上面的设置就可以利用 OpenVPN 将全局流量导入 v2ray 完成两跳代理。在测试工作中,常需要将流量分到不同的代理之中,比如通过隧道进入内网等等。
Windows
在 Windows 下个人常用 proxifier 来细分流量,可以通过自定规则完成进程级别的流量代理。

Linux
Linux 中常用的是总所周知的 proxychains,但用过的人都晓得,用了这个就不能进行代码补全,效率直线降低。 倾旋大佬提出的 Linux 下透明代理的一种方式,值得学习。
https://payloads.online/archivers/2020-11-13/1

个人账号不在测试机器上登录通过两跳的代理基本上流量上是安全的,只要测试的虚拟机中不携带个人信息,统一使用匿名的邮箱,虚假的账号等等。伪装程度再高点,可以虚拟机也装成全英文的,不安装中文软件(比较难),时区设置成国外的。总之,不要携带个人真实身份即可,另外不要在笑话目标使用弱密码的时候,自己也随手设置了 123456 的密码。


















回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-9-21 03:33 , Processed in 0.016065 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

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