Generation de rapports OpenVAS

La génération de rapports OpenVAS nécessite quelques ajustements après l’installation du produit.

Rapports pdf

Il faut ajouter quelques dépendances pour que cela fonctionne

yum install texlive-latex*
yum -y install texlive-changepage texlive-titlesec
mkdir -p /usr/share/texlive/texmf-local/tex/latex/comment
cd /usr/share/texlive/texmf-local/tex/latex/comment
wget http://mirrors.ctan.org/macros/latex/contrib/comment/comment.sty
chmod 644 comment.sty
texhash

Attention tout de même, car la géneration du Pdf s’appuie sur Latex et ce dernier va interrompre le processus s’il détecte plus de 100 erreurs (ex: tableau coupé entre 2 pages).

Rapports Xls


Il en va de même pour la génération de fichiers Excel, ou il faudra passer par un rapport en xml puis utiliser une librairie python.

yum install epel-release 
yum install python34
curl -O https://bootstrap.pypa.io/get-pip.py
/usr/bin/python3.4 get-pip.py 
pip install openvas_to_report
/usr/bin/python3.4 /usr/lib/python3.4/site-packages/openvas_to_report/openvas_to_document.py -i report_openvas.xml -o report.xlsx

Rapports customs

Je me suis frotté à la génération d’un rapport personnalisé avec comme embuche de taille le format du csv qui contient des EOL non échappés dans les champs. Je suis donc passé par Xml avec l’appuie de xmlstarlet et voici le script que j’utilise pour générer un rapport csv.

#!/bin/bash

rm -f *.csv;

for file in *.xml; do
        FILE_RooT=`echo $file | awk -F '.xml' '{ print $1 }';`
        echo '#######################' $file ' ##################### ' $FILE_RooT;
        xmlstarlet sel -T -t -m "report/report/results/result" -s D:N:- "@id" -v "concat('\"',@id,'\",\"',host,'\",\"',threat,'\",\"',qod/value,'\",\"',name,'\"')" -n $file > "$FILE_RooT.csv" ;
        echo -ne "From \r" ;
        cat $file  | wc -l ;
        echo -ne " to " ;
        cat $FILE_RooT.csv | wc -l  ;
done

Zephilou

1 Response

  1. Bonjour,

    Je rencontre une erreur avec le script python openvas_to_document :

    # /usr/bin/python3.4 /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/openvas_to_document.py -i report_openvas.xml -o report.xlsx
    Traceback (most recent call last):
    File « /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/openvas_to_document.py », line 82, in
    main()
    File « /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/openvas_to_document.py », line 65, in main
    convert(config)
    File « /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/api.py », line 248, in convert
    openvas_info = openvas_parser(config.input_files, excluded_hosts=excluded_hosts, scope_hosts=scope_hosts)
    File « /rw/usrlocal/lib/python3.4/dist-packages/openvas_to_report/libs/parsers/openvas_parser.py », line 129, in openvas_parser
    vuln_level = nvt_tmp.find(« .//risk_factor »).text
    AttributeError: ‘NoneType’ object has no attribute ‘text’

    Comment fixer cette erreur ?

    Merci bien

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Post comment