为什么会有此文:
原因一:保护个人隐私是是第一出发点;科技进步飞快,网络也渗透入生活中的方方面面,近几年的隐私泄露事故时有发生,我们该如何保护个人隐私?
原因二:得到了大佬的帮助和指点,希望把对我的指点内容记录一下,也能为其他人提供一点点帮助!
本文转自freebuf的ddq,其整理
归纳了几种有效的隐藏源IP提高溯源难度的几种方案,篇幅略长,但内容很全及其实用!
原地址:https://www.freebuf.com/sectool/270669.html
本文目标读者是对网络攻防技术、网络安全技术感兴趣的相关读者,可以将本篇文章作为一个思路上的启发科普文章。
切记遵纪守法,交流技术!网络不是法外之地
测试方式:
通过CS4.2生成测试程序,测试回连C2服务器时能否达到隐藏服务器的IP
公网服务器真实IP:1.2.3.4
Cobalt Strike版本:4.2
所有需要注册帐号的步骤,都建议使用自己安全的邮箱!
一、使用隧道转发进行代理
一句话核心原理:
利用内网穿透,将C2回连端口映射到其他公网地址64.x.x.x,以达到测试程序通过其他公网地址进行回连,隐藏C2真实ip;
方案分析:
适合用户:
这种隐藏ip的方案适合于没有公网服务器,使用自己本地电脑进行测试的用户;或者有公网服务器,通过本方案隐藏服务器真实ip的用户;
优点
:
免费使用他人提供的隧道服务,可以快速的用来测试,0成本;
缺点:
使用了他人提供的隧道服务(增加了风险);且注册账号时还需要完成微信绑定(增加了风险);国内平台(增加了风险);
使用流程:
1.打开网站
https://www.ngrok.cc/ 注册ngrok账号
2.登录后配置ngrok代理
2.1 购买一个免费通道
2.2 配置通道
隧道类型分为http、https、tcp
我们本次测试tcp通道,http、https各位有兴趣的自己尝试;
因为映射到公网的远程端口有限,所以我们需要多次查询可用的远程端口
例如:查询到10001端口可用,那就选择tcp端口映射 公网服务器的10001端口本地127.0.0.1:8080端口
最终配置如下,其中隧道ID就是我们后面要用到的;
隧道域名就是对外部公网提供访问时的公网域名;
3.穿透工具使用说明
https://www.ngrok.cc/_book/
3.1下载可执行程序
https://www.ngrok.cc/download.html
3.2运行隧道穿透
#./sunny clientid 45e3634aAAAAAAAAAA #隧道id
运行成功后,所有访问 xxx.xxxxxgye.com:10001 会和本地8080端口打通透明传输;
4.配置listener
5.生成payload,运行测试
5.1运行payload,主机可以成功上线;
5.2查看本地回接C2服务器的ip地址为 xxx.xxxxxgye.com:10001(67.x.x.x:1001);
而不是我们自己服务器的真实ip!
上面的64.X.X.X就是ngrok的公网ip
搞定!
二、使用CDN
一句话核心原理:使用CDN内容分发网络的多节点分布式技术,通过“加速、代理、缓存”隐藏在后面的静态文件或服务;
最终实现对外暴露的是CDN多节点的公网域名IP,很难甚至无法溯源真实后端服务器的域名或IP!
方案分析:
适合用户:
这种隐藏ip的方案适合于有公网服务器,通过本方案CDN进行“加速、代理、缓存”实现隐藏服务器真实ip或域名的用户;
使用国内CDN服务商的产品的域名必须完成ICP实名备案;
优点:
利用CDN分布式技术,不同区域的主机就近连接到CDN服务,优化了访问质量,隐藏了真实服务器的ip;
且CDN分布式技术可以在一定程度抵抗DDOS大流量攻击;
使用国内CDN适合用于做红蓝对抗技术比拼等合法目的;
缺点:
受控主机还是通过我们自己的域名进行回连,对外还是能看到连接域名;
且如果使用国内CDN的服务(增加了风险),域名就必须完成ICP备案(增加了风险);
而且还有一些方法可能溯源到真实IP(请一定要按照下面的参考文章1、2,进行子查一下!);
使用流程:
(匿名注册新域名且无需备案+使用国外免费CDN服务)
1.匿名注册新域名:
https://www.freenom.com/zh/index.html?lang=zh
1.1 完成账号注册登录(注册可以先不做,继续选域名后面会有一步骤让我们注册账号);
1.2搜索域名:
小坑提醒:
这里有一个坑,搜索 wikisoft,会显示所有域名不可用;
但是搜索 wikisoft.tk 就可以;
所以一定要搜索域名全称!
1.3下单确认:
如果之前没有注册过域名,点击 “继续”按钮,会让我们进行注册账号,或者验证邮箱;然后进行登录再进行选购域名;
(这里如果注册失败,可以用gmail注册。)
1.4 配置域名的NameServer域名解析服务
(这样做,后面再解释为什么;现在不修改,默认配置,也可以后面再修改)
1.4.1进入我的域名:
1.4.2选择域名管理:
1.4.3选择域名解析服务进行修改
ASPEN.NS.CLOUDFLARE.COM COLEMAN.NS.CLOUDFLARE.COM
匿名域名注册及配置完毕!
2.匿名注册免费CDN服务Cloudflare
2.1登录注册账号https://www.cloudflare.com/zh-cn/
2.2配置域名使用CDN
2.2.1添加站点
2.2.3选择免费计划
2.2.4直接配置使用CDN代理模式进行域名解析提供服务
上面1.4,配置NameServer更换解析服务器的原因就是将wikisoft.tk域名的所有解析功能都托管在Cloudflare,这样Cloudflare可以提供CDN的解析功能!
2.2.5 自动配置全部选择关闭
2.2.6配置SSL/TLS加密方式
(默认不加密,有兴趣的自己尝试其他加密的区别)
注意:
Cloudflare的CDNhttp、https代理模式有个特点,如果用其他端口的话,是监听不到的!
因为我是使用的国内云主机,且zh.wikisoft.tk没有进行备案,所以没有办法使用80、8080、443、8443端口提供服务;
所以我真实云主机的回连端口使用的是
http--2095
!
如果你用的是国外云主机,那就直接用
80
!
Cloudflare支持的HTTP端口是:80,8080,8880,2052,2082,2086,2095 Cloudflare支持的HTTPs端口是:443,2053,2083,2087,2096,8443
到此域名+CDN全部搞定!开始测试!
3.配置listener
HTTP Host Header,必须填写你的域名!
这是CDN技术的原理要求;
在下面的“域名前置方”案中我们再解释
4.生成payload,运行测试