BATEA (Reconocimiento de hosts con ML)
ERROR DE INSTALACIÓN BATEA
Para instalar BATEA en un entorno virtual de Anaconda/Miniconda, puedes seguir los siguientes pasos:
- Crea un nuevo entorno virtual en anaconda/miniconda: - conda create -n batea_env pip python=3.7
- Activa el entorno: - conda activate batea_env
- Accede a la carpeta de - bateaque has descargado
- Instala los paquetes externos (no uses pip3): - pip install -r requirements.txt
- Instala batea: - pip install -e .
- Ejecuta batea introduciendo el comando - bateados veces en la terminal.
Con esto debería funcionar correctamente.
La herramienta para descargarla la obtendremos del siguiente link:
URL = BATEA GitHub
Lo que va hacer esta herramienta es clasificar en base a un ranking de que es mas interesante continuar investigando del punto de vista del hacking ético, para realizar esta clasificacion BATEA utiliza una serie de tecnicas de Machine Learning y concretamente se basa en un algoritmo que se denomina Isolation Forest (Algoritmo de deteccion de anomalias).
Por ejemplo nosotros realizamos un escaneo de servicios o de hosts en este caso con nmap y el output es lo que le tendremos que proporcionar a esta herramienta para que coja todos los hosts que ha descubierto con sus servicios y realice un ranking, es decir, una clasificacion de cuales de esos hosts tiene mas interes desde el punto de vista de seguridad para comenzar analizar.
Por lo que vamos a instalar la herramienta de la siguiente forma:
git clone https://github.com/delvelabs/batea.git
cd batea/Y ahora tendremos que realizar los siguientes pasos:
python3 setup.py sdist
pip3 install -r requirements.txt
pip3 install -e .Y ahora si ponemos batea, tendremos que ver esto:
Empty report, can't predict. 
QuittingYa que no le hemos pasado nada, pero para ver que funciona.
Por lo que vamos arrancar las maquinas de los anteriores ejercicios como por ejemplo:
Metasploitable3-Ubuntu
Metasploitable3-WindowsServer2008
Ubuntu-Mutillidae
Windows 10Las maquinas mas vulnerables en este caso serian las 2 metasploitables, que tendrian las siguientes IP's:
Windows = 192.168.5.185
Ubuntu = 192.168.5.183Activaremos esas y realizaremos un escaneo con nmap de la siguiente forma:
nmap -O -sV 192.168.5.0/24 -oX output.xmlUna vez que tengamos el fichero, haremos lo siguiente:
batea -n 2 output.xmlCon el parametro -n especificamos el numero de resultados que queremos que nos aparezca o que nos proporcione batea respecto al nivel de vulnerabilidad que tenga el host.
Info:
{
    "report_info": [
        {
            "number_of_hosts": 8,
            "features": [
                "ip_octet_0",
                "ip_octet_1",
                "ip_octet_2",
                "ip_octet_3",
                "port_count",
                "open_port_count",
                "low_port_count",
                "tcp_port_count",
                "named_service_count",
                "software_banner_count",
                "max_banner_length",
                "is_windows",
                "is_linux",
                "http_server_count",
                "database_count",
                "windows_domain_admin_count",
                "windows_domain_member_count",
                "port_entropy",
                "hostname_length",
                "hostname_entropy"
            ]
        }
    ],
    "host_info": [
        {
            "rank": "1",
            "host": "192.168.5.185"
        },
        {
            "rank": "2",
            "host": "192.168.5.183"
        }
    ]
}Como estamos observando aqui, nos esta inidicando 2 host los cuales nos recomienda priorizar por el nivel de vulnerabilidad que tienen, y son las 2 metasploitables por lo que se esta ejecutando todo de forma correcta.
Last updated
