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.7Activa el entorno:
conda activate batea_envAccede a la carpeta de
bateaque has descargadoInstala los paquetes externos (no uses pip3):
pip install -r requirements.txtInstala 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