1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
|
#! /bin/bash
cd /root
mkdir .openvastmp
mkdir OpenVASreports
cd .openvastmp
# variables à renseigner
u=username #nom de l'utilisateur
pw=password #pw de l'utilisateur
cible=Openvas #nom de la cible
hosts=ip.ci.bl.e #IP de la cible
# création et récupération de la target
omp -u $u -w $pw --xml='
<create_target> <!--création de la cible-->
<name>'$cible'</name> <!--nom de la cible -->
<hosts>'$hosts'</hosts> <!--ip de la cible -->
</create_target>'
target=$(omp -u $u -w $pw --get-targets | grep $cible)
targetid=$(echo ${target:0:36})
echo $target
echo $targetid
#pour la tâche suivante, il nous faut l'uuid d'une config
# dans un shell : omp -u -w --get--configs
# créer une variable name à utiliser dans la tâche
name=$cible
echo $name
#création de la tâche
omp --verbose -u $u -w $pw --create-task --name=$name -c daba56c8-73ec-11df-a475-002264764cea --target=$targetid
#récupération de l'uuid de la tâche
taskid=$(omp -u $u -w $pw --get-tasks= |grep New)
taskid=$(echo ${taskid:0:36})
echo $taskid
#démarrage de la tâche
omp -u $u -w $pw --xml='
<start_task task_id="'$taskid'"/>'
#on vérifie l'état de la tâche
done=NotDone
echo $done
while test "$done" != "Done"
do
done=$(omp -u $u -w $pw -G $taskid | grep Done)
done=$(echo ${done:38:4})
if test "$done" != "Done"
then echo " Scan en cours " && omp -u $u -w $pw -G | grep Running
else
echo " Scan terminé "
fi
sleep 30
done
#récuperation du rapport
omp -u $u -w $pw -G $taskid > task
awk NR==2 task > report
reportid=$(awk '{print substr($0,3,36)}' report)
rm task
#récupérer le rapport au format XML
#dans un shell omp -u -w -F
cd /home/$u/OpenVASreports
omp -u $u -w $pw --xml='
<get_reports report_id="'$reportid'"
format_id="a994b278-1f62-11e1-96ac-406186ea4fc5"/>' > report_$reportid.xml
# mail quand c'est fini
echo " $cible-$reportid est disponible. Kali a tout fini" |mail -s " Vous avez un message de Kali " -a " From: Kali" name@name.com
unset VAR |
Partager