Module: Msf::Exploit::Local::Saltstack

Defined in:
lib/msf/core/exploit/local/saltstack.rb

Instance Method Summary collapse

Instance Method Details

#list_minions(salt_key_exe = 'salt-key') ⇒ YAML

lists minions using the salt-key command.

Parameters:

  • salt_key_exe (String) (defaults to: 'salt-key')

    The name location of the salt-key executable

Returns:

  • (YAML)

    YAML document with the minions listed



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/msf/core/exploit/local/saltstack.rb', line 11

def list_minions(salt_key_exe = 'salt-key')
  # pull minions from a master, returns hash of lists of the output
  print_status('Attempting to list minions')
  unless command_exists?(salt_key_exe)
    print_error('salt-key not present on system')
    return
  end

  begin
    out = cmd_exec(salt_key_exe, '-L --output=yaml', datastore['TIMEOUT'])
    vprint_status(out)
    minions = YAML.safe_load(out)
  rescue Psych::SyntaxError
    print_error('Unable to load salt-key -L data')
    return
  end

  store_path = store_loot('saltstack_minions', 'application/x-yaml', session, minions.to_yaml, 'minions.yaml', 'SaltStack Salt salt-key list')
  print_good("#{peer} - minion file successfully retrieved and saved to #{store_path}")
  minions
end