Create scan_bdd_oracle.sh
This commit is contained in:
96
scan_bdd_oracle.sh
Normal file
96
scan_bdd_oracle.sh
Normal file
@@ -0,0 +1,96 @@
|
||||
#!/bin/sh
|
||||
#------------------------------------------------------------------------------
|
||||
# recherche des serveurs de base de données
|
||||
# scan d'une plage d'adresse et une plage de port pour trouver
|
||||
# un listener Oracle, une base mysql, postgres sql ou microsoft sql server
|
||||
#------------------------------------------------------------------------------
|
||||
# Historique :
|
||||
# 26/07/2016 : YOU – Creation
|
||||
# 29/07/2016 : YOU – Mise à jour
|
||||
# 25/08/2021 : YOU - Adaptation pour les reseaux BM
|
||||
# 14/09/2021 : YOU - Adresses reseau en notation CIDR xxx.xxx.xxx.xxx/xx
|
||||
#------------------------------------------------------------------------------
|
||||
|
||||
#-------
|
||||
# les réseaux à scanner
|
||||
#-------
|
||||
# reseau="192.168.31.0/24"
|
||||
# reseau="10.0.30.0 10.0.40.0 192.31.6.0 172.16.1.0"
|
||||
mask_reseau=24
|
||||
|
||||
#-------
|
||||
# les ports à scanner :
|
||||
# 1500-3000 => la plage entre 1500 et 3000
|
||||
# 1521,1621 => les deux ports 1521 et 1621
|
||||
# 1521,1621-3000 => le port 1521 et la plage de 1621-3000
|
||||
#-------
|
||||
# les ports par base :
|
||||
# Microsoft sql server => 1433
|
||||
# Oracle => 1521-1699
|
||||
# Sybase => 2638
|
||||
# Progress => 3000-3003
|
||||
# Mysql => 3306
|
||||
# PostgreSQL => 5432
|
||||
#-------
|
||||
# la ligne suivante est composée de plusieurs plages pour minimiser le temps du scan
|
||||
# port_reseau="1430-1440,1500-1700,2600-2700,3000-3010,3300-3310,5400-5500"
|
||||
#-------
|
||||
port_reseau="1520-1530"
|
||||
|
||||
#-------
|
||||
# les variables d'environnement
|
||||
#-------
|
||||
export repertoire_base=/root/scripts
|
||||
export repertoire_logs=${repertoire_base}/logs
|
||||
export fichier_log=${repertoire_logs}/scan_bdd_$(date +%Y.%m.%d-%Hh%M).log
|
||||
mkdir -p ${repertoire_logs} > /dev/null
|
||||
echo "" > ${fichier_log}
|
||||
|
||||
#-------
|
||||
# paramètre du scan
|
||||
#-------
|
||||
echo "#--------------------- Paramètres du scan ----------------------------" | tee -a ${fichier_log}
|
||||
echo "# Date : $(date +%Y.%m.%d-%Hh%M)" | tee -a ${fichier_log}
|
||||
echo "# Répertoire de base du script : ${repertoire_base}" | tee -a ${fichier_log}
|
||||
echo "# Répertoire des fichiers logs : ${repertoire_logs}" | tee -a ${fichier_log}
|
||||
echo "# Nom du fichier log de cette session : ${fichier_log}" | tee -a ${fichier_log}
|
||||
echo "# Les réseaux scannés : ${reseau}" | tee -a ${fichier_log}
|
||||
echo "#----------------------------------------------------------------------" | tee -a ${fichier_log}
|
||||
|
||||
#-------
|
||||
# on parcourt les réseau pour détecter les serveurs joignables par fping
|
||||
# le résultat est scanné par nmap pour trouver les bases de données
|
||||
#-------
|
||||
|
||||
for plage in $reseau
|
||||
do
|
||||
plage_reseau=$(echo ${plage} | cut -d/ -f1)
|
||||
mask_reseau=$(echo ${plage} | cut -d/ -f2)
|
||||
if [ -z "${mask_reseau}" ]; then mask_reseau="24"; fi
|
||||
|
||||
echo "#----------------------------------" | tee -a ${fichier_log}
|
||||
echo "# Scan du reseau : ${plage} " | tee -a ${fichier_log}
|
||||
echo "# Plage reseau : ${plage_reseau} " | tee -a ${fichier_log}
|
||||
echo "# Masque reseau : ${mask_reseau} " | tee -a ${fichier_log}
|
||||
echo "#----------------------------------" | tee -a ${fichier_log}
|
||||
/usr/sbin/fping -q -a -d -g ${plage_reseau}/${mask_reseau} 2>/dev/null | while read ip
|
||||
do
|
||||
# nmap -sV : detection de la version du produit
|
||||
# namp -n : desactiver la resolution des nom pour acceler le scan
|
||||
# namp -sS : scan avec un packet TCP SYNC
|
||||
# ret=$(/usr/bin/nmap -n -sS -sV -p ${port_reseau} ${ip} | grep -i "open" | egrep -i "oracle|sql|Progress Database|sybase")
|
||||
ret=$(/usr/bin/nmap -n -sS -sV -p ${port_reseau} ${ip} | grep -i "open" | egrep -i "oracle")
|
||||
if [ "$ret" != "" ]; then
|
||||
echo "${ret}" | sed "s/^/Serveur $ip \t:\t /g" | tee -a ${fichier_log}
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
echo "#---------- SCAN TERMINE A $(date +%Y.%m.%d-%H:%M) -----------------" | tee -a ${fichier_log}
|
||||
echo "# Fichier log de cette session : ${fichier_log}"
|
||||
echo "#-------------------------------------------------------------------"
|
||||
|
||||
#-------
|
||||
# fin
|
||||
#-------
|
||||
Reference in New Issue
Block a user