云端部署REMnux:在云中逆向工程恶意软件

本文详细介绍了如何使用Python脚本在亚马逊云上部署REMnux虚拟机,进行恶意软件逆向工程分析。包括环境配置、SSH密钥生成、AWS密钥设置及实例管理步骤,适合安全研究人员快速搭建云端分析环境。

部署REMnux到云端,在云中逆向工程恶意软件

注意: 本博文中引用的技术和工具可能已过时,不适用于当前情况。然而,这篇博文仍可作为学习机会,并可能更新或集成到现代工具和技术中。

REMnux是一个免费的虚拟机镜像,预装了逆向工程恶意软件工具。REMnux由Lenny Zeltser维护,并得到David Westcott的大力帮助,可从https://remnux.org获取。我已从当前版本的镜像创建了一个亚马逊AMI镜像,以便您轻松在云中创建REMnux实例。这是使用我在此处开发的DeployREMnux Python脚本完成的。一旦您将亚马逊账户访问密钥输入配置中,只需一个命令即可完成:

1
python DeployREMnux.py

上述命令的输出将包括通过SSH和RDP访问REMnux实例所需的信息。

连接后,考虑使用其自身的“update-remnux full”命令更新REMnux。或者,如果您希望此步骤作为部署的一部分完成,请在部署时使用更新选项,如下所示:

1
python DeployREMnux.py -u

在安装脚本之前,必须满足以下先决条件。这是一个Python 2.7脚本,因此您必须安装Python 2.7并使用此版本。

步骤1: 安装Apache libcloud库和其他必需的库。(在Windows上,首先安装Microsoft Visual C++ Compiler for Python 2.7):

1
pip install apache-libcloud paramiko pycrypto
  • Pip是随Python附带的Python包管理器。如果尚未安装,您需要安装Python v2.7。在OS X上,您可能需要安装pip。在Windows上,您可以在C:\Python27\Scripts目录中找到pip.exe。

步骤2: 生成SSH密钥对

在OS X和Linux上,可以使用ssh-keygen命令完成,如下例所示:

1
ssh-keygen -t rsa -b 4096

在Windows上,您可能会想使用PuTTYgen工具,但这会导致问题。您需要使用如上所示的ssh-keygen生成密钥。您可以在Linux/OS X上执行此操作并复制密钥,或者例如从Windows上的Git Bash或Windows 10上的Linux子系统执行。您也可以从亚马逊EC2 Web控制台生成SSH密钥。

步骤3: 在此处创建亚马逊账户。按以下方式生成访问密钥。

登录您的EC2控制台:https://console.aws.amazon.com 选择您的名称 -> 安全凭证。 展开“访问密钥” 创建新的访问密钥。 记录访问密钥ID和访问密钥

步骤4: 设置您的配置文件。DeployREMnux脚本旁边提供了一个示例配置文件。将‘DeployREMnux-config.txt.example’重命名为‘DeployREMnux-config.txt’。输入您在步骤3中生成的AWS密钥信息,并提供您的ssh密钥的完整文件路径(在步骤2中生成)。您可以选择配置用于RDP访问实例的密码。如果未指定密码,将生成随机密码。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "AmazonConfig": {
    "aws_access_key_id": "put_your_amazon_access_key_id_here",
    "aws_secret_access_key": "put_your_amazon_access_secret_here ",
    "aws_instance_size": "t2.micro"
  },
  "SshConfig": {
    "private_key_file": "/root/.ssh/id_rsa",
    "public_key_file": "/root/.ssh/id_rsa.pub"
  },
  "RemnuxConfig": {
    "remnux_user_password": ""
  }
}

请注意,如果您为密钥文件提供Windows路径,需要使用正斜杠,如(c:/path/to/key/id_pub)。

最后,配置文件可用于指定部署实例的大小。默认是‘t2.micro’大小,符合免费层级资格。根据需要,有更昂贵的选项可用于提高性能。您的实例将部署到us-east-1区域(即北弗吉尼亚)。

当您使用完REMnux实例后,可以通过在提示符处按“Y”来终止它,或者如果您之前输入了“n”,使用‘python DeployREMnux.py -t ’选项。其中可以从先前命令的输出或亚马逊Web控制台确定。

建议密切关注亚马逊控制台,以确保没有残留资源可能导致意外费用。记得使用区域选择器选择正确的区域(北弗吉尼亚)。如果需要,使用Web界面手动终止实例。

通过远程桌面和SSH享受您在云中的一次性REMnux实例!

*一如既往,我们很高兴再次邀请Carrie作为客座撰稿人!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计