{ "_comment": "MISP VM Autogen packer build system", "builders": [ { "boot_command": [ "{{ user `boot_command_prefix` }}", "autoinstall ds=nocloud-net;s=http://{{ .HTTPIP }}:{{ .HTTPPort }}/", "" ], "disk_size": "{{ user `disk_size` }}", "export_opts": [ "--manifest", "--vsys", "0", "--eulafile", "/tmp/LICENSE-misp", "--description", "{{ user `vm_description` }}", "--version", "{{ user `vm_version` }}" ], "format": "ova", "guest_additions_path": "VBoxGuestAdditions_{{.Version}}.iso", "guest_os_type": "Ubuntu_64", "hard_drive_interface": "sata", "headless": "{{ user `headless` }}", "http_directory": "http", "http_port_max": 9011, "http_port_min": 9001, "iso_checksum": "{{ user `iso_checksum` }}", "iso_checksum_type": "{{ user `iso_checksum_type` }}", "iso_urls": [ "{{ user `iso_path` }}/{{ user `iso_name` }}", "{{ user `iso_url` }}" ], "shutdown_command": "echo {{ user `ssh_pass` }} | sudo -S shutdown -P now", "ssh_password": "{{ user `ssh_pass` }}", "ssh_pty": "true", "ssh_timeout": "20m", "ssh_username": "{{ user `ssh_user` }}", "type": "virtualbox-iso", "vboxmanage": [ [ "modifyvm", "{{.Name}}", "--memory", "{{user `memory`}}" ], [ "modifyvm", "{{.Name}}", "--natpf1", "ssh,tcp,,2222,0.0.0.0,22" ], [ "modifyvm", "{{.Name}}", "--natpf1", "http,tcp,,8080,,80" ], [ "modifyvm", "{{.Name}}", "--natpf1", "https,tcp,,8443,,443" ], [ "modifyvm", "{{.Name}}", "--natpf1", "dashboard,tcp,,8001,0.0.0.0,8001" ], [ "modifyvm", "{{.Name}}", "--natpf1", "viper,tcp,,8888,0.0.0.0,8888" ], [ "modifyvm", "{{.Name}}", "--natpf1", "jupyter-notebook,tcp,,8889,0.0.0.0,8889" ], [ "modifyvm", "{{.Name}}", "--natpf1", "misp-modules,tcp,,1666,0.0.0.0,6666" ], [ "modifyvm", "{{.Name}}", "--audio", "none" ], [ "modifyvm", "{{.Name}}", "--graphicscontroller", "vmsvga" ], [ "modifyvm", "{{.Name}}", "--usb", "off" ], [ "modifyvm", "{{.Name}}", "--vrde", "off" ], [ "modifyvm", "{{.Name}}", "--cpus", "{{user `cpus`}}" ], [ "modifyvm", "{{.Name}}", "--vram", "32" ] ], "vm_name": "{{user `vm_name`}}" }, { "boot_command": [ "{{ user `boot_command_prefix` }}", "autoinstall ds=nocloud-net;s=http://{{ .HTTPIP }}:{{ .HTTPPort }}/", "" ], "boot_wait": "5s", "disk_size": "{{ user `disk_size` }}", "guest_os_type": "ubuntu-64", "headless": "{{ user `headless` }}", "http_directory": "http", "http_port_min": 9001, "http_port_max": 9011, "iso_checksum": "{{ user `iso_checksum` }}", "iso_checksum_type": "{{ user `iso_checksum_type` }}", "iso_urls": [ "{{ user `iso_path` }}/{{ user `iso_name` }}", "{{ user `iso_url` }}" ], "memory": "{{ user `memory` }}", "shutdown_command": "echo {{user `ssh_pass`}} |sudo -S shutdown -P now", "skip_compaction": false, "ssh_pty": "true", "ssh_timeout": "30m", "ssh_handshake_attempts": "90", "ssh_username": "{{user `ssh_user`}}", "ssh_password": "{{user `ssh_pass`}}", "type": "vmware-iso", "vm_name": "{{ user `vm_name` }}" } ], "provisioners": [ { "environment_vars": [ "DESKTOP={{user `desktop`}}", "UPDATE={{user `update`}}", "http_proxy={{user `http_proxy`}}", "https_proxy={{user `https_proxy`}}", "no_proxy={{user `no_proxy`}}" ], "execute_command": "echo '{{user `ssh_pass`}}' | {{ .Vars }} sudo -E -S sh '{{ .Path }}'", "inline": [ "echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers" ], "type": "shell" }, { "execute_command": "echo '{{user `ssh_pass`}}' | {{ .Vars }} sudo -E -S sh '{{ .Path }}'", "script": "scripts/extend.sh", "type": "shell" }, { "execute_command": "echo '{{user `ssh_pass`}}' | {{ .Vars }} sudo -E -S sh '{{ .Path }}'", "script": "scripts/users.sh", "type": "shell" }, { "destination": "/tmp/INSTALL.sh", "source": "scripts/INSTALL.sh", "type": "file" }, { "environment_vars": [ "PACKER=1", "DEBIAN_FRONTEND=noninteractive" ], "execute_command": "echo '{{user `ssh_pass`}}' | {{ .Vars }} sudo -u {{user `ssh_user`}} -E -S bash '{{ .Path }}'", "inline": [ "chmod u+x /tmp/INSTALL.sh", "/tmp/INSTALL.sh -A -u" ], "pause_before": "10s", "type": "shell" }, { "destination": "/tmp/crontab", "source": "conffiles/crontab", "type": "file" }, { "destination": "/tmp/issue", "source": "conffiles/issue", "type": "file" }, { "execute_command": "echo '{{user `ssh_pass`}}' | {{ .Vars }} sudo -E -S sh '{{ .Path }}'", "expect_disconnect": "true", "pause_after": "30s", "pause_before": "10s", "script": "scripts/clean.sh", "type": "shell" } ], "variables": { "boot_command_prefix": " ", "cpus": "1", "desktop": "false", "disk_size": "25000", "headless": "true", "hostname": "misp", "http_proxy": "{{env `http_proxy`}}", "https_proxy": "{{env `https_proxy`}}", "iso_checksum": "302c990c6d69575ff24c96566e5c7e26bf36908abb0cd546e22687c46fb07bf8dba595bf77a9d4fd9ab63e75c0437c133f35462fd41ea77f6f616140cd0e5e6a", "iso_checksum_type": "sha512", "iso_name": "ubuntu-20.04.1-live-server-amd64.iso", "iso_path": "iso", "iso_url": "https://releases.ubuntu.com/20.04/ubuntu-20.04.1-live-server-amd64.iso", "memory": "3072", "no_proxy": "{{env `no_proxy`}}", "ovftool_path": "ovftool", "ssh_fullname": "MISP User", "ssh_user": "misp", "ssh_pass": "Password1234", "update": "true", "vm_description": "MISP, is an open source software solution for collecting, storing, distributing and sharing cyber security indicators and threat about cyber security incidents analysis and malware analysis. MISP is designed by and for incident analysts, security and ICT professionals or malware reverser to support their day-to-day operations to share structured informations efficiently.", "vm_name": "MISP_demo", "vm_version": "2.4" } }