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

本文详细介绍了如何使用Python脚本在亚马逊AWS云平台部署REMnux虚拟机,配置SSH密钥和访问凭证,实现云端恶意软件逆向分析环境的一键搭建和销毁。

部署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 设计