/usr/share/rkhunter/scripts/filehashsha.pl is in rkhunter 1.4.0-3.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
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 | #!/usr/bin/perl
die "Usage: $0 <module name> <SHA size> <filename>" if ($#ARGV != 2);
my $sha = '';
my $mod = $ARGV[0];
my $size = $ARGV[1];
my $file = $ARGV[2];
eval "use $mod";
die "Invalid module: $mod" if ($@);
if ($mod eq 'Digest::SHA1' || $mod eq 'Digest::Whirlpool' || $mod eq 'Crypt::RIPEMD160' || $mod eq 'Digest::MD5') {
$sha = $mod -> new;
}
elsif ($mod eq 'Digest::SHA256') {
$sha = Digest::SHA256::new($size);
}
else {
$sha = $mod -> new($size);
}
# Open file in binary mode
open(FILE, $file) or die "Can't open file '$file'";
binmode(FILE);
# Hash file contents
$sha -> add($_) while (<FILE>);
close(FILE);
$_ = $sha -> hexdigest;
s/ //g;
print $_, "\n";
exit;
|