Пример #1
0
        public static void DisplaySSNs(List <string> foundStrings)
        {
            List <Match> foundSSNs = FAStrings.ParsePhoneNumbers(foundStrings);

            Console.WriteLine("\n\n++++++++Found Social Security Numbers++++++++");
            foreach (var s in foundSSNs)
            {
                Console.WriteLine("\t" + s.Value);
            }
            if (foundSSNs.Count == 0)
            {
                Console.WriteLine("\tNo SSNs found.");
            }
        }
Пример #2
0
        public static void DisplayErrors(List <string> foundStrings)
        {
            List <Match> foundErrors = FAStrings.ParseErrors(foundStrings);

            Console.WriteLine("\n\n++++++++Found Error Strings++++++++");
            foreach (var s in foundErrors)
            {
                Console.WriteLine("\t" + s.Value);
            }
            if (foundErrors.Count == 0)
            {
                Console.WriteLine("\tNo Error strings found.");
            }
        }
Пример #3
0
        public static void DisplayWebsites(List <string> foundStrings)
        {
            List <Match> foundWebsites = FAStrings.ParseWebsites(foundStrings);

            Console.WriteLine("\n\n++++++++Found Websites++++++++");
            foreach (var s in foundWebsites)
            {
                Console.WriteLine("\t" + s.Value);
            }
            if (foundWebsites.Count == 0)
            {
                Console.WriteLine("\tNo websites found.");
            }
        }
Пример #4
0
        public static void DisplayEmails(List <string> foundStrings)
        {
            List <Match> foundEmails = FAStrings.ParseEmails(foundStrings);

            Console.WriteLine("\n\n++++++++Found Email Addresses++++++++");
            foreach (var s in foundEmails)
            {
                Console.WriteLine("\t" + s.Value);
            }
            if (foundEmails.Count == 0)
            {
                Console.WriteLine("\tNo email addresses found.");
            }
        }
Пример #5
0
        //todo maybe refactor this into a display method with a title parameter and not found string
        public static void DisplayIPv4s(List <string> foundStrings)
        {
            List <Match> foundIPs = FAStrings.ParseIPv4(foundStrings);

            Console.WriteLine("\n\n++++++++Found IPs++++++++");
            foreach (var s in foundIPs)
            {
                //Console.WriteLine("\t" + s.Value);
                Console.WriteLine(PythonScript.GeoipCheck(s.Value));
            }
            if (foundIPs.Count == 0)
            {
                Console.WriteLine("\tNo IPv4 addresses found.");
            }
        }
Пример #6
0
        /// <summary>
        /// Main handles for scanning a file. Takes in the configurations bools to handle what to execute on file.
        /// </summary>
        /// <param name="filename">file name</param>
        /// <param name="yaraScan">yara scan file</param>
        /// <param name="stringSearch">search for strings</param>
        /// <param name="guessFile">attempt to identify file</param>
        /// <param name="pii">search for pii</param>
        public static void ScanFile(string filename, bool yaraScan, bool stringSearch, bool guessFile, bool pii)
        {
            if (File.Exists(filename))
            {
                FileInfo fInfo = new FileInfo(filename);
                FAFileInfo.PrintFileInfo(fInfo);
                FAFileInfo.DisplayHashes(filename);

                if (guessFile)
                {
                    GuessFileFormat.Guess(filename);
                }

                List <string> foundStrings = new List <string>();

                if (stringSearch)
                {
                    FAStrings.GetStrings(filename, STRING_THRESHOLD, ref foundStrings);
                    FAStrings.DisplayDLLs(foundStrings);
                    FAStrings.DisplayIPv4s(foundStrings);
                    FAStrings.DisplayWebsites(foundStrings);
                    FAStrings.DisplayErrors(foundStrings);
                }
                if (pii)
                {
                    if (foundStrings.Count == 0)
                    {
                        FAStrings.GetStrings(filename, STRING_THRESHOLD, ref foundStrings);
                    }
                    FAStrings.DisplayPhoneNumbers(foundStrings);
                    FAStrings.DisplaySSNs(foundStrings);
                    FAStrings.DisplayEmails(foundStrings);
                }
                if (yaraScan)
                {
                    string s = PythonScript.YaraScan(filename);
                    Console.WriteLine(s);
                }
            }
            else
            {
                throw new FileNotFoundException("Please enter a filename with the correct/full path.");
            }
        }