Jugando con netcat

Iniciado por WHK, 25 Marzo 2007, 03:17 AM

0 Miembros y 4 Visitantes están viendo este tema.

esteban0512

Código (cadlisp) [Seleccionar]
JAJAJAJJAJAJAJJJJJJJJJJJJJJJJJJJJJJJJJJJAAAAAAJAJAJAJJAJAJAJAJAJAJAJAJAJAJJAAJJAJAJAJAJAJAJAJAJ\
GAGAGAGWH,XHEVJGYCEQHJCECE21D[code=actionscript]
[/code]

[/center

softdates

D4RIO
gracias por contestar sobre mi problema con el netcat sobre el ping si lo hago es
lo primero, para ver si hay repusta, al raro que sucede es que esa misma maquina esta infectada con el bifrost, y si me da conexión, incluso si hago una shell inversa con el modulo de el bifrost me conecta pero solo por un instante y luego se cae la conexión incluso se lo añadi al registro para que arranque automaticamente funciona pero igual se cae la conexion al parecer el ruteador esta configurado de tal manera de que solo ciertas conexiones se haga de punto a punto porque ya lo intente con otra maquina de la red el cual es Xp, hice lo mismo claro cambiando los parametros para que me deje pasar el firewall de xp y funcione con el cmd de xp, y me tira la conexion.

de todas maneras gracias

Camacho21

Hola! por favor necesito que alguien me ayude con esto por favor, soy nuevo y me intereso este post sobre jugando con netcat... bueno el problema esta en que cuando intento transferir un archivo de una pc a otra ("Jugando con netcat parte V") se transfiere pero pesa 0 bytes! no se por que me pasa esto segui todos los pasos tal cual... y el archivo que al final se transfiere pesa 0 bytes! gracias de antemano...

SKATEboarding


Zykl0n-B

#343
Saludos a tod@s,
D4RIO:
Citar
Hey, si querés seguridad te conviene pasar la parte de comprobar password a un ejecutable para que no se pueda ver el fuente...a parte podés dejar el proceso corriendo, hacerlo persistente, usar md5...lo que quieras...Lo podés hacer en C++, o bien en C.

Vale, tienes razón, para los que no sepan pasar un Script Batch a "C" para poder compilarlo y obtener un Exe, acá les dejo un Script para Netcat mucho más "trabajado" por así decirlo que el que posteé hace unos días, vale, primero el Script Batch:


:main
@Echo off
Echo.
Echo      ////  /// /////// /////// /////// /////// ///////
Echo     ///// /// ///       ///   ///  //     ///   ///
Echo    /// ///// /////     ///   ///     ///////   ///
Echo   ///  //// ///       ///   ///  // //  ///   ///
Echo  ///   /// ///////   ///   /////// ///////   ///
Echo.
Echo               Security Shell (2007)
Echo                                     By: Zykl0n-B (c)
Echo.
Echo Esta sesi¢n est  protegida bajo Login,
Echo S¢lo Usuarios registrados pueden Acceder.
Echo.
Echo Login:
Set/p user1=
If %user1%==default (goto gooduser) Else goto baduser
:gooduser
Echo El nombre de Usuario %user1% es Correcto.
Echo Password:
Set/p passwd1=
If %passwd1%==default (goto accessgranted) Else goto accessdenied
:baduser
Echo El nombre de Usuario %user1% es Incorrecto.
Echo.
Echo             -* ACCESO DENEGADO *-
Echo.
Pause>nul
Exit
:accessgranted
Echo Login Completo... Remote Shell = OK!
Echo.
Echo =====================================================
Echo ­Bienvenido %user1%!
Echo  Fecha: %date%
Echo =====================================================
@CMD.EXE
Echo.
Echo                   -* Conexi¢n Finalizada *-
Echo.
Pause>nul
Exit
:accessdenied
Echo.
Echo El Password Introducido es Incorrecto,
Echo Por favor, Intente de nuevo.
Pause>nul
Goto main


Tanto el login como el Passwd son "default", por supuesto, lo puedes cambiar a tu preferencia.

Acá está en formato "Batch" ó de Procesamiento por lotes, sólo lo copias al Block de Notas, lo guardas como "Archivo.bat" y listo, tienes un Servidor con Autentificación de Usuario y Contraseña para las Shells de Netcat, pero acá surge el problema de que con un simple "Click secundario y Editar" tanto el Código fuente como tu Usuario y Contraseña quedarán revelados "En texto plano", pues, ¿Cuál es la solución?, pasarlo a un Ejecutable (Exe), acá les dejo el mismo Servidor, pero en formato de "C", veamos:


#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
char login[10];
char pass[10];
int contar=0;
  system("Echo.");
  system("Echo      ////  /// /////// /////// /////// /////// ///////");
  system("Echo     ///// /// ///       ///   ///  //     ///   ///");
  system("Echo    /// ///// /////     ///   ///     ///////   ///");
  system("Echo   ///  //// ///       ///   ///  // //  ///   ///");
  system("Echo  ///   /// ///////   ///   /////// ///////   ///");
  system("Echo.");
  system("Echo               Security Shell (2007)");
  system("Echo                                     By: Zykl0n-B (c)");
  system("Echo Esta sesion esta protegida bajo Login,");
  system("Echo Solo Usuarios registrados pueden acceder");
  system("Echo.");
do
{
system("Echo Login:");
gets(login);
system("Echo Password:");
gets(pass);
contar++;
}while(strcmp(login,"root")!=0 && strcmp(pass,"toor")!=1 || contar==3);
if(strcmp(login,"root")==0 && strcmp(pass,"toor")==0)
{

system("Echo.");
system("Echo ===================================================================");
system("Echo ¡Bienvenido!");
system("Echo Fecha: %date%");
system("Echo ===================================================================");
system("Echo.");
system("cmd.exe");   
system("Echo.");   
system("Echo               -* Conexi¢n Finalizada *-");
system("Echo.");
  return 0;
}
else
{
system("Echo Password Incorrecto,");
system("Echo Por favor intente luego.");
system("Echo.");
system("pause>nul && exit");
}
return 0;
}



