Tôi đã tạo một tập lệnh perl để giải mã mật khẩu remmina. Nó trích xuất khóa của bạn và giải mã tất cả mật khẩu đã lưu của bạn (cục bộ).
https://github.com/lepe/scripts/blob/master/decode_remmina.pl (kiểm tra phiên bản cập nhật)
#!/usr/bin/perl
use strict;
use warnings;
use Crypt::CBC; #Crypt::DES_EDE3
use MIME::Base64;
use File::Slurp;
my $remmina_dir = $ENV{"HOME"} . "/.remmina";
my $remmina_cfg = $remmina_dir . "/remmina.pref";
my $content = read_file($remmina_cfg);
if($content) {
my ($secret) = $content =~ /^secret=(.*)/m;
if($secret) {
my $secret_bin = decode_base64($secret);
my ($key, $iv) = ( $secret_bin =~ /.{0,24}/gs );
my @files = <$remmina_dir/*.remmina>;
my $des = Crypt::CBC->new(
-cipher=>'DES_EDE3',
-key=>$key,
-iv=>$iv,
-header=>'none',
-literal_key=>1,
-padding=>'null'
);
if(@files > 0) {
foreach my $file (@files) {
my $config = read_file($file);
my ($password) = $config =~ /^password=(.*)/m;
my ($name) = $config =~ /^name=(.*)/m;
my ($host) = $config =~ /^server=(.*)/m;
my ($user) = $config =~ /^username=(.*)/m;
my $pass_bin = decode_base64($password);
my $pass_plain = $des->decrypt( $pass_bin );
if($pass_plain) {
print "$name $host $user $pass_plain\n";
}
}
} else {
print "Unable to find *.remmina files \n";
}
} else {
print "No secret key found...\n";
}
} else {
print "Unable to read content from remmina.pref\n";
}
Bạn sẽ cần phải cài đặt các gói (ví dụ, sử dụng cpan <PACKAGE>
): Crypt::CBC
, Crypt::DES_EDE3
, MIME::Base64
,File::Slurp
Đầu ra mẫu:
(Tên, máy chủ, người dùng, mật khẩu: tách tab)
Server1 192.168.1.25 administrator jM822Azss2fake
Server2 192.168.1.88:2899 admin JaxHaxFakez90
python -c "import base64,sys;from Crypto.Cipher import DES3;pc=open('/home/admalledd/.remmina/remmina.pref').read();pci=pc.index('secret=');secret=pc[pci:pc.index('\n',pci)].split('=',1)[1];cc=open(sys.argv[1]).read();cci=cc.index('password');password=cc[cci:cc.index('\n',cci)].split('=',1)[1];secret,password=base64.decodestring(secret),base64.decodestring(password); print DES3.new(secret[:24], DES3.MODE_CBC, secret[24:]).decrypt(password)" .remmina/1474332312568.remmina
. Còn lại ở đây cho lần tiếp theo tôi có thể cần nó.