我尝试使用 PolarProxy 解密恶意软件的流量并将流量转发到虚假服务器。我遵循 PolarProxy + INetSim 教程。我在 Ubuntu VM 上使用 PolarProxy,在 Windows VM 上使用带有 TLS 的应用程序。https: //www.netresec.com/ ?page=Blog&month=2019-12&post=Installing-a-Fake-Internet-with-INetSim-and-PolarProxy
从教程中,对于具有 PolarProxy 的虚拟机,我使用以下命令:
$ sudo iptables -t nat -A PREROUTING -i <Ex. enp0s8> -p tcp --dport 443 -j REDIRECT --to 10443
$ sudo ./PolarProxy_1-0-0_linux-x64/PolarProxy -v -p 10443,80,80 -x polarproxy.cer --certhttp 10080 --pcapoverip 57012 -o . --terminate --connect <IP for Fakenet VM> --nosni nosni.polarproxy
然后,在受害者机器上使用如下命令,PolarProxy 即可解密流量并将其发送到 fakenet VM 并正常工作。
$ curl.exe --insecure --resolve hello.com:443:<IP for PolarProxy VM> https://hello.com
但是,我意识到 PolarProxy 通过检查 SNI 字段来找出要重定向流量的服务器。因此,当受害机器直接与 IP 通信而不指定服务器名称时,它会给出如下命令的错误:
$ curl.exe --insecure https://<IP for PolarProxy VM>
错误示例:
<4>[10443] Transparent TLS proxy System.IO.IOException (0x80131620) : Cannot determine the frame size or a corrupted frame was received.
<4>[10443] Transparent TLS proxy Socket error code HostNotFound System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (0x00000005) : Name or service not known
所以我想知道是否有工具/方法可以绕过不使用 DNS/服务器名称并直接使用指定 IP 进行通信的应用程序的这个问题?想知道是否有办法让 PolarProxy 将所有解密和固定的流量转发到指定的 IP。
不知道我是否需要可以添加 SNI 之类的工具。(此外,对于 VMware 上的 Windows 受害机器,直接修改 PolarProxy VM 的默认网关会导致一些网络问题,因此这对我来说似乎不是一个解决方案。)
谢谢!