生成一个 .onion 域名并上线洋葱网络(Dark Web)
生成一个 .onion 域名并上线洋葱网络(Dark Web)
lololowe在渗透测试中,Tor(The Onion Router)是一个非常有用的工具,它可以帮助自己隐藏真实 IP 地址和位置,避免被发现或追踪。比如可以将 Nmap 的流量路由通过 Tor 网络,实现隐藏扫描的来源 IP 地址,Hydra 结合 Tor 使用可以实现匿名的密码爆破攻击,等等。
最近突发好奇心想知道如何获取 .onion 域名并把网站部署在 Tor 网络(暗网)中,于是去看了下相关文档,下面是总结的过程。
1. 安装 Tor
注意这里不是安装 Tor 浏览器。
- 添加软件源
1 | # Ubuntu 20.04 |
红帽系的 Linux 发行版添加 Tor 软件源的方式请参看官方说明:https://support.torproject.org/rpm/
- 安装 Tor
1 | sudo apt update |
2. 配置 Tor
1 | sudo sh -c 'cat >> /etc/tor/torrc << EOF |
注意:HiddenServicePort 80 127.0.0.1:8080
中的 80 端口是 Tor 服务在 Tor 网络中对外暴露的虚拟端口,而不是本地机器的物理端口,因此无需放行此端口也无需担心端口冲突。同时,Tor 服务也不需要配置 SSL 证书,因为 Tor 网络本身就提供了端到端的加密和匿名性。
当有人访问 Tor 服务时,Tor 会将这个请求从 Tor 网络中的 80 端口转发到本地机器的 8080 端口,因此还需要另外配置 Web 服务器使其监听在 8080 端口来处理 Tor 服务转发过来的请求。
3. 配置 Nginx
1 | # 添加 server 块 |
4. 测试
服务准备就绪后,需要访问下 Tor 站点来查看服务是否生效。
在此之前还需要查看下 Tor 自动生成的随机 .onion 域名:
1 | root@ubuntu:~# cat /var/lib/tor/my_website/hostname |
将域名复制,用 Tor 浏览器打开:
成功访问。接下来可以换掉 Tor 自动生成的随机 .onion 域名,自行生成一个带有标识的 .onion 域名。
5. 生成 .onion 域名
在生成 .onion 域名之前,需要知道一些基本概念:生成特定的 .onion 需要消耗大量的计算资源和时间,原因在于生成的过程是在尝试所有可能的公钥,直到找到一个可以生成自己想要的 .onion 域名的公钥,类似于暴力破解,因此自定义的词根越长,耗时就越久。如果只需要一个能够在 Tor 网络上提供服务的 .onion 域名,那么直接用 Tor 自动生成的 .onion 域名就已经足够了;Tor 域名有 V2 和 V3 两个版本,前者包含 16 个字符,由于安全性问题已被历史淘汰,后者包含 56 个字符,提供了更好的安全性和隐私性。下面演示使用 mkp224o 来生成 V3 版本的 .onion 域名。
1 | git clone git@github.com:cathugger/mkp224o.git # 克隆仓库 |
可以看到生成的域名为 mkbk34zveor7yb3yhddlfq4wxju5kw74yggiypnpnuh3pdodlugrjnyd.onion
接下来需要修改 Tor 配置文件,使新域名生效:
1 | sed -i 's#/var/lib/tor/my_website/#/var/lib/tor/mkbk34zveor7yb3yhddlfq4wxju5kw74yggiypnpnuh3pdodlugrjnyd.onion/#' /etc/tor/torrc |
上面的命令会把 HiddenServiceDir 原来的 /var/lib/tor/my_website/ 目录改成新的 /var/lib/tor/mkbk34zveor7yb3yhddlfq4wxju5kw74yggiypnpnuh3pdodlugrjnyd.onion 目录,同时修改目录所有者为 debian-tor。
接下来再重启 Tor 服务,即可使用新域名访问洋葱站点了:
1 | sudo systemctl restart tor # 重启 Tor 服务 |
还有一个常见的误区,.onion 站点并不是只有 Tor 浏览器才能访问,Tor 浏览器只是捆绑了 FireFox 浏览器以及一些高隐私性的配置,核心还是 Tor,因此只要通过 Tor 核心的 9150 端口的 Socks5 代理接入 Tor 网络,任何浏览器都能访问(暗网)。比如 Chrome 浏览器可以通过 SwitchyOmega 扩展修改代理为 127.0.0.1:9150 来访问 .onion 站点:
6. 添加洋葱头
给HTTP首部添加洋葱头,使Tor浏览器优先访问.onion域名:https://community.torproject.org/onion-services/advanced/onion-location/
6. 参考
How to install Tor,Tor Project
Set up Your Onion Service,Tor Project
mkp224o - vanity address generator for ed25519 onion services,cathugger