Quantcast
Channel: Comunidad Underground Hispana
Viewing all articles
Browse latest Browse all 11602

[C#] EvilFOCA 0.1.3: Seguridad de Redes de datos IPv4 & IPv6

$
0
0

Evil FOCA 0.1.3
Seguridad de Redes de datos IPv4 & IPv6


Evil Foca es una herramienta para pentesters y auditores de seguridad que tiene como finalidad poner a prueba la seguridad en redes de datos IPv4 / IPv6.

La herramienta es capaz de realizar distintos ataques como:
  • MITM sobre redes IPv4 con ARP Spoofing y DHCP ACK Injection.
  • MITM sobre redes IPv6 con Neighbor Advertisement Spoofing, Ataque SLAAC, fake DHCPv6.
  • DoS (Denegación de Servicio) sobre redes IPv4 con ARP Spoofing.
  • DoS (Denegación de Servicio) sobre redes IPv6 con SLAAC DoS.
  • DNS Hijacking.
Automáticamente se encarga de escanear la red e identificar todos los dispositivos y sus respectivas interfaces de red, especificando sus direcciones IPv4 e IPv6 y las direcciones físicas a través de una interfaz cómoda e intuitiva.

Funcionalidad
  • Seguridad fuerte
  • Múltiples claves de usuario
  • Accesibilidad portable y no requiere instalación
  • Exporta a TXT, HTML, XML y CSV
  • Importar desde muchos formatos de archivo
  • Facil transferencia de Base de datos
  • Soporte de Grupos de contraseñas
  • Campos de tiempo y entradas adjuntas
  • Auto-Tipeo, Global Auto-Tipeo Hot Key y arrastrar y soltar
  • Intuitivo y seguro Manipulación de Portapapeles
  • Búsqueda y Clasificación
  • Soporte Multi-Lenguaje
  • Fuerte generador de contraseñas aleatorias
  • Plugin Arquitectura
  • Código abierto


Requerimientos
  • Windows XP o Posterior.
  • .NET Framework 4 o Posterior.
  • Libreria Winpcap (WinPcap - Home)
Codigo Fuente

Código:

/*
Evil FOCA
Copyright (C) 2015 ElevenPaths

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
using System;
using System.Reflection;
using System.Windows.Forms;
using Microsoft.Win32;
using SharpPcap;
using SharpPcap.WinPcap;

namespace evilfoca
{
    static class Program
    {
        public static Project.Project CurrentProject;
        public static FormMain formMain;
        public static FormSplash fSplash;

        public static bool runtime = false;

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main()
        {
            runtime = true;
            CurrentProject = new Project.Project();
            if (CheckArgsToElevate())
                return;

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            System.Threading.Thread tSplash = new System.Threading.Thread(new System.Threading.ThreadStart(delegate
                {
                    fSplash = new FormSplash();
                    Application.Run(fSplash);
                }));
            tSplash.Start();

            if (!(IsWinPcapIsInstalled()))
            {
                tSplash.Abort();
                MessageBox.Show("WinPcap library not found or no compatible device found. This is a mandatory requirement.\r\n\r\n\r\nPlease, download and install it from http://www.winpcap.org/.", "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                Application.Exit();
                return;
            }

            int defaultInterface = Program.CurrentProject.data.settings.Interface;
            //La primera vez se muestra, el resto no

            WinPcapDevice dev = null;
            if (defaultInterface > -1 && defaultInterface < CaptureDeviceList.Instance.Count)
            {
                dev = (WinPcapDevice)CaptureDeviceList.Instance[defaultInterface];
            }

            while (dev == null || Program.CurrentProject.data.GetIPv6LocalLinkFromDevice(dev) == null)
            {
                if (dev != null)
                    MessageBox.Show("IP Address Local-Link hasn't been found. Please, turn on IPv6 on your network interface and restart the application or select other interface", "IP Address Local-Link hasn't been found",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                FormInterfaces fInterfaces = new FormInterfaces(true, true);
                if (fInterfaces.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                {
                    tSplash.Abort();
                    Application.Exit();
                    return;
                }

                dev = fInterfaces.device;
            }
            Program.CurrentProject.data.SetDevice(dev);

            Program.UriDotBug();

            formMain = new FormMain();

            Application.Run(formMain);
        }

        private static bool IsWinPcapIsInstalled()
        {
            try
            {
                int cuenta = CaptureDeviceList.Instance.Count;
            }
            catch (DllNotFoundException)
            {
                return false; // Pcap no instalada
            }
            catch
            {
                return false; // Ppcap instalada, pero se ha producido algun error. Posiblemente versiones antiguas.
            }

            return true;
        }

        public static void LogThis(string message, Logs.Log.LogType logType)
        {
            Logs.Log log = new Logs.Log(message, logType);

            formMain.panelLogs.Invoke(new MethodInvoker(delegate
            {
                formMain.panelLogs.AddLog(log);
            }));
        }

        public static bool CheckArgsToElevate()
        {
            if (Environment.GetCommandLineArgs().Length == 2 && Environment.GetCommandLineArgs()[1] == "ActivateIPRouting")
            {
                System.Diagnostics.Debugger.Break();
                ActivateIPRouting();
                //Guardar en la configuracion
                CurrentProject.data.settings.IPRoutingEnabled = true;
                MessageBox.Show("IP Enable Routing activado");
                return true;
            }
            return false;
        }

        public static void ActivateIPRouting()
        {
            RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"SYSTEM\CurrentControlSet\services\TcpIp\Parameters", true);
            rk.SetValue("IPEnableRouter", 1, RegistryValueKind.DWord);
        }


        private static void UriDotBug()
        {
            MethodInfo getSyntax = typeof(UriParser).GetMethod("GetSyntax", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
            FieldInfo flagsField = typeof(UriParser).GetField("m_Flags", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
            if (getSyntax != null && flagsField != null)
            {
                foreach (string scheme in new[] { "http", "https" })
                {
                    UriParser parser = (UriParser)getSyntax.Invoke(null, new object[] { scheme });
                    if (parser != null)
                    {
                        int flagsValue = (int)flagsField.GetValue(parser);
                        // Clear the CanonicalizeAsFilePath attribute
                        if ((flagsValue & 0x1000000) != 0)
                            flagsField.SetValue(parser, flagsValue & ~0x1000000);
                    }
                }
            }
        }
    }
}

Video Tutorial





uploaded.net - [code] EvilFOCA 0.1.3

Viewing all articles
Browse latest Browse all 11602

Trending Articles