Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- # This program uses Proc::Queue, install it like this: perl -MCPAN -e 'install Proc::Queue'
- # Perl for windows: http://activestate.com/activeperl
- # Greetz: ibanez, WAR-GOD, peanuter, krupt, exon, ntwak0, inv
- # Flames: aroo, nenolod, all of dronebl, irc-security
- # I was going to keep this private, but since my name is constantly
- # being slandered by asshats planning to "remove my internetz"
- # and such, I figured I'll share this to see if irc-security can
- # stop them all.
- # I told you asshats to stop slandering my name. Now reap what you sow muthafuckaz.
- # -ep0ch
- # NOTE: This program reads from a file called 'servers.txt' in the same directory
- # the file should look like this:
- # irc.whatever.org:6667
- # irc.irc-security.com:7000
- # Line after line.
- #Again, education use only.
- # Things to configure:
- $nickname = "WOOHOO";
- $user = "OOHOOW";
- $usernumber = 10;
- $processes = 10;
- $message = qq(Your msg goes here, obviously.); #our spam message
- #End of configuration
- use Proc::Queue;
- use IO::Socket;
- Proc::Queue::size($processes);
- die "Usage: $0 <servers list>\n" unless $ARGV[0];
- open (DUMP, $ARGV[0]) or die("Could not open servers list.");
- foreach $line (<DUMP>) {
- chomp($line);
- push (@dump, $line);
- }
- close(DUMP);
- foreach $element (@dump) {
- my $pid = fork;
- if ($pid) {
- push(@forked, $pid);
- }
- elsif ($pid == 0) {
- server($element);
- exit(0);
- }
- else {
- die "couldnt fork: $!\n";
- }
- }
- sub server {
- $input = shift;
- ($server_ip, $server_port) = split(/:/, $input);
- &connect();
- }
- sub connect {
- print "* Connecting to $server_ip on port $server_port\n";
- $sock = IO::Socket::INET->new(
- PeerAddr => "$server_ip",
- PeerPort => $server_port,
- Proto => 'tcp' );
- while ($stuff = <$sock>) {
- #print $stuff;
- if ($stuff =~ /(NOTICE AUTH)/) {
- print $sock "NICK $nickname\r\nUSER $user $user $user $user\r\n";
- }
- if ($stuff =~ /^PING/) {
- print $sock "PONG :" . (split(/ :/, $stuff))[1];
- }
- if ($stuff =~ /(376|422)/) {
- print $sock "LIST\r\n";
- }
- if ($stuff =~ /:(.*?) 322 (.*?) (.*?) (.*?) :/) {
- my $chan = $3;
- my $users = $4;
- if ($users > $usernumber) {
- push(@channels, $chan);
- }
- }
- while (@channels > $count) {
- sleep(2);
- print $sock "JOIN $channels[$count]\r\n";
- print $sock "PRIVMSG $channels[$count] :$message\r\n";
- print $sock "PART $channels[$count]\r\n";
- print "Sent spam to $channels[$count] on server $server_ip\n";
- $count++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment