コード例 #1
0
ファイル: Program.cs プロジェクト: mando91/desappnet
        static void Main(string[] args)
        {
            Console.WriteLine();
            Vulnerabilidad vulnerabilidad1;
            Vulnerabilidad vulnerabilidad2;
            Vulnerabilidad vulnerabilidad3;
            Vulnerabilidad vulnerabilidad4;
            Vulnerabilidad vulnerabilidad5;
            Vulnerabilidad vulnerabilidad6;

            Nodo nodo1;
            Nodo nodo2;
            Nodo nodo3;
            Nodo nodo4;

            Red red;

            vulnerabilidad1 = new Vulnerabilidad("CVE-2015-1635", "microsoft", "HTTP.sys permite a atacantes remotos ejecutar código arbitrario",
                                                 "remota", "04/14/2015");
            vulnerabilidad2 = new Vulnerabilidad("CVE-2017-0004", "microsoft", "El servicio LSASS permite causar una denegación de servicio",
                                                 "local", "01/10/2018");
            vulnerabilidad3 = new Vulnerabilidad("CVE-2017-3847", "cisco", "Cisco Firepower Management CenterXSS ",
                                                 "remota", "02/21/2017");
            vulnerabilidad4 = new Vulnerabilidad("CVE-2009-2504", "microsoft", "Múltiples desbordamientos deenteros en APIs Microsoft .NET 1.1",
                                                 "local", "11/13/2009");
            vulnerabilidad5 = new Vulnerabilidad("CVE-2016-7271", "microsoft", "Elevación de privilegios Kernel Segura en Windows 10 Gold",
                                                 "local", "12/20/2016");
            vulnerabilidad6 = new Vulnerabilidad(" CVE-2017-2996", "adobe", "Adobe Flash Player 24.0.0.194corrupción de memoria explotable",
                                                 "remota", "02/15/2017");

            nodo1 = new Nodo("192.168.0.10", "servidor", "5", " 10", "linux");
            nodo2 = new Nodo("192.168.0.12", "equipoactivo", "2", "12", "ios");
            nodo3 = new Nodo("192.168.0.20", "computadora", "8", "5", "windows");
            nodo4 = new Nodo("192.168.0.15", "servidor", "10", "22", "linux");

            red = new Red(" Red Patito, S.A. de C.V.", "Mr Pato Macdonald", "Av. Princeton 123, Orlando Florida");

            nodo1.addVulnerabilidad(vulnerabilidad1);
            nodo1.addVulnerabilidad(vulnerabilidad2);
            nodo2.addVulnerabilidad(vulnerabilidad3);
            nodo3.addVulnerabilidad(vulnerabilidad4);
            nodo3.addVulnerabilidad(vulnerabilidad5);
            nodo3.addVulnerabilidad(vulnerabilidad6);


            red.addNodo(nodo1);
            red.addNodo(nodo2);
            red.addNodo(nodo3);
            red.addNodo(nodo4);

            red.imprimir();
            red.imprimirNodos();
            red.imprimirVulPorNodo();
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: xxERASMOxx/desappnet
        static void Main(string[] args)
        {
            int         vultot       = 0;
            CultureInfo InfoCultural = new CultureInfo("en-US");
            Red         miRed        = new Red("Red Patito, S.A. de C.V.", "Mr Pato Macdonald", "Av.Priceton 123, Orlando Florida");

            miRed.AgregarNodo(new Nodo("192.168.0.10", "servidor", "5", "10", "Linux"));
            miRed.AgregarNodo(new Nodo("192.168.0.12", "Equipo activo", "2", "12", "IOS"));
            miRed.AgregarNodo(new Nodo("192.168.0.20", "Computadora", "8", "5", "Windows"));
            miRed.AgregarNodo(new Nodo("192.168.0.15", "servidor", "10", "22", "Linux"));

            Vulnerabilidad vlnd1 = new Vulnerabilidad("CVE-2015-1635", "microsoft", "HTTP.sys permite a atacantes remotos ejecutar codigo arbitrario", "remota", DateTime.Parse("04/14/2015", InfoCultural));
            Vulnerabilidad vlnd2 = new Vulnerabilidad("CVE-2017-0004", "microsoft", "El servidor LSASS permite causar una denegacion de servicio", "local", DateTime.Parse("01/10/2001", InfoCultural));
            Vulnerabilidad vlnd3 = new Vulnerabilidad("CVE-2017-3847", "cisco", "Cisco Firepower Management Center XSS", "remota", DateTime.Parse("02/21/2017", InfoCultural));
            Vulnerabilidad vlnd4 = new Vulnerabilidad("CVE-2009-2504", "microsoft", "Múltiples desbordamientos de enteros en APIs Microsoft .NET 1.1", "local", DateTime.Parse("11/13/2009", InfoCultural));
            Vulnerabilidad vlnd5 = new Vulnerabilidad("CVE-2016-7271", "microsoft", "Elevación de privilegios Kernel Segura en Windows 10 Gold", "local", DateTime.Parse("12/20/2016", InfoCultural));
            Vulnerabilidad vlnd6 = new Vulnerabilidad("CVE-2017-2996", "adobe", "Adobe Flash Player 24.0.0.194 corrupción de memoria explotable", "remota", DateTime.Parse("02/15/2017", InfoCultural));

            miRed.Nodos[0].AgregarVlnd(vlnd1);
            miRed.Nodos[0].AgregarVlnd(vlnd2);
            miRed.Nodos[1].AgregarVlnd(vlnd3);
            miRed.Nodos[2].AgregarVlnd(vlnd4);
            miRed.Nodos[2].AgregarVlnd(vlnd5);
            miRed.Nodos[2].AgregarVlnd(vlnd6);

            for (int i = 0; i < miRed.Nodos.Count; i++)
            {
                vultot += miRed.Nodos[i].vlnd.Count;
            }

            Console.WriteLine("Datos generales de la Red:\n");

            Console.WriteLine($"Empresa: {miRed.Empresa}");
            Console.WriteLine($"Propietario: {miRed.Propietario}");
            Console.WriteLine($"Domicilio: {miRed.Domicilio}");

            Console.WriteLine($"\nTotal nodos de red: {miRed.Nodos.Count}");
            Console.WriteLine($"Total vulnerabilidades: {vultot} \n");

            Console.WriteLine("Datos generales de los nodos\n");

            Console.WriteLine($"IP: {miRed.Nodos[0].Ip}, Tipo: {miRed.Nodos[0].Tipo}, Puertos: {miRed.Nodos[0].Puertos}, Saltos {miRed.Nodos[0].Saltos}, S.O. {miRed.Nodos[0].So}, TotalVul: {miRed.Nodos[0].vlnd.Count}");
            Console.WriteLine($"IP: {miRed.Nodos[1].Ip}, Tipo: {miRed.Nodos[1].Tipo}, Puertos: {miRed.Nodos[1].Puertos}, Saltos {miRed.Nodos[1].Saltos}, S.O. {miRed.Nodos[1].So}, TotalVul: {miRed.Nodos[1].vlnd.Count}");
            Console.WriteLine($"IP: {miRed.Nodos[2].Ip}, Tipo: {miRed.Nodos[2].Tipo}, Puertos: {miRed.Nodos[2].Puertos}, Saltos {miRed.Nodos[2].Saltos}, S.O. {miRed.Nodos[2].So}, TotalVul: {miRed.Nodos[2].vlnd.Count}");
            Console.WriteLine($"IP: {miRed.Nodos[3].Ip}, Tipo: {miRed.Nodos[3].Tipo}, Puertos: {miRed.Nodos[3].Puertos}, Saltos {miRed.Nodos[3].Saltos}, S.O. {miRed.Nodos[3].So}, TotalVul: {miRed.Nodos[3].vlnd.Count}");
        }
コード例 #3
0
        static void Main(string[] args)
        {
            CultureInfo InfoCultural = new CultureInfo("en-US");
            Red         miRed        = new Red("Red Patito", "Mr Pato Macdonald", "Av.Priceton 123, Orlando Florida");

            Console.WriteLine("Datos generales de la Red:");

            miRed.AgregarNodo(new Nodo("192.160.0.100", "servidor", "3", "10", "Linux"));
            miRed.AgregarNodo(new Nodo("192.168.0.101", "computadora", "2", "12", "IOS"));
            miRed.AgregarNodo(new Nodo("192.168.0.102", "Computadora", "8", "5", "Windows"));


            Vulnerabilidad vlnd1 = new Vulnerabilidad("CVE-2015-1635", "microsoft", "HTTP.sys permite a atacantes remotos ejecutar codigo arbitrario", "remota", DateTime.Parse("04/14/2015", InfoCultural));
            Vulnerabilidad vlnd2 = new Vulnerabilidad("CVE-2017-0004", "microsoft", "El servidor LSASS permite causar una denegacion de servicio", "local", DateTime.Parse("01/10/2001", InfoCultural));
            Vulnerabilidad vlnd3 = new Vulnerabilidad("CVE-2017-3847", "cisco", "Cisco Firepower Management Center XSS", "remota", DateTime.Parse("02/21/2017", InfoCultural));
            Vulnerabilidad vlnd4 = new Vulnerabilidad("CVE-2009-2504", "microsoft", "Múltiples desbordamientos de enteros en APIs Microsoft .NET 1.1", "local", DateTime.Parse("11/13/2009", InfoCultural));


            miRed.Nodos[0].AgregarVlnd(vlnd1);
            miRed.Nodos[0].AgregarVlnd(vlnd2);
            miRed.Nodos[1].AgregarVlnd(vlnd3);
            miRed.Nodos[2].AgregarVlnd(vlnd4);

            // miRed.Vulnerabilidad[0].AgregarVlnd(vlnd1);


            //imprimir reporte
            Console.WriteLine($"Empresa: {miRed.Empresa}");
            Console.WriteLine($"Propietario: {miRed.Propietario}");
            Console.WriteLine($"Domicilio: {miRed.Domicilio}");

            Console.WriteLine("\n Datos generales de los nodos");
            Console.WriteLine($"IP: {miRed.Nodos[0].Ip}, Tipo: {miRed.Nodos[0].Tipo}, Puertos: {miRed.Nodos[0].Puertos}, Saltos: {miRed.Nodos[0].Saltos}, SO: {miRed.Nodos[0].So}");

            Console.WriteLine("\n Vulneravilidades por nodo");
            Console.WriteLine($"IP: {miRed.Nodos[0].Ip}, Tipo: {miRed.Nodos[0].Tipo}");

            // Console.WriteLine("\n Vulneravilidades");
            // Console.WriteLine($"Clave: {miRed.Nodos[0].Clave}, Tipo: {miRed.Nodos[0].Tipo}");
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: juarezejp/desapinter
        static void Main(string[] args)
        {
            //red
            Red r = new Red("Red Patito, S.A. de C.V.", "Mr Pato Macdonald", "Av. Princeton 123, Orlando Florida");
            //crear vulnerabilidades
            Vulnerabilidad v1 = new Vulnerabilidad("CVE-2015-1635", "micrsoft", "HTTP.sys permite a atacantes remotos ejecutar codigo arbitrario", 0, new DateTime(2015, 04, 14));
            Vulnerabilidad v2 = new Vulnerabilidad("CVE-2017-0004", "micrsoft", "El servicio LSASS permite causar una denegación de servicio", 1, new DateTime(2015, 1, 10));
            Vulnerabilidad v3 = new Vulnerabilidad(" CVE-2017-3847", "cisco", " Cisco Firepower Management Center XSS", 0, new DateTime(2017, 02, 21));
            Vulnerabilidad v4 = new Vulnerabilidad("CVE-2009-2504", "micrsoft", " Múltiples desbordamientos de enteros en APIs Microsoft .NET 1.1", 1, new DateTime(2009, 11, 13));
            Vulnerabilidad v5 = new Vulnerabilidad("CVE-2016-7271", "micrsoft", "Elevación de privilegios Kernel Segura en Windows 10 Gold", 0, new DateTime(2016, 12, 20));
            Vulnerabilidad v6 = new Vulnerabilidad("CVE-2017-2996", "micrsoft", "Adobe Flash Player 24.0.0.194 corrupción de memoria explotable", 1, new DateTime(2015, 04, 14));
            //crear nodos
            Nodo n1 = new Nodo("192.168.0.10", 0, 5, 10, "linux");
            Nodo n2 = new Nodo("192.168.0.12", 1, 2, 12, "ios");
            Nodo n3 = new Nodo("192.168.0.20", 2, 8, 5, "windows");
            Nodo n4 = new Nodo("192.168.0.15", 0, 10, 22, "linux");

            //insertar vulnerabilidades
            n1.insertaVulnerabilidades(v1);
            n1.insertaVulnerabilidades(v2);
            n2.insertaVulnerabilidades(v3);
            n3.insertaVulnerabilidades(v4);
            n3.insertaVulnerabilidades(v5);
            n3.insertaVulnerabilidades(v6);
            //insertar nodos
            r.insertarNodo(n1);
            r.insertarNodo(n2);
            r.insertarNodo(n3);
            r.insertarNodo(n4);
            //salida
            Console.WriteLine(">>Datos generales de la red:\n");
            Console.WriteLine($"Empresa   :{r.Empresa}");
            Console.WriteLine($"Propietario   :{r.Propietario}");
            Console.WriteLine($"Domicilio   :{r.Domicilio}\n");

            Console.WriteLine($"Mayor numero de saltos: {r.getMayorSalto()}");
            Console.WriteLine($"Menor numero de saltos: {r.getMenorSalto()}\n");

            Console.WriteLine(">>Datos generales de los nodos:\n");

            foreach (Nodo n in r.Nodos)
            {
                Console.WriteLine($"IP: {n.Ip}, Tipo: {n.Tipo}, Puertos: {n.Puertos  }, Saltos: {n.Saltos}, SO: {n.So}, TotVul: {n.getTotalVulnerabilidades()}");
            }

            Console.WriteLine(">>Vulnerabilidades por nodo:\n");
            foreach (Nodo n in r.Nodos)
            {
                Console.WriteLine($"> Ip: {n.Ip}, Tipo: {n.Tipo}\n");
                Console.WriteLine("Vulnerabilidades:\n");
                if (n.Vulnerabilidades.Count > 0)
                {
                    foreach (Vulnerabilidad v in n.Vulnerabilidades)
                    {
                        Console.WriteLine($"Clave: {v.Clave}, Vendedor: {v.Vendedor}, Descripción: {v.Descripcion}, Tipo: {v.Tipo}, Fecha: {v.Fecha.ToString("d")}, Antigüedad:{v.getAntiguedad().Days} dias");
                    }
                }
                else
                {
                    Console.WriteLine("No tiene vulnerabilidades ...");
                }
                Console.WriteLine();
            }
        }
コード例 #5
0
        static void Main(string[] args)
        {
            Red miRed = new Red("Red Patito, SA de CV", "Mr pato McDonald", "Av. Princeton 123, Orlando Florida");

            Nodo nodo1 = new Nodo("192.168.0.10", "servidor", "5", 10, "linux");
            Nodo nodo2 = new Nodo("192.168.0.12", "equipoactivo", "2", 12, "ios");
            Nodo nodo3 = new Nodo("192.168.0.20", "computadora", "8", 5, "windows");
            Nodo nodo4 = new Nodo("192.168.0.15", "servidor", "10", 22, "linux");

            miRed.AgregarNodo(nodo1);
            miRed.AgregarNodo(nodo2);
            miRed.AgregarNodo(nodo3);
            miRed.AgregarNodo(nodo4);



            Vulnerabilidad vul1 = new Vulnerabilidad("CVE-2015-1635", "microsoft", "HTTP.sys permite a atacantesremotos ejecutar código arbitrario", "remota", "02/12/2015");
            Vulnerabilidad vul2 = new Vulnerabilidad("CVE-2017-0004", "microsoft", "El servicio LSASS permite causar una denegación de servicio", "local", "01/10/2015");

            Vulnerabilidad vul3 = new Vulnerabilidad("CVE-2017-3847", "cisco", "Cisco Firepower Management Center XSS", "remota", "21/02/2017");

            Vulnerabilidad vul4 = new Vulnerabilidad("CVE-2009-2504", "microsoft", "Múltiples desbordamientos de enteros en APIs Microsoft .NET 1.1", "local", "14/04/2015");
            Vulnerabilidad vul5 = new Vulnerabilidad("CVE-2016-7271", "microsoft", "Elevación de privilegios Kernel Segura en Windows 10 Gold", "local", "14/04/2015");
            Vulnerabilidad vul6 = new Vulnerabilidad("CVE-2017-2996", "adobe", "Adobe Flash Player 24.0.0.194 corrupción de memoria explotable", "remota", "14/04/2015");

            nodo1.AgregarVulenerabilidad(vul1);
            nodo1.AgregarVulenerabilidad(vul2);

            nodo2.AgregarVulenerabilidad(vul3);

            nodo3.AgregarVulenerabilidad(vul4);
            nodo3.AgregarVulenerabilidad(vul5);
            nodo3.AgregarVulenerabilidad(vul6);

            Console.WriteLine("Empresa: " + miRed.Empresa);
            Console.WriteLine("Propietario: " + miRed.Propietario);
            Console.WriteLine("Domicilio: " + miRed.Domicilio + "\n");

            Console.WriteLine("Total nodos red: " + miRed.Contador_nodos);
            int totalNodos = nodo1.Contador_vulnerabilidades + nodo2.Contador_vulnerabilidades + nodo3.Contador_vulnerabilidades + nodo4.Contador_vulnerabilidades;

            Console.WriteLine("Total vulnerabilidades: " + totalNodos + "\n");

            Console.WriteLine("Ip: " + nodo1.Ip + " Tipo: " + nodo1.Tipo + " Puertos: " + nodo1.Puertos + " Saltos: " + nodo1.Saltos + " So: " + nodo1.So + " TotVul: " + nodo1.Contador_vulnerabilidades);
            Console.WriteLine("Ip: " + nodo2.Ip + " Tipo: " + nodo2.Tipo + " Puertos: " + nodo2.Puertos + " Saltos: " + nodo2.Saltos + " So: " + nodo2.So, " TotVul: ", nodo2.Contador_vulnerabilidades);
            Console.WriteLine("Ip: " + nodo3.Ip + " Tipo: " + nodo3.Tipo + " Puertos: " + nodo3.Puertos + " Saltos: " + nodo3.Saltos + " So: " + nodo3.So, " TotVul: ", nodo3.Contador_vulnerabilidades);
            Console.WriteLine("Ip: " + nodo4.Ip + " Tipo: " + nodo4.Tipo + " Puertos: " + nodo4.Puertos + " Saltos: " + nodo4.Saltos + " So: " + nodo4.So, " TotVul: ", nodo4.Contador_vulnerabilidades + "\n");

            Console.WriteLine("Mayor numero de saltos: " + miRed.MayorSalto());
            Console.WriteLine("Menor numero de saltos: " + miRed.MenorSalto() + "\n");

            Console.WriteLine("Vulnerabilidades por nodo" + "\n");

            Console.WriteLine("Ip: " + nodo1.Ip + " Tipo: " + nodo1.Tipo + "\n");
            Console.WriteLine("Vulnerabilidades" + "\n");
            Console.WriteLine("Clave: " + vul1.Clave + " Vendedor: " + vul1.Vendedor + " Descripcion: " + vul1.Descripcion + " Tipo: " + vul1.Tipo + " Fecha: " + vul1.Fecha + " Antiguedad en años: " + vul1.antiguedad());
            Console.WriteLine("Clave: " + vul2.Clave + " Vendedor: " + vul2.Vendedor + " Descripcion: " + vul2.Descripcion + " Tipo: " + vul2.Tipo + " Fecha: " + vul2.Fecha + " Antiguedad en años: " + vul2.antiguedad() + "\n");

            Console.WriteLine("Ip: " + nodo2.Ip + " Tipo: " + nodo2.Tipo + "\n");
            Console.WriteLine("Vulnerabilidades" + "\n");
            Console.WriteLine("Clave: " + vul3.Clave + " Vendedor: " + vul3.Vendedor + " Descripcion: " + vul3.Descripcion + " Tipo: " + vul3.Tipo + " Fecha: " + vul3.Fecha + " Antiguedad en años: " + vul3.antiguedad() + "\n");

            Console.WriteLine("Ip: " + nodo3.Ip + " Tipo: " + nodo3.Tipo + "\n");
            Console.WriteLine("Vulnerabilidades" + "\n");
            Console.WriteLine("Clave: " + vul4.Clave + " Vendedor: " + vul4.Vendedor + " Descripcion: " + vul4.Descripcion + " Tipo: " + vul4.Tipo + " Fecha: " + vul4.Fecha + " Antiguedad en años: " + vul4.antiguedad());
            Console.WriteLine("Clave: " + vul5.Clave + " Vendedor: " + vul5.Vendedor + " Descripcion: " + vul5.Descripcion + " Tipo: " + vul5.Tipo + " Fecha: " + vul5.Fecha + " Antiguedad en años: " + vul5.antiguedad());
            Console.WriteLine("Clave: " + vul6.Clave + " Vendedor: " + vul6.Vendedor + " Descripcion: " + vul6.Descripcion + " Tipo: " + vul6.Tipo + " Fecha: " + vul6.Fecha + " Antiguedad en años: " + vul6.antiguedad() + "\n");

            Console.WriteLine("Ip: " + nodo4.Ip + " Tipo: " + nodo3.Tipo + "\n");
            Console.WriteLine("Vulnerabilidades" + "\n");
            Console.WriteLine("No hay vulneravilidades");
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: CR-MX/AEI
        static void Main(string[] args)
        {
            Red  red1  = new Red("Red Patito, S.A. de C.", "Mr Pato Macdonal", "Av. Princeton 123, Orlando Flori");
            Nodo nodo1 = new Nodo("192.168.0.10", 0, 5, 10, 0);
            Nodo nodo2 = new Nodo("192.168.0.12", 1, 2, 12, 1);
            Nodo nodo3 = new Nodo("192.168.0.20", 2, 8, 5, 2);
            Nodo nodo4 = new Nodo("192.168.0.15", 0, 10, 22, 0);

            Vulnerabilidad vul1 =
                new Vulnerabilidad("CVE-2015-1635", "microsoft", "HTTP.sys permite a atacantes remotos ejecutar código arbitrar", 1, "04/14/2015");
            Vulnerabilidad vul2 =
                new Vulnerabilidad("CVE-2017-0004", "microsoft", "El  servicio  LSASS  permite causar una denegación de servici", 0, "01/10/2010");

            nodo1.AgregarVul(vul1);
            nodo1.AgregarVul(vul2);
            Vulnerabilidad vul3 =
                new Vulnerabilidad("CVE-2017-3847", "cisco", "Cisco Firepower Management Center XSS", 1, "02/21/2010");

            nodo2.AgregarVul(vul3);
            Vulnerabilidad vul4 =
                new Vulnerabilidad("CVE-2009-2504", "microsoft", "Múltiples desbordamientos de enteros en APIs Microsoft .NET 1.1", 0, "11/13/2009");
            Vulnerabilidad vul5 =
                new Vulnerabilidad("CVE-2016-7271", "microsoft", "Elevación  de  privilegios Kernel Segura en Windows 10 Gol", 0, "12/20/2016");
            Vulnerabilidad vul6 =
                new Vulnerabilidad("CVE-2017-2996", "adove", "Adobe  Flash  Player  24.0.0.194 corrupción de memoria explotable", 1, "15/02/2017");

            nodo3.AgregarVul(vul4);
            nodo3.AgregarVul(vul5);
            nodo3.AgregarVul(vul6);

            red1.AgregarNodo(nodo1);
            red1.AgregarNodo(nodo2);
            red1.AgregarNodo(nodo3);
            red1.AgregarNodo(nodo4);
            //imprimir datos principales
            Console.WriteLine("\n >>>Datos generales de la red<<<\n");
            Console.WriteLine($"Empresa: {red1.Empresa}");
            Console.WriteLine($"Propietario: {red1.Propietario}");
            Console.WriteLine($"Domicilio: {red1.Domicilio}");
            int suma = 0;

            foreach (Nodo n in red1.Nodos)
            {
                suma += (int)n.totVol();
            }
            Console.WriteLine($"Total Nodos red: {red1.totalNodos()}");
            Console.WriteLine($"Total Vulnerabilidades: {suma}\n");

            //imprimir datos de nodos  gnerales
            int may = 0;
            int men = 0;

            foreach (Nodo n in red1.Nodos)
            {
                Console.WriteLine($"IP: {n.Ip}, Tipo: {n.TipoActual}, Puertos: {n.Puertos}, Saltos: {n.Saltos}, So: {n.So}, Totvul: {n.totVol()}");
                may = mayor(may, n.Saltos);
                men = menor(men, n.Saltos);
            }
            Console.WriteLine($"\nMayor numero de saltos: {may}");
            Console.WriteLine($"Mayor numero de saltos: {men}\n");

            Console.WriteLine(" >> Datos generales  de los nodos:\n");
            foreach (Nodo n in red1.Nodos)
            {
                Console.WriteLine($"\nIP: {n.Ip}, Tipo: {n.TipoActual}\n");
                if (n.Exploids.Count != 0)
                {
                    Console.WriteLine("Vulnerabilidades: \n");
                    foreach (Vulnerabilidad v in n.Exploids)
                    {
                        Console.WriteLine($"Clave: {v.Clave}, Vendedor: {v.Vendedor}, Descripcion: {v.Descripcion}, Tipo: {v.TipoActual}, Fecha: {v.Fecha}");
                    }
                }
                else
                {
                    Console.WriteLine("No tiene vulnerabilidades ..");
                }
            }
        }
コード例 #7
0
ファイル: Program.cs プロジェクト: ricardo55/programasnet
        static void Main(string[] args)
        {
            //Console.WriteLine("Hello World!");
            Console.WriteLine("");

            //Inicio una red

            Red red = new Red("Red Patito, S.A. de C.V.");

            red.Propietario = "Mr Pato Macdonald";
            red.Domicilio   = "Av. Princeton 123, Orlando Florida";

            //Inicio los nodos

            Nodo nodo1 = new Nodo("192.168.0.10");
            Nodo nodo2 = new Nodo("192.168.0.12");
            Nodo nodo3 = new Nodo("192.168.0.20");
            Nodo nodo4 = new Nodo("192.168.0.15");

            //Pongo la informacion para cada nodo

            nodo1.Tipo    = "servidor";
            nodo1.Puertos = 5;
            nodo1.Saltos  = 10;
            nodo1.SO      = "Linux";

            nodo2.Tipo    = "equipoactivo";
            nodo2.Puertos = 2;
            nodo2.Saltos  = 12;
            nodo2.SO      = "iOS";

            nodo3.Tipo    = "computadora";
            nodo3.Puertos = 8;
            nodo3.Saltos  = 5;
            nodo3.SO      = "Windows";

            nodo4.Tipo    = "servidor";
            nodo4.Puertos = 10;
            nodo4.Saltos  = 22;
            nodo4.SO      = "Linux";

            //Agrego los nodos a cada red

            red.agregarNodos(nodo1);
            red.agregarNodos(nodo2);
            red.agregarNodos(nodo3);
            red.agregarNodos(nodo4);

            //Inicializo las vulnerabilidades

            Vulnerabilidad vuln1 = new Vulnerabilidad("CVE-2015-1635");
            Vulnerabilidad vuln2 = new Vulnerabilidad("CVE-2017-0004");
            Vulnerabilidad vuln3 = new Vulnerabilidad("CVE-2017-3847");
            Vulnerabilidad vuln4 = new Vulnerabilidad("CVE-2009-2504");
            Vulnerabilidad vuln5 = new Vulnerabilidad("CVE-2016-7271");
            Vulnerabilidad vuln6 = new Vulnerabilidad("CVE-2017-2996");
            Vulnerabilidad vuln7 = new Vulnerabilidad("CVE-2015-6545");

            //Agrego informacion a cada vulnerabilidad

            vuln1.Vendedor           = "microsoft";
            vuln1.Descripcion        = "HTTP.sys permite a atacantes remotos ejecutar código arbitrario";
            vuln1.TipoVulnerabilidad = "remota";
            vuln1.Fecha = "04/08/2015";

            vuln2.Vendedor           = "microsoft";
            vuln2.Descripcion        = "El servicio LSASS permite causar una denegación de servicio";
            vuln2.TipoVulnerabilidad = "local";
            vuln2.Fecha = "01/10/2019";

            vuln3.Vendedor           = "cisco";
            vuln3.Descripcion        = "Cisco Firepower Management Center XSS";
            vuln3.TipoVulnerabilidad = "remota";
            vuln3.Fecha = "02/08/2017";

            vuln4.Vendedor           = "microsoft";
            vuln4.Descripcion        = "Múltiples desbordamientos de enteros en APIs Microsoft .NET 1.1";
            vuln4.TipoVulnerabilidad = "local";
            vuln4.Fecha = "11/09/2009";

            vuln5.Vendedor           = "microsoft";
            vuln5.Descripcion        = "Elevación de privilegios Kernel Segura en Windows 10 Gold";
            vuln5.TipoVulnerabilidad = "local";
            vuln5.Fecha = "12/05/2016";

            vuln6.Vendedor           = "adobe";
            vuln6.Descripcion        = "Adobe Flash Player 24.0.0.194 corrupción de memoria explotable";
            vuln6.TipoVulnerabilidad = "remota";
            vuln6.Fecha = "15/02/2017";

            vuln7.Vendedor           = "wordpress";
            vuln7.Descripcion        = "Peticiones ilimitadas, XRHCP";
            vuln6.TipoVulnerabilidad = "remota";
            vuln7.Fecha = "02/05/2015";

            //Agrega vulnerabilidades a cada nodo

            nodo1.agregaVulnerabilidades(vuln1);
            nodo1.agregaVulnerabilidades(vuln2);
            nodo2.agregaVulnerabilidades(vuln3);
            nodo3.agregaVulnerabilidades(vuln4);
            nodo3.agregaVulnerabilidades(vuln5);
            nodo3.agregaVulnerabilidades(vuln6);
            nodo4.agregaVulnerabilidades(vuln7);

            // Informacion como debe de salir en pantalla

            Console.WriteLine(">> Datos generales de la red:\n");
            Console.WriteLine(red.ToString());
            Console.WriteLine("Total nodos red: " + red.TotalNodos);
            Console.WriteLine("Total vulnerabilidades: " + (nodo1.TotalVulnerabilidades + nodo2.TotalVulnerabilidades + nodo3.TotalVulnerabilidades + nodo4.TotalVulnerabilidades) + "\n");


            Console.WriteLine(">> Datos generales de los nodos:\n");
            foreach (Nodo nodo in red.Nodos)
            {
                Console.WriteLine(nodo.ToString() + ", TotVul:" + nodo.VulnerabilidadNodo);
            }
            Console.WriteLine("\nMayor número de saltos: " + red.MayorSaltos);
            Console.WriteLine("Menor número de saltos: " + red.MenorSaltos);


            Console.WriteLine("\n>> Vulnerabilidades por nodo:\n");
            for (int i = 0; i < nodo1.Vulnerabilidades.Count; i++)
            {
                if (i < 1)
                {
                    Console.WriteLine("> Ip: " + nodo1.IP + ", Tipo: " + nodo1.Tipo + "\n\nVulnerabilidades:");
                }
                else if (i < 1 && nodo1.Vulnerabilidades.Count < 1)
                {
                    Console.WriteLine("No tiene vulnerabilidades ..");
                }
                Console.WriteLine(nodo1.Vulnerabilidades[i].ToString());
            }
            for (int i = 0; i < nodo2.Vulnerabilidades.Count; i++)
            {
                if (i < 1)
                {
                    Console.WriteLine("\n> Ip: " + nodo2.IP + ", Tipo: " + nodo2.Tipo + "\n\nVulnerabilidades:");
                }
                else if (i < 1 && nodo2.Vulnerabilidades.Count < 1)
                {
                    Console.WriteLine("No tiene vulnerabilidades ..");
                }
                Console.WriteLine(nodo2.Vulnerabilidades[i].ToString());
            }
            for (int i = 0; i < nodo3.Vulnerabilidades.Count; i++)
            {
                if (i < 1)
                {
                    Console.WriteLine("\n> Ip: " + nodo3.IP + ", Tipo: " + nodo3.Tipo + "\n\nVulnerabilidades:");
                }
                else if (i < 1 && nodo3.Vulnerabilidades.Count < 1)
                {
                    Console.WriteLine("No tiene vulnerabilidades ..");
                }
                Console.WriteLine(nodo3.Vulnerabilidades[i].ToString());
            }
            for (int i = 0; i < nodo4.Vulnerabilidades.Count; i++)
            {
                if (i < 1)
                {
                    Console.WriteLine("\n> Ip: " + nodo4.IP + ", Tipo: " + nodo4.Tipo + "\n\nVulnerabilidades:");
                }
                else if (i < 1 && nodo4.Vulnerabilidades.Count < 1)
                {
                    Console.WriteLine("No tiene vulnerabilidades ..");
                }
                Console.WriteLine(nodo4.Vulnerabilidades[i].ToString());
            }

            //Console.ReadLine();
            Console.WriteLine("");
        }//<--