在 VirtualBox 中隔离恶意软件并模拟虚假响应

在 VirtualBox 中隔离恶意软件并模拟虚假响应

我有一些想要研究的恶意软件,拦截它的“电话回家”连接,嗅探它试图连接的位置和方式,然后以某种方式假装我是他正在连接的主机,答复并从而尝试了解它的“协议”。

我认为 VirtualBox 将是解决方案的一部分。但我还注意到,我需要采取特别的预防措施,以便我的LAN 不会暴露

我的问题是:

  • 如何配置 VirtualBox 客户机,使其无法以任何方式访问我的 PC(主机)文件或 LAN?根据我之前的问题,我认为我需要禁用客户机中的网络。但是然后...

  • 我如何(在主机或客户机上)嗅探他试图建立的所有连接?主机名、IP、端口、内容等?安装 Wireshark 了吗?在哪里,在主机还是客户机上?如何安装?

  • 一旦我知道了 IP/主机名,我该如何(再次,无论是在客户机还是主机)向恶意软件假装我是该主机名并回复其连接,与其通信?安装 Apache 并使用 cgi/php 脚本等?在哪里以及如何操作?

我知道这是一个复杂的问题,因此简化一下:我真正需要的是大纲解决方案,战略满足目标的工具列表、工具的适用性以及工具如何工作的一般描述。

例如:“将 VirtualBox 网络设置为 xxx 模式,在客户机上安装 wireshark 进行嗅探,进行编辑,/etc/yyyy以便所有连接都重定向到守护进程 zzz,后者将依次调用您的脚本,以便您可以回复恶意软件”

有用信息:

  • 主机是Ubuntu 12.04
  • 恶意软件是 Java jar,因此 guest 可以是任何东西
  • 大多数连接都是普通的 HTTP/HTTPS 请求(但可能还有更多我不知道的)

答案1

.class我认为反编译压缩包中的文件并检查源代码会更容易.jar。或者直接使用 javap 检查字节码。如果您需要检查 jar 中的本机库,则不适用此方法。

回答您的问题:将虚拟机的网络模式设置为内部网络,并让它与另一个虚拟机共享内部网络,该虚拟机要么具有 Squid 并充当代理的角色,要么具有 Apache/nc 并假装是远程机器。

如果您想要访问互联网,请在代理上安装 2 个网络控制器:一个在内部网络上,另一个作为桥接或 NAT。但您会再次遇到该问题,网络模式不会区分您的 LAN 和互联网的其余部分。

要监控连接,您可以使用netstat,也可能与结合使用watch

要嗅探数据包,您可以在代理上使用 Wireshark。

要伪造低级连接,请查看 netcat ( nc)。要伪造 HTTP 连接,请在代理上设置静态 IP,或更改受感染的 VM/etc/hosts以将连接重定向到代理 IP。

编辑:为了模拟连接和服务,有一个名为网络模拟,可从以 Bionic 开头的 Ubuntu 存储库获取(https://packages.ubuntu.com/search?keywords=inetsim)。

相关内容