SANS Sift Workstationのrip.plが実行できない問題の対応
フォレンジック解析を行う際は、必要なツールが最初から導入されており、かつ無料で利用できる「SIFT Workstation | SANS Institute」をよく利用しています。
ただ本日(2022/02/27)時点で公開されているOVAタイプのバージョンのものにインストールされているRegripper(rip.plコマンド)は、エラーが発生し正常に実行できません。
本ポストはその解決策のメモです。
導入したSift Workstationのバージョンは以下の通りです。
$ cat /etc/os-release NAME="Ubuntu" VERSION="20.04.2 LTS (Focal Fossa)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 20.04.2 LTS" VERSION_ID="20.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=focal UBUNTU_CODENAME=focal
rip.plを実行するとエラーが発生
解析するためのプラグインとレジストリファイルを指定し実行すると、以下のようなエラーが発生します。
$ rip.pl -p compname -r SYSTEM Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 79. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 79. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 89. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 115. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 115. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 126. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 146. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 185. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 236. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 236. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 256. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 280. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 305. Global symbol "$plugindir" requires explicit package name (did you forget to declare "my $plugindir"?) at /usr/local/bin/rip.pl line 408. Execution of /usr/local/bin/rip.pl aborted due to compilation errors.
どうやら「$plugindir」という変数が定義されていない模様です。
解決策
スクリプトのバックアップを取ったうえで、以下のように修正します。
$ sudo cp /usr/share/regripper/rip.pl /usr/share/regripper/rip.pl.old $ sudo vi /usr/share/regripper/rip.pl $ diff -u /usr/share/regripper/rip.pl.old /usr/share/regripper/rip.pl --- /usr/share/regripper/rip.pl.old 2022-02-27 15:11:57.426179430 +0000 +++ /usr/share/regripper/rip.pl 2022-02-27 15:16:45.562746556 +0000 @@ -63,6 +63,9 @@ # Retrieves absolute path of parent directory my $scriptdir = File::Basename::dirname($scriptpath); +# Add: Define the variable plugindir +my $plugindir = File::Spec->catfile($scriptdir, "plugins"); + my $VERSION = "3\.0"; my @alerts = ();
具体的には、66行目に以下を追加します。
my $plugindir = File::Spec->catfile($scriptdir, "plugins");
動作確認
再度実行してみます。
$ rip.pl -p compname -r SYSTEM Launching compname v.20090727 compname v.20090727 (System) Gets ComputerName and Hostname values from System hive ComputerName = DESKTOP-******** TCP/IP Hostname = DESKTOP-********
正常に実行できるようになりました。
VirusTotal(フル版・軽量版)でのURLサーチの動作の違い
初ポストはVirusTotalネタです。
VirusTotalにはフル版(https://www.virustotal.com/)と軽量版(https://www.virustotal.com/old-browsers/)が存在しますが、それぞれで機能の違いがあることを最近知ったのでその紹介です。
続きを読む