diff --git a/CS/EyeWitness/EyeWitness.csproj b/CS/EyeWitness/EyeWitness.csproj index 79292147..9f22aeb4 100755 --- a/CS/EyeWitness/EyeWitness.csproj +++ b/CS/EyeWitness/EyeWitness.csproj @@ -56,17 +56,30 @@ ..\packages\Costura.Fody.4.1.0\lib\net40\Costura.dll + ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll + + ..\packages\System.Buffers.4.5.1\lib\netstandard1.1\System.Buffers.dll + + + ..\packages\System.Memory.4.5.5\lib\netstandard1.1\System.Memory.dll + + + ..\packages\IPNetwork2.2.6.427\lib\net45\System.Net.IPNetwork.dll + + + ..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll + diff --git a/CS/EyeWitness/Program.cs b/CS/EyeWitness/Program.cs index ecdacf31..a68dc465 100755 --- a/CS/EyeWitness/Program.cs +++ b/CS/EyeWitness/Program.cs @@ -41,6 +41,9 @@ public class Options [Option('f', "file", Group = "Input Source", HelpText = "Specify a new-line separated file of URLs", Default = null)] public string File { get; set; } + [Option('i', "cidr", Group = "Input Source", HelpText = "Specify an IP CIDR", Default = null)] + public string IpAddresses { get; set; } + [Option('o', "output", Required = false, HelpText = "Specify an output directory (one will be created if non-existent)", Default = null)] public string Output { get; set; } @@ -508,6 +511,30 @@ static void Main(string[] args) } } + if (o.IpAddresses != null) + { + Console.WriteLine("[+] Using IP addresses"); + + try + { + if (!IPNetwork.TryParse(o.IpAddresses, out var parsed)) + { + Console.WriteLine("[-] ERROR: Failed to parse IP Addresses"); + return; + } + + var ipAddress = parsed.ListIPAddress().Distinct().ToList(); + var strings = new List(); + ipAddress.ForEach(i => strings.Add(i.ToString())); + allUrls = strings.ToArray(); + } + catch (Exception e) + { + Console.WriteLine($"[-] ERROR: {e.Message}"); + return; + } + } + Options.Instance = o; }) .WithNotParsed(errs => DisplayHelp(parserResult)); diff --git a/CS/EyeWitness/app.config b/CS/EyeWitness/app.config index 731e8f26..d5175a21 100755 --- a/CS/EyeWitness/app.config +++ b/CS/EyeWitness/app.config @@ -3,4 +3,12 @@ + + + + + + + + \ No newline at end of file diff --git a/CS/EyeWitness/packages.config b/CS/EyeWitness/packages.config index e7544897..4bc3cef6 100755 --- a/CS/EyeWitness/packages.config +++ b/CS/EyeWitness/packages.config @@ -3,5 +3,9 @@ + + + + \ No newline at end of file