elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking (Moderador: toxeek)
| | |-+  reverse_tcp o reverse_https?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: reverse_tcp o reverse_https?  (Leído 3,667 veces)
painpills

Desconectado Desconectado

Mensajes: 40


404


Ver Perfil WWW
reverse_tcp o reverse_https?
« en: 29 Febrero 2020, 04:30 am »

Hola, hace poco que inicie a familiarizarme con kali linux y sus herramientas. He estado creando Backdoors para android con mfsvenom utilizando el siguiente payload:

android/meterpreter/reverse_tcp

Pero hace poco me di cuenta viendo algunos tutoriales que algunas personas lo utilizan de esta manera:

android/meterpreter/reverse_https


Alguien podría aclararme que diferencia hay entre los dos?
O si es más conveniente usar uno u otro en casos específicos.

Cualquier otra información adicional me vendría de maravilla. Gracias.  :D
En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.397


Turn off the red ligth


Ver Perfil WWW
Re: reverse_tcp o reverse_https?
« Respuesta #1 en: 29 Febrero 2020, 15:02 pm »

HTTPS son 3 capas/protocolos. La capa TCP/IP, encima va la capa SSH y encima va la capa http. Las 3 juntas forman HTTPS.

Es decir, es lo mismo que un TCP inverso pero añade una capa de negociación de cifrado y utiliza el protocolo http. Esto significa que en vez de conectarse directamente en un stream de bytes sin cifrado, negocia el cifrado con tu cliente y una vez se establece una canal cifrado, realiza una petición a tu cliente utilizando el protocolo http.

El protocolo http es texto plano que sigue una forma estandarizada de comunicarse. Para simplificarlo mentalmente puedes entender como si http fuese un lenguaje de programación. Por ejemplo para conectarte a google.com mediante http tu navegador envía:
Código
  1. GET / HTTP/1.1
  2. Host: google.com:80
  3. Connection: keep-alive:
  4. Cache-Control: max-age=0
  5. Upgrade-Insecure-Requests: 1
  6. User-Agent: Mozilla/5.0 (Windows NT 6.0) Chrome /Version ...
  7. Accept: text/plain,text/html...
  8. Acept-Language: es-Es...

Entonces google te podría responder algo como:
Código
  1. HTTP/1.1 200 OK
  2. content-type: text/html
  3.  
  4. <html><body>Hola</body></html>

Esto significa que si la víctima instala un https inverso, va a hacer una petición para negociar la conexión (msfvenom tiene un cliente ssh y manejo de sesiones) una vez se establezca el canal seguro, te va a enviar la petición GET y tu le debes responder con un 200 OK enviándole una lista de comandos para que los ejecute o lo que sea.

Si quieres probar, puedes hacer lo siguiente desde la terminal:
netcat -v -l -k 127.0.0.1 8080

Con esto tienes un "servidor" a la escucha en la terminal. Si ahora vas al navegador y pones:
http://127.0.0.1:8080
Verás que te llega una petición http GET a la terminal.

El navegador se quedará como cargando a la espera de una respuesta HTTP. Podrías escribirla en la terminal para contestar o hacer cat a un archivo o cualquier historia.

Si ahora pones https://127.0.0.1:8080 verás como se envía unos "caracteres" raros. No es texto, son bytes, pero la terminal intenta traducirlo a texto y por eso se ve raro. Esta es la capa SSH sobre HTTP que sirve para que alguien inspeccionado el tráfico no pueda ver que es lo que se envia.
De esta forma, si la victima pusiese un analizador de tráfico en su red, no vería que pone: comandos: subir imágenes, descargar malware, ...
O si el antivirus lo hace, tampoco podrá detectar automáticamente la conexión robando datos personales.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

painpills

Desconectado Desconectado

Mensajes: 40


404


Ver Perfil WWW
Re: reverse_tcp o reverse_https?
« Respuesta #2 en: 1 Marzo 2020, 16:34 pm »

Hice la prueba con todo lo que me dijiste y realmente funciono, muchas gracias  ;D

HTTPS son 3 capas/protocolos. La capa TCP/IP, encima va la capa SSH y encima va la capa http. Las 3 juntas forman HTTPS.

Es decir, es lo mismo que un TCP inverso pero añade una capa de negociación de cifrado y utiliza el protocolo http. Esto significa que en vez de conectarse directamente en un stream de bytes sin cifrado, negocia el cifrado con tu cliente y una vez se establece una canal cifrado, realiza una petición a tu cliente utilizando el protocolo http.

El protocolo http es texto plano que sigue una forma estandarizada de comunicarse. Para simplificarlo mentalmente puedes entender como si http fuese un lenguaje de programación. Por ejemplo para conectarte a google.com mediante http tu navegador envía:
Código
  1. GET / HTTP/1.1
  2. Host: google.com:80
  3. Connection: keep-alive:
  4. Cache-Control: max-age=0
  5. Upgrade-Insecure-Requests: 1
  6. User-Agent: Mozilla/5.0 (Windows NT 6.0) Chrome /Version ...
  7. Accept: text/plain,text/html...
  8. Acept-Language: es-Es...

Entonces google te podría responder algo como:
Código
  1. HTTP/1.1 200 OK
  2. content-type: text/html
  3.  
  4. <html><body>Hola</body></html>

Esto significa que si la víctima instala un https inverso, va a hacer una petición para negociar la conexión (msfvenom tiene un cliente ssh y manejo de sesiones) una vez se establezca el canal seguro, te va a enviar la petición GET y tu le debes responder con un 200 OK enviándole una lista de comandos para que los ejecute o lo que sea.

Si quieres probar, puedes hacer lo siguiente desde la terminal:
netcat -v -l -k 127.0.0.1 8080

Con esto tienes un "servidor" a la escucha en la terminal. Si ahora vas al navegador y pones:
http://127.0.0.1:8080
Verás que te llega una petición http GET a la terminal.

El navegador se quedará como cargando a la espera de una respuesta HTTP. Podrías escribirla en la terminal para contestar o hacer cat a un archivo o cualquier historia.

Si ahora pones https://127.0.0.1:8080 verás como se envía unos "caracteres" raros. No es texto, son bytes, pero la terminal intenta traducirlo a texto y por eso se ve raro. Esta es la capa SSH sobre HTTP que sirve para que alguien inspeccionado el tráfico no pueda ver que es lo que se envia.
De esta forma, si la victima pusiese un analizador de tráfico en su red, no vería que pone: comandos: subir imágenes, descargar malware, ...
O si el antivirus lo hace, tampoco podrá detectar automáticamente la conexión robando datos personales.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
DUDA: Colocar IP Publica en exploit de reverse_tcp (MSFVENOM)
Bugs y Exploits
GreenTick 3 6,879 Último mensaje 23 Junio 2016, 03:35 am
por reyo
Ayuda kali linux android/meterpreter/reverse_tcp
Análisis y Diseño de Malware
MrVndT 1 3,257 Último mensaje 20 Julio 2016, 16:21 pm
por MCKSys Argentina
android/meterpreter/reverse_tcp error por favor ayuda
GNU/Linux
log015 0 2,277 Último mensaje 24 Agosto 2017, 02:08 am
por log015
error en payload android/meterpreter/reverse_tcp
Bugs y Exploits
log015 1 5,218 Último mensaje 11 Enero 2018, 01:38 am
por ronluas
MSFVENOM/ android/payload/reverse_tcp
Hacking
sinpianwlr 1 3,594 Último mensaje 29 Julio 2018, 13:22 pm
por CybeRoot
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines