Grep / Awk / Sed / Trなどのテキストハンドラーを使用して、NessusレポートからIPアドレスとファイルパスを抽出する必要があります。
IPアドレスとファイルパスを分離するスクリプトがありますが、テキストをさらに処理し、「パッチが適用されていないリモートバージョン...」を削除する必要があります。
192.168.1.1 - C:\WINDOWS\SYSTEM32\GPPREF.DLL HAS NOT BEEN PATCHED. REMOTE VERSION : 6.2.9200.16384 SHOULD BE : 6.2.9200.16859"
192.168.1.2 THE REMOTE HOST IS MISSING ONE OF THE FOLLOWING ROLLUP KBS : - 4022719 - 4022722C:\WINDOWS\SYSTEM32\BCRYPT.DLL HAS NOT BEEN PATCHED. REMOTE VERSION : 6.1.7601.23796 SHOULD BE : 6.1.7601.23816"
192.168.1.3 - C:\WINDOWS\SYSTEM32\GPPREF.DLL HAS NOT BEEN PATCHED. REMOTE VERSION : 6.2.9200.16384 SHOULD BE : 6.2.9200.16859"
192.168.1.4 - C:\PROGRAM FILES\MICROSOFT SQL SERVER\MSSQL12.ACT7\MSSQL\BINN\SQLSERVR.EXE HAS NOT BEEN PATCHED. REMOTE VERSION : 2014.120.5000.0 SHOULD BE : 2014.120.5203.0"
したがって、最終結果は上記の例から次を出力するはずです。
192.168.1.1 \ WINDOWS \ SYSTEM32 \ GPPREF.DLL
192.168.1.2 \ WINDOWS \ SYSTEM32 \ BCRYPT.DLL
192.168.1.3 \ WINDOWS \ SYSTEM32 \ GPPREF.DLL
192.168.1.4 \ PROGRAM FILES \ MICROSOFT SQL SERVER \ MSSQL12.ACT7 \ MSSQL \ BINN \ SQLSERVR.EXE
これまでの私のスクリプト:
!/ bin / bash
* if ["$ 1" == ""]; それから
echo "No file specified."
echo "Usage: nesparse [filename.csv]"
他に
cat $1 | tr -d "\n" | tr "\r" "\n" | awk -F '","' '{ print $5,$13 }' | grep "has not been patched." | sort -u | awk '{ match($0,/([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*[cC]:\\(.*) has.*/; ip=substr $0,RSTART,RLENGTH);print ipadd ip} '
*
以下のコードのセクションは、上記の例のテキストを処理し、$ 5がIPアドレスを出力し、$ 13がファイルパスを出力します。
!/ bin / bash
* if ["$ 1" == ""]; それから
echo "No file specified."
echo "Usage: nesparse [filename.csv]"
他に
cat $1 | tr -d "\n" | tr "\r" "\n" | awk -F '","' '{ print $5,$13 }' |
grep「パッチは適用されていません。」| sort -u *
2番目のawkパイプ
* awk '{match($ 0、/([0-9] +。[0-9] +。[0-9] +。[0-9] +)。[cC]:\(。)has。* / *
私が必要とする出力と一致する正しい正規表現を持っています(写真を参照)が、正規表現の出力の印刷に問題があります
この行は次のとおりです。
* ip = substr $ 0、RSTART、RLENGTH); print ipadd ip} '*
ボーナスポイント:
IP正規表現は任意の数字と一致するため、192.168.1.1 / 1.1.1.1ですが、上記の例(2014.120.5203.0)のバージョン番号との一致も理想的です。この正規表現を修正する必要があります。* [0-9] +。[0- 9] +。[0-9] +。[0-9] + *
0.0.0.0に制限するには-> 255.255.255.255