云端部署REMnux:在云中逆向分析恶意软件

本文详细介绍了如何使用Python脚本在AWS云平台部署REMnux恶意软件分析环境,包括SSH密钥生成、AWS访问密钥配置、实例部署步骤及终止方法,适合安全研究人员快速创建可丢弃的分析环境。

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

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

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

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子系统中完成。您也可以从Amazon EC2 Web控制台生成SSH密钥。

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

登录您的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’大小,符合免费 tier资格。可根据需要选择更昂贵的选项以提高性能。您的实例将部署到us-east-1区域(即北弗吉尼亚)。

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

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

通过远程桌面和SSH享受您在云中的可丢弃REMnux实例!

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

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