예제 #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Neko \r\n", Console.ForegroundColor = ConsoleColor.Green);
            Console.ResetColor();
            Console.Write(@"                      _                        
                      \`*-.
                       )  _`-.
                      .  : `. .                
                      : _   '  \               
                      ; *` _.   `*-._
                      `-.- '          `-.       
                        ;       `       `.     
                        :.       .        \    
                        . \  .   :   .-'   .   
                        '  `+.;  ;  '      :   
                        :  '  |    ;       ;-. 
                        ; '   : :`-:     _.`* ;
                      .* ' /  .*'; .*`-+'  `*'
                     `*-*   `*-*  `*-*'    ");
            Console.WriteLine("\r\n\r\nThis is a tool designed for various pen-testing activities on the local machine and remote machines if Active Directory components are selected.",
                              Console.ForegroundColor = ConsoleColor.Magenta);
            Console.ResetColor();

            bool infoConfirmed = false;

            // Attempt to get domain information
            GetDomainInfo.DomainAuthentication();

            while (infoConfirmed == false)
            {
                Console.WriteLine("\r\nWill you be using any Active Directory components, such as LDAP recon, remote registry, or lateral movement via WMI? \r\n\r\nEnter 'y' or 'n':");
                string adCheck = Console.ReadLine();
                while (adCheck != "y" && adCheck != "n")
                {
                    Console.WriteLine("\r\nInvalid selection. Enter 'y' or 'n':");
                    adCheck = Console.ReadLine();
                }

                // Check if authentication to AD is required
                if (adCheck == "y")
                {
                    if (DomainAuthentication.Authenticate() == true)
                    {
                        break;
                    }
                }
                else if (adCheck == "n")
                {
                    // Information verified proceeding to next step.
                    infoConfirmed = true;
                }
            }

            // Get attack type
            AttackType.Selection();

            bool done = false;

            while (!done)
            {
                // See if user wants to go back to main menu or exit
                Console.WriteLine("\r\n" +
                                  "Enter 'm' for Main Menu or 'e' for exit:");
                string mainMenu = Console.ReadLine();
                while (mainMenu != "m" && mainMenu != "e")
                {
                    Console.WriteLine("Invalid selection. Enter 'm' for Main Menu or 'e' for exit:");
                    mainMenu = Console.ReadLine();
                }
                if (mainMenu == "e")
                {
                    done = true;
                }
                // Send user back to main menu
                if (mainMenu == "m")
                {
                    // Clear console
                    Console.Clear();
                    // Reset attack type
                    AttackType.attackType = null;

                    // Get attack type again
                    AttackType.Selection();
                }
            }
        }