rapid7/metasploitable3

Build Error on MacOS (Intel)

BRC-coder opened this issue · 1 comments

Issue Description

scripts/configs/vagrant-ssh.ps1 and scripts/installs/chocolatey.ps1 throws errors and build of vm falis

Host System

  • OS: MacOS 12.6 (Intel)
  • Packer Version: 1.8.3
  • Vagrant Version: 2.3.1
  • VirtualBox Version: 6.1.40

Command Output

Initiated command: ./build.sh windows2008 (a build of ubuntu1404 on the same platform works perfectly)

... (no errors so far) ...

==> virtualbox-iso: sh: /cygdrive/c/Windows/system32/shutdown: Read-only file system
virtualbox-iso: vagrant-2008R2 restarted.
==> virtualbox-iso: Machine successfully restarted, moving on
==> virtualbox-iso: Pausing 1m0s before the next provisioner...
==> virtualbox-iso: Provisioning with Powershell...
==> virtualbox-iso: Provisioning with powershell script: ./scripts/configs/vagrant-ssh.ps1
==> virtualbox-iso: #< CLIXML
==> virtualbox-iso: Exception setting "SecurityProtocol": "Cannot convert null to type "System.Net.x000D__x000ASecurityProtocolType" due to invalid enumeration values. Specify one of the fol_x000D__x000A_lowing enumeration values and try again. The possible enumeration values are "S_x000D__x000A_sl3, Tls"."x000D__x000AAt line:2 char:35_x000D__x000A_+ [Net.ServicePointManager]:: <<<< SecurityProtocol = [Net.SecurityProto_x000D__x000A_colType]::Tls12; (New-Object System.Net.WebClient).DownloadFile('https://github_x000D__x000A_.com/hashicorp/vagrant/blob/main/keys/vagrant.pub', 'C:\Users\vagrant.ssh\auth_x000D__x000A_orized_keys')x000D__x000A + CategoryInfo : InvalidOperation: (:) [], RuntimeException_x000D__x000A_ + FullyQualifiedErrorId : PropertyAssignmentException_x000D__x000A_ x000D__x000AException calling "DownloadFile" with "2" argument(s): "The underlying connecti_x000D__x000A_on was closed: An unexpected error occurred on a send."x000D__x000AAt line:2 char:135_x000D__x000A_+ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolTyp_x000D__x000A_e]::Tls12; (New-Object System.Net.WebClient).DownloadFile <<<< ('https://github_x000D__x000A_.com/hashicorp/vagrant/blob/main/keys/vagrant.pub', 'C:\Users\vagrant.ssh\auth_x000D__x000A_orized_keys')x000D__x000A + CategoryInfo : NotSpecified: (:) [], MethodInvocationException_x000D__x000A_ + FullyQualifiedErrorId : DotNetMethodException_x000D__x000A_ x000D__x000A
==> virtualbox-iso: Provisioning with powershell script: ./scripts/installs/chocolatey.ps1
==> virtualbox-iso: #< CLIXML
==> virtualbox-iso: Exception setting "SecurityProtocol": "Cannot convert null to type "System.Net.x000D__x000ASecurityProtocolType" due to invalid enumeration values. Specify one of the fol_x000D__x000A_lowing enumeration values and try again. The possible enumeration values are "S_x000D__x000A_sl3, Tls"."x000D__x000AAt line:2 char:35_x000D__x000A_+ [Net.ServicePointManager]:: <<<< SecurityProtocol = [Net.SecurityProto_x000D__x000A_colType]::Tls12; iex ((new-object net.webclient).DownloadString('https://chocol_x000D__x000A_atey.org/install.ps1'))x000D__x000A + CategoryInfo : InvalidOperation: (:) [], RuntimeException_x000D__x000A_ + FullyQualifiedErrorId : PropertyAssignmentException_x000D__x000A_ x000D__x000AException calling "DownloadString" with "1" argument(s): "The underlying connec_x000D__x000A_tion was closed: An unexpected error occurred on a send."x000D__x000AAt line:2 char:135_x000D__x000A_+ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolTyp_x000D__x000A_e]::Tls12; iex ((new-object net.webclient).DownloadString <<<< ('https://chocol_x000D__x000A_atey.org/install.ps1'))x000D__x000A + CategoryInfo : NotSpecified: (:) [], MethodInvocationException_x000D__x000A_ + FullyQualifiedErrorId : DotNetMethodException_x000D__x000A_ x000D__x000A
==> virtualbox-iso: Restarting Machine
==> virtualbox-iso: Waiting for machine to restart...
==> virtualbox-iso: A system shutdown is in progress.(1115)
==> virtualbox-iso: The interface is unknown.(1717)
==> virtualbox-iso: The interface is unknown.(1717)
==> virtualbox-iso: The interface is unknown.(1717)
==> virtualbox-iso: The interface is unknown.(1717)
==> virtualbox-iso: The interface is unknown.(1717)
==> virtualbox-iso: The interface is unknown.(1717)
virtualbox-iso: vagrant-2008R2 restarted.
==> virtualbox-iso: Machine successfully restarted, moving on
==> virtualbox-iso: Provisioning with Powershell...
==> virtualbox-iso: Provisioning with powershell script: /Users/brc/metasploitable3/packer/templates/../../scripts/installs/setup_iis.bat

... finally the build fails and is rolled back...

These errors show up in every case (even after correcting some download links):

diff --git a/scripts/configs/vagrant-ssh.ps1 b/scripts/configs/vagrant-ssh.ps1
index c68db7c..8553328 100644
--- a/scripts/configs/vagrant-ssh.ps1
+++ b/scripts/configs/vagrant-ssh.ps1
@@ -48,9 +48,9 @@ $isWin2012 = wmic os get caption | find /i '" 2012 "'

skip wrapping for 8 or 2012?

if ($isWin8 -or $isWin2012){

  •   [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (New-Object System.Net.WebClient).DownloadFile('https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub', 'C:\Users\vagrant\.ssh\authorized_keys')
    
  •   [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; (New-Object System.Net.WebClient).DownloadFile('https://github.com/hashicorp/vagrant/blob/main/keys/vagrant.pub', 'C:\Users\vagrant\.ssh\authorized_keys')
    
    }
    }

The error description contained in the XML structure is no help to me. Perhaps someone has an idea...

This looks to be a duplicate of #575, a fix just landed please update the retest this.

If the issue persists please reopen here.