Tema destacado: Suscripción al boletín mensual de elhacker.net
Autor
|
Tema: Modificar paquetes enviados por un programa (Leído 5,467 veces)
|
|
ozzmadark
|
Hola, tengo una duda y no se si es posible hacerlo.
Tengo un programa que para poder abrirlo primero manda a un servidor informacion sobre la pc en la que se esta tratando de ejecutar.
De esa forma solo pas PC's "autorizadas" son capases de ejecutar dicho programa.
Uno de los datos que envia este soft es la direccion MAC, probe cambiandola manualmente por la adecuada (tengo conocimiento de que MAC utilizar para autentificarme) pero de todas formas no logro hacerlo, siempre envia la misma direccion MAC sin importar los cambios que realice.
Con un sniffer logro ver la informacion que envia y recibe (*), la pregunta seria.
Puedo frenar esos datos antes de que salgan, modificarlos (colocar otra MAC) y dejar que sigan su camino con la nueva Info alterada ??
Gracias por leer. OzzmadarK
(*) CLIPCKR...<ENCRYPT method="GetConfigData" class="xxxxxx" package="xxxxxx" BIN="128" MACADDRESS="MAC00x9x1195xc8-280173153333" PROCNAME="xxxxxxx" UPID="00000398-00000808-882acdbe-000A1154-00000001">
..5n4%SRVPCK\...<MSG><ERROR DESC="No se tiene suficientes privilegios para realizar esta operacion."/></MSG>
|
|
|
|
« Última modificación: 3 Octubre 2009, 18:29 por ozzmadark »
|
En línea
|
|
|
|
|
Hendrix
|
Evidentemente se puede interceptar y modificar....Una opción es debuggear el proceso y ver que API utiliza para la transferencia (supongo que utilizara send de winsock). Una vez sepas esto puede hookear esta API y ahí modificar los datos que quieras. PD: Enviame un MP con el nombre del programa y si queires le echo un vistazo.
|
|
|
|
|
En línea
|
"Todos los días perdemos una docena de genios en el anonimato. Y se van. Y nadie sabe de ellos, de su historia, de su peripecia, de lo que han hecho, de sus angustias, de sus alegrías. Pero al menos una docena de genios se van todos los días sin que sepamos de ellos". - Juan Antonio Cebrián
|
|
|
|
ozzmadark
|
Creo que el tema de hookear una api se me va de las manos por el momento, gracias por la pronta respuesta Hendrix.
EDIT: logre hacerlo =)
ahora solo falta conseguir la lista de MAC adress autorizadas pero ya es problema mio eso jaja
GRACIAS y por mi parte, tema solucionado
|
|
|
|
« Última modificación: 4 Octubre 2009, 04:49 por ozzmadark »
|
En línea
|
|
|
|
|
kamsky
|
ya que lo solucionaste, sería bueno que publicases como, para que todos podamos aprender
salu2
|
|
|
|
|
En línea
|
----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---
hack 4 free!!
|
|
|
|
ozzmadark
|
TIernes razon Kamsky. El programa en cuiestion para autentificarse en el servidor pide que aparte de saberse el user y password, la direccion MAC sea la adecuada. sin esta el ID y PW son inutiles. Desde XP intente por medio de algunos soft, a travez del mismo driver de red, y editando el registro, cambiar satisfactoriamente mi direccion MAC, y a pesar de que al hacer un ipconfig/all la direccion efectivamente era la adecuada, el programa seguia enviado la direccion real de mi placa de red. Pude solucionarlo realizando esto mismo desde una maquina virtual, mas precisamente VirtualBox con XP instalado. Desde ahi al cambiar a travez del driver la direccion MAC el programa envio los datos que yo keria. Y como ya de antemano posea el ID y PW pude autentificarme con exito. Para los curiosos el programa en cuestion es el utilizado para prepagos telefonicos en argentina. http://resaamba.prepagos.com.ar/Gracias ! PD: esta info serviria a quien no pueda cambiar su direccion MAC y desee probar desde una maquina virtual, creo que seria conveniente por esa razon cambiar el nombre del thread a uno que tenga relacion con la solucion dada.
|
|
|
|
« Última modificación: 4 Octubre 2009, 18:02 por ozzmadark »
|
En línea
|
|
|
|
miguel86
Desconectado
Mensajes: 258
|
¿Pero el programa es para una red local o como es eso?No entiendo que un programa envíe la dirección MAC del ordenador origen, ¿y si estás conectado a través de ppoa? No sé suena muy raro que al nivel de aplicación se envíen los datos de la interfaz de red. Salu2
|
|
|
|
|
En línea
|
|
|
|
|
ozzmadark
|
¿Pero el programa es para una red local o como es eso?No entiendo que un programa envíe la dirección MAC del ordenador origen, ¿y si estás conectado a través de ppoa? No sé suena muy raro que al nivel de aplicación se envíen los datos de la interfaz de red. Salu2
El programa no necesariamente debe estar en una red local, yo por ejemplo lo estoy utilizando en una de las pc's que no esta en red. Envia la direccion de MAC como medio extra de autentificacion. Supuestamente para agregar mas seguridad al mismo, ya que en teoria la MAC de la pc es unica, aunque como vemos se puede falsear esta direccion. Sinceramente no se la diferencia entre PPPoE y PPPoA pero en Argentina solo se utiliza la primera de estas.
|
|
|
|
|
En línea
|
|
|
|
miguel86
Desconectado
Mensajes: 258
|
El programa no necesariamente debe estar en una red local, yo por ejemplo lo estoy utilizando en una de las pc's que no esta en red.
Ok, era por saber entonces si era el propio programa el que enviaba la MAC o el destino la obtenía de la trama, pero si no es para utilizar en la misma red, entonces es el propio programa (en la capa de aplicación) el que envía la mac, lo cuál es raro que un programa envíe datos que son de la propia interfaz de red. Envia la direccion de MAC como medio extra de autentificacion. Supuestamente para agregar mas seguridad al mismo, ya que en teoria la MAC de la pc es unica, aunque como vemos se puede falsear esta direccion.
¿Y que ocurre entonces sólo se puede acceder desde un ordenador? Porque en el momento que te cambias de ordenador ya no funcionaría, no está autentificando al usuario sino al equipo, como bien dices es una autentificación de equipos (más bien de interfaz) pero es que ademas por la propia forma de autentificación los equipos han de estar en una red ethernet (o derivada de esta que use MAC). Tampoco podrías cambiar la tarjeta de red del equipo, por eso lo de autentifica el interfaz, bueno más bien el interfaz junto con un nombre de usuario y pass (persona+equipo utilizado(interfaz utilizada)). Sinceramente no se la diferencia entre PPPoE y PPPoA pero en Argentina solo se utiliza la primera de estas.
Significa que si estás en cualquier otra red que no use protocolo MAC (cualquiera que no sea ethernet o derivada de ethernet) no hay dirección MAC con lo cual la forma de autentificación (la cuál es muy rara la verdad) no funcionaría, habrá el direccionamiento (si lo requiere la red) a nivel de red que sea (con su formato propio de direccion). PD:PPPoA es PPP sobre ATM, haber habrá en Argentina ATM, a lo mejor los proveedores de Internet dan acceso por PPoE, pero ten por seguro que la red usada por los proveedores es ATM en buena parte (y usada por cajeros, bancos, empresas, etc). Salu2
|
|
|
|
« Última modificación: 5 Octubre 2009, 04:20 por miguel86 »
|
En línea
|
|
|
|
|
TRICKY
|
lo cuál es raro que un programa envíe datos que son de la propia interfaz de red. Bueno, no es tan tan raro. Teniendo en cuenta que windoze, para la activacion WPA coge los 25 digitos de la clave, crea un Product ID de 20 digitos y este con LA MAC de la maquina se manda como un Installation ID, no es de extra*ar el uso de la misma como metodo de autenticacion de un porducto. Pero si que te entiendo que es raro el que, por cada ejecucion de la aplicacion, esta tenga que ser autenticada de esa manera. Imagino que la conexion sera por TCP. Me pregunto si con algun filtro de Ettercap podrias hacerlo de manera automatica.. Saludos.
|
|
|
|
|
En línea
|
"La envidia es una declaración de inferioridad" Napoleón.
|
|
|
|
|
miguel86
Desconectado
Mensajes: 258
|
Sí, tienes razón averno windows para la activación me suena que junto con el id de la instalación envía información del hardware del equipo (la interfaz la memoria la cpu etc), esto me suena de haberlo leido en algún lado de casualidad, lo que no se es si utilizando otra interfaz que no use MAC supongo que no habría ningún problema porque Windows no va a dejar sin soporte en este punto a todo aquello que no use ethernet (lo mismo el campo de la MAC lo deja vacío y rellena la demás información del hardware), lo que no sé es si el envío de esta información (hardware del equipo) es una forma de registro o algún tipo de identificación.
De los plugins de ettercap que conozco no se de ninguno que permita construir los paquetes que quieras e inyectarlos, aunque como ettercap tiene tantos plugins lo mismo hay alguno por ahí.
Salu2
|
|
|
|
|
En línea
|
|
|
|
|
TRICKY
|
Pues como dice miguel86, yo tampoco se muy bien como se elaboraria esa autenticacion en esos contextos.. Ahora, yo mas que a plugins de Ettercap como dnsspoof, me referia a Filtros, con etterfilter. De esos parecidos a C# que normalmente usamos para cambiar data "on the fly".. Saludos 
|
|
|
|
|
En línea
|
"La envidia es una declaración de inferioridad" Napoleón.
|
|
|
|
kamsky
|
a ver si te sirve, scapy, yo nunca lo he usado, pero por lo que he leido tiene buena pinta http://www.secdev.org/projects/scapy/
|
|
|
|
|
En línea
|
----NO HAY ARMA MÁS MORTÍFERA QUE UNA PALABRA BROTADA DE UN CORAZÓN NOBLE, Y UN PAR DE HUEVOS QUE LA RESPALDEN---
hack 4 free!!
|
|
|
tragantras
Desconectado
Mensajes: 466
|
jajaja averno, se te adelantó kamsky >,< que conste que pensaba crear un post preguntando por algun programa, pero ya que me ha contestado él =)
|
|
|
|
|
En línea
|
|
|
|
|
|
|
|