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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  [Duda] Cifrar Socket
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Duda] Cifrar Socket  (Leído 5,026 veces)
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
[Duda] Cifrar Socket
« en: 5 Diciembre 2012, 20:06 pm »

Hola

Cuando creas un socket se guarda en una variable entera que se le llama descriptor, luego ese descriptor se usa para las funciones como connect, bind, revc etc...

Cifrando el descriptor con XOR la conexión funcionaría?

Hay otras formas más "refinadas" de conseguirlo"?

Un saludo.
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: [Duda] Cifrar Socket
« Respuesta #1 en: 5 Diciembre 2012, 20:32 pm »

No entiendo, lo que necesitas cifrar realmente es el tráfico que envías por el socket, no el socket.

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: [Duda] Cifrar Socket
« Respuesta #2 en: 5 Diciembre 2012, 21:48 pm »

Exacto, es el tráfico lo que quiero cifrar.

Pero con la función accept puedes crear un descriptor y luego combinarlo con dup2 y el descriptor stdin para recivir información creo.

Un saludo.

P.D: Estoy empezando en esto, seguramente me equivoqué.

En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [Duda] Cifrar Socket
« Respuesta #3 en: 5 Diciembre 2012, 23:53 pm »

No sé muy bien a que te refieres con el descriptor del SOCKET... pero la forma habitual en la que se cifra una conversación cliente-servidor es haciendo que éstos se encarguen de cifrar antes de enviar y descifrar después de recibir.

Si realmente estás interesado en la seguridad del protocolo debes de armar algo más complejo que un XOR, deberías de asignarle una clave a cada cliente/servidor y un salt diferente para cada conexión.

Cualquier duda, ya sabes ;)
En línea

xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: [Duda] Cifrar Socket
« Respuesta #4 en: 6 Diciembre 2012, 02:02 am »

No sé muy bien a que te refieres con el descriptor del SOCKET... pero la forma habitual en la que se cifra una conversación cliente-servidor es haciendo que éstos se encarguen de cifrar antes de enviar y descifrar después de recibir.

Me refiero a lo que devuelve la llamada a socket, no pretento hacer un cliente-servidor para conversaciones.

Si eres tan amable de leer uno de mis post lo entenderas, me expreso mal xD.

Código:
http://foro.elhacker.net/unixunixlike/ocultar_procesos-t376125.0.html;msg1806597#new

Linea 36 hay esta el descriptor.

Si realmente estás interesado en la seguridad del protocolo debes de armar algo más complejo que un XOR, deberías de asignarle una clave a cada cliente/servidor y un salt diferente para cada conexión.

Solo era un ejemplo lo de XOR.

Mi idea era utilizar las apis de ipsec, pero el problema es que en la máquina remota tendría que configurar isakmpd.conf y no es plan.

A ese código me gustaria meterle alguna shellcode y una reverse shell, y que la conexión estuviese cifrada como un tunnel de ipsec o ssh si es posible.

Cualquier duda, ya sabes ;)

Muy amable, gracias.

Un saludo.
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [Duda] Cifrar Socket
« Respuesta #5 en: 6 Diciembre 2012, 02:44 am »

¿Cuál es la finalidad de cifrar el handle? (Creo que es a lo que tú llamas descriptor) Si cifras ésto las llamadas al resto de APIs relacionadas no funcionarán.
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: [Duda] Cifrar Socket
« Respuesta #6 en: 6 Diciembre 2012, 13:48 pm »

@cpu2, puedes buscar sobre sockets raw y armarte un protocolo propio. En cuanto a cifrar el descriptor no veo para que, a no ser que quieras descifrarlo para cada llamada a accept, bind, etc. A no ser que te refieras a obtener el descriptor del socket, hacer un dup2 para que stdin sea tu socket y luego cifrarlo o destruirlo.

@Karcrack, en entornos Unix se llaman descriptores mas que handles.

Código
  1. int sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
  2. dup2(sockfd, STDIN_FILENO);
  3. sockfd ^= rand();
  4.  

Algo asi quieres hacer, cpu2?
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: [Duda] Cifrar Socket
« Respuesta #7 en: 7 Diciembre 2012, 10:01 am »

Sí, pero no con el descriptor de socket si no con el de accept, y le añadiria un execve o una shellcode para la reverse_shell.

Por eso dije lo de cifrar el descriptor, cuando lo tenga acabado ya miraré con tcpdump.

Un saludo.
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: [Duda] Cifrar Socket
« Respuesta #8 en: 7 Diciembre 2012, 12:23 pm »

Umm, con la estructura sockaddr_in, para que no se sepa de donde proviene el trafico? Pues eso no cambia nada, igual te va a salir de donde viene. Si quieres que no se sepa ni de donde proviene el trafico ni nada cifrandolo te vas a tener que armar un protocolo propio, con sockets raw.

Saludos.
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: [Duda] Cifrar Socket
« Respuesta #9 en: 8 Diciembre 2012, 09:08 am »

Muy interesantes los sockets raw.

Estoy leyendo las funciones de netcat de escritura y lectura y se ayudan con una función llamada poll un poco similar ala dup2 y utilizan los descriptores.

Bueno si consigo algo ya os diré.

Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
duda socket
Programación C/C++
Maik33 1 2,097 Último mensaje 16 Enero 2012, 12:51 pm
por Maik33
Duda socket c++
Programación C/C++
isma3l 0 1,565 Último mensaje 29 Abril 2012, 02:04 am
por isma3l
Duda cifrar.
Hacking Wireless
miguelez 2 2,254 Último mensaje 25 Enero 2013, 17:33 pm
por miguelez
[Duda] ¿Inyectar información en un socket ya abierto?
.NET (C#, VB.NET, ASP)
Shout 4 2,278 Último mensaje 9 Julio 2013, 19:44 pm
por Shout
[duda]es posible cifrar trafico dns en red local?
Seguridad
colcrt 0 1,822 Último mensaje 22 Octubre 2015, 08:16 am
por colcrt
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines