Autor
|
Tema: [Duda] Cifrar Socket (Leído 5,383 veces)
|
xv0
Desconectado
Mensajes: 1.027
|
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
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
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
Mensajes: 1.027
|
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
Mensajes: 2.416
Se siente observado ¬¬'
|
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
Mensajes: 1.027
|
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. 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
Mensajes: 2.416
Se siente observado ¬¬'
|
¿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
Mensajes: 1.077
|
@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. int sockfd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); dup2(sockfd, STDIN_FILENO);
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
Mensajes: 1.027
|
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
Mensajes: 1.077
|
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
Mensajes: 1.027
|
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
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
duda socket
Programación C/C++
|
Maik33
|
1
|
2,266
|
16 Enero 2012, 12:51 pm
por Maik33
|
|
|
Duda socket c++
Programación C/C++
|
isma3l
|
0
|
1,726
|
29 Abril 2012, 02:04 am
por isma3l
|
|
|
Duda cifrar.
Hacking Wireless
|
miguelez
|
2
|
2,472
|
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,569
|
9 Julio 2013, 19:44 pm
por Shout
|
|
|
[duda]es posible cifrar trafico dns en red local?
Seguridad
|
colcrt
|
0
|
2,002
|
22 Octubre 2015, 08:16 am
por colcrt
|
|