#!/usr/bin/perl
# encrypted hash generator for AIM Admin
# by grimR@crypt.cc
print 'Password: ';
chomp($pass = <STDIN>);
$try = "$pass";
$encrypted = crypt $try,MD5;
print 'Your hash is: ';
print "\n";
print $encrypted;
print "\n";
#!/usr/bin/perl
# AIM Admin v.01
# coded by grimR of crypt.cc <grimR@crypt.cc>
# Crypt website: http://www.crypt.cc
use Net::OSCAR qw(:standard);
$screenname = "controlledscreenname";
+ # AIM Admin's screen name
$password = 'botpass';
+ # password for screen name
$cmdtmp = "cmd.tmp";
+ # temp command log
$servlog = "srv.log";
+ # log file for access
$version = ".1";
+ # access ONLY to this screen name
$botloc = '/home/grim/perl/aim.pl';
+ # full path to this file
$perll = '/usr/bin/perl';
+ # full path to perl
$owenr = 'masterscreennamehere';
$pass = 'mdj7KDOIk6FjY';
+ # hash of encrypted pass
@incorrect = "ACCESS DENIED";
+ # message for unauthorized
sub error {
my($accessp, $connection, $errno, $error, $fatal) = @_;
if($fatal) {
sleep 2;
exec("$perll $botloc") or print STDERR "couldnt exec $botloc: $
+!";
} else {
print STDERR "Error $errno: $error\n";
}
}
sub on_attempt {
my($accessp, $sender, $message) = @_;
if(1) {
open(ATTEMPT, '>', "atp.tmp");
print ATTEMPT "$message";
close(ATTEMPT);
open(TRY, '<', "atp.tmp");
$try = <TRY>;
@trying = split(/:/, $try);
close(TRY);
$encrypted = crypt($trying[0], $pass);
if ($encrypted eq $pass) {
$accessp->send_im("$sender", 'Output: ');
open(LOG, '>>', "$servlog");
print LOG "$sender: $trying[1]\n";
$cm = "$trying[1]";
system("$cm >$cmdtmp");
open(CMDTMP, '<', "cmd.tmp");
@cmdo = <CMDTMP>;
close(CMDTMP);
print "$sender: @cmdo";
$accessp->send_im("$sender","<br>@cmdo");
system("rm -rf cmd.tmp");
}
else {
print LOG "Unauthorized Attempt: $sender: $message\n";
$accessp->send_im("$sender", 'Access attempt logged');
$accessp->send_im("$sender", 'usage: password:command');
}
}
}
sub signon_done($) {
my $accessp = shift;
print "AIM Admin v$version signed online and awaiting commands\n";
$accessp->send_im("$owenr","I await your command master");
}
$accessp = Net::OSCAR->new();
$accessp->set_callback_error(\&error);
$accessp->set_callback_im_in(\&on_attempt);
$accessp->signon($screenname, $password);
$accessp->set_callback_signon_done(\&signon_done);
while(1) {
$accessp->do_one_loop();
}
|