Http enum (V1)

Continuando con Enum Detector .
La enumeracion es un paso previo al ataque.
Se trata de averiguar que servicios vulnerables tiene un servidor.
Con este script (version1) intento analizar que enumeraciones son mas comunes.
y a la vez que las detecto bloqueo las ips de los atacantes.
Protegiendo el servidor (una enumeracion agresiva puede acabar en DOS).

#!/bin/bash
#con sh no funciona la parte de tee
tail -f /var/log/apache2/access.log |\
stdbuf -o0 awk '/\" 40/ && !/cloud/ && !/favicon/ && !/robots/  \
{gsub("\"","");print substr($4,14,8),$1,substr($7,1,32),$8,$9,$11,$12} ' |\
tee >(mosquitto_pub -d -h servidor -u usuario -P password -p 1883 -t httpenum/nta -l) |\
while read line ; do \
  echo $line ; \
  _ip=$(echo $line |awk '{print $2}' );
  iptables -I INPUT 256 -s $_ip -j DROP ;
  iptables -D INPUT 350 ;
done

Explicacion breve.

Basicamente filtro el log del apache en busca de errores 40X omitiendo algunas partes del log. (favicon robots cloud) (lineas 3y4).
Despues lo proceso un poco extrayendo solo los datos necesarios.(linea 5).
Por ultimo lo envio a un registro mqtt (linea 6).
Y bloqueo las ips atacantes (Lineas 7-12).
Mas info en: Filtrar_ataques_log_http




Aqui dejo una estadistica generada con ese log.



Como se ve claramente la vulnerabilidad mas escaneada es:

Vulnerabilidad thinkphp (remote code execution) Ya analizada en este articulo.

Mas info en:

Enum_Detector
Filtrar_ataques_log_http
Vulnerabilidad thinkphp (remote code execution) Ya analizada en este articulo.
Detectar ataques enumeracion http

Referencias:

https://www.cyberciti.biz/faq/unix-linux-shell-removing-duplicate-lines/
https://www.tecmint.com/use-linux-awk-command-to-filter-text-string-in-files/
https://www.tecmint.com/awk-filter-text-or-string-using-patterns/
https://dzone.com/articles/35-examples-of-regex-patterns-using-sed-and-awk-in