Try it using Invoke-Atomic

Remote Services: SSH

Description from ATT&CK

Adversaries may use Valid Accounts to log into remote machines using Secure Shell (SSH). The adversary may then perform actions as the logged-on user.

SSH is a protocol that allows authorized users to open remote shells on other computers. Many Linux and macOS versions come with SSH installed by default, although typically disabled until the user enables it. The SSH server can be configured to use standard password authentication or public-private keypairs in lieu of or in addition to a password. In this authentication scenario, the user’s public key must be in a special file on the computer running the server that lists which keypairs are allowed to login as that user.

Atomic Tests

Atomic Test #1 - ESXi - Enable SSH via PowerCLI

An adversary enables the SSH service on a ESXi host to maintain persistent access to the host and to carryout subsequent operations.

Supported Platforms: linux

auto_generated_guid: 8f6c14d1-f13d-4616-b7fc-98cc69fe56ec

Inputs:

Name Description Type Default Value
vm_host Specify the host name of the ESXi Server string atomic.local
vm_user Specify the privilege user account on ESXi Server string root
vm_pass Specify the privilege user password on ESXi Server string pass

Attack Commands: Run with powershell! Elevation Required (e.g. root or admin)

1
2
3
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false 
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Start-VMHostService -Confirm:$false

Cleanup Commands:

1
2
3
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -ParticipateInCEIP:$false -Confirm:$false 
Connect-VIServer -Server #{vm_host} -User #{vm_user} -Password #{vm_pass}
Get-VMHostService -VMHost #{vm_host} | Where-Object {$_.Key -eq "TSM-SSH" } | Stop-VMHostService -Confirm:$false

Dependencies: Run with powershell!

Description: Check if VMWARE PowerCLI PowerShell Module is installed.

Check Prereq Commands:

1
2
$RequiredModule = Get-Module -Name VMware.PowerCLI -ListAvailable
if (-not $RequiredModule) {exit 1}

Get Prereq Commands:

1
Install-Module -Name VMware.PowerCLI

source