Vaaaale vale, lo he cambiado un poco, pero es prácticamente lo mismo, te logueas como "root" y con el password "toor" (Sí sí, no es coincidencia, justo como en Backtrack)

¿Por qué he usado tanto "system("");"?, pues, utilizando "printf("");", Netcat no transfería el diálogo al host remoto, por lo que te logueabas "a ciegas", y dado a la presentación tan bonita que tiene el Script, preferí correrlo con recursos del Sistema.

Ya tus passwords no andan por ahi en texto plano, estás más "Seguro", Ah por cierto, pueden hacer lo mismo con cualquier archivo bat que se les antoje :P

Acá les dejo un Screenshot del Script "andando":



Espero que les sirva, saludos.
Die Toten Kehren Wieder Mit Der Wind
          <-~#] Zyklon-B [#~->

Zykl0n-B

#344
CitarHola! por favor necesito que alguien me ayude con esto por favor, soy nuevo y me intereso este post sobre jugando con netcat... bueno el problema esta en que cuando intento transferir un archivo de una pc a otra ("Jugando con netcat parte V") se transfiere pero pesa 0 bytes! no se por que me pasa esto segui todos los pasos tal cual... y el archivo que al final se transfiere pesa 0 bytes! gracias de antemano...

No he leído el Post de "Jugando con Netcat parte V", pero supongo que puedo ayudarte,

Al transferir archivos debes especificar un nombre y extensión en el Cliente para el Archivo, si quieres transferir "Imagen.JPG" pues, en el cliente debes de especificarlo igual "Imagen.JPG", te dejo un Ejemplo:

Servidor:

C:\Mis videos>nc -v -L -p 999 <"Metallica - Motorbreath.avi"
listening on [any] 999 ...


Vale, el servidor ya te está dando información de que está a la escucha de algún cliente para transferirle el Archivo, ahora vamos con el cliente:


C:\Documents and settings\Zykl0n-B>nc 192.168.1.33 >"Metallica - Motorbreath.avi"
DNS fwd/rev mismatch: ZYKL0N-B != 192.168.1.33
ZYKL0N-B [192.168.1.33] 999 (?) open


Bien, como ves, ya la conexión está establecida, pero Netcat no te avisará "El archivo se está transfiriendo" ó "Se transfirió el archivo satifactoriamente"´, así que si es muy grande el archivo, espera un rato, y luego cierras la conexión.

Espero que te sirva.... Saludos.
Die Toten Kehren Wieder Mit Der Wind
          <-~#] Zyklon-B [#~->

D4RIO

Mmm...sobre esa implementación de C, está un poco a lo bruto:::.

Fijate: Usas system() para meter echo en la consola... pero si usas directamente printf() o cout en c++ lo haces más prolijo y efectivo.
Una implementación C++ sencilla y pelada sería algo asi:
Código (cpp) [Seleccionar]

#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;

/***************************
*INICIALIZO VARIABLES
***************************/
const string USER = "yo";
const string PASS = "miPa55w0rd";
const string RUSR = "ZZZ" ;
const string RPWD = "ZZZ";

int COUNT = 0 ;
bool LOGEAR = false ;


/************
*   M A I N
*************/
int main(void)
{
    //Entrada
    cout << "SecureShell 2007::\n";
    cout << "Bienvenido, por favor registrese ::\n\n";
    cout << "User:";
    cin  >> RUSR;
    cout << "Password: ";
    cin  >> RPWD;
    //Primer Plato :: Comprobacion
    if ( RUSR == USER && RPWD == PASS )
    {
      LOGEAR= true;
    }
    else
    {

      //No te salio? :: Un par de intentos mas o no entras
      while ( LOGEAR == false && COUNT < 4 )
      {
            cout << "\n(!) User o Password incorrecto\n";
            cout << "Intentelo de nuevo ::\n\n";
            cout << "User:";
            cin  >> RUSR;
            cout << "Password: ";
            cin  >> RPWD;

            if ( RUSR == USER && RPWD == PASS )
           {
             LOGEAR= true;
           };
           COUNT++;
      };//Fin While
    };//Fin else

    if ( LOGEAR == true )
    {
      cout << "Login correcto\n";
      cout << "Inicializando Shell :::::\n";
      system("ssh-login"); // El cmd esta renombrado a ssh-login
    }
    else
    {
      cout << ":!: Login Fallido :!:\nByebye!!\n";
    };
return 0;
}


Y creo que eso funcionaría bien. Aunque también estuve experimentando hacer shells capadas... o sea que solamente permiten ciertos comandos, y eso se puede aplicar en conjunto con un login, para hacer que un usuario pueda ejecutar ciertas cosas y otro no.

Es cuestion de ser creativo:::.

BYEBYE!
OpenBSDFreeBSD

puaggg

una pregunta tonta...
soy nuevo nuevisimo en esto.
tengo el permiso d un colega y me ha retado ha entrar a su empresa y lo estoy intentando con netcat,pero..es posible entrar sin meter netcat como troyano ,me explico
a pelo sin enviar nada.solo desde mi pc. encontrar algun boquete y materme x ahi.
gracias de antamano.
seguire leyendo.
un saludo pa tos.

Zykl0n-B

#347
Con respecto a D4RIO, dije mil y una vez, que al Programarlo en C, utilizando "Printf", netcat no transfería los datos, quedaba "A ciegas", y lo hice con System para hacercelo a todos más fácil, ¿Qué esperas? no todos son programadores Aquí, de la forma que lo hice es "Entendible" hasta por el más Newbie.

Con respecto a Puaggg, No, Netcat te da Acceso remoto funcionando como Cliente/Servidor, las 2 únicas formas de que ganes Acceso a la empresa de tu colega es que:

1.- Él deje un Netcat Escuchando por conexiones, y así, tú no tendrías que meter nada, sólo utilizar a Netcat como Cliente, Conectarte y Entrar.

2.-Que tu colega deje un Servidor telnet Activado, así sólo usarias a Netcat como cliente, y entrarías por Telnet.

Pero no sólo con Netcat, puedes Utilizar Exploits para entrar a la empresa, el mismo Netcat trae una función para Obtener datos de los servidores a los que se conecta, y así puedes investigar vulnerabilidades conocidas, visita Este foro, ahí he estado escribiendo y detallando varias cosas, entre ellas todas las funciones posibles de Netcat...

vale, Saludos.
Die Toten Kehren Wieder Mit Der Wind
          <-~#] Zyklon-B [#~->

puaggg

gracias por la respuesta ciklon-b me voy paya a leer un rato.
un saludo.

WannaBeHacker

Cita de: puaggg en 10 Diciembre 2007, 22:28 PM
gracias por la respuesta ciklon-b me voy paya a leer un rato.
un saludo.


LOL, aprende a copiar y pegar el nick XD!