Random IRC quote :      <coder> le corregí una formula a albert einstein

Yo sólo quería dar de alta el puto ADSL…lo juro.

cabreao Estoy más quemao que el mechero de melendi, llevo dos días intentando dar de alta el ADSL para el piso de mi hermana.¿Fácil? Aparéntemente sí, pero las cosas se tuercen y al final acabo descubriendo un stack overflow. Empecemos por el principio… Parece que telefónica tiene ahora una promoción chula que si te das de alta online pues te regalan el alta de línea, un router chiniwini,un balon de playa etc,etc… Pues nada fuí a la página, pin pan pin pan, llego a lo de comprar, meto los datos y nada, me salta con que «el sistema no opera con normalidad en estos momentos que lo intente de nuevo dentro de unos instantes». Bueno pues eso fue el lunes por la mañana, hoy sigue sin chutar.

Pues nada presto fuí a contactar con algún «agente especializado» de atención al cliente, no había teléfonos a la vista ni correo electrónico. Sin embargo te daban la opcion de un chat, con videoconferencia incluida si quieres…http://www.telefonicaonline.com/on/io/navegacion/zd.html?id=19

Para ello te tienes que instalar un activex de la compañía «Infinity comunicaciones» http://www.infinity.es. Me lo instalo, le doy a ver si me contacta y nada, esto es lo que recibo.

Pues ya que estoy voy a mirar a ver que me han instalado estos mangarranes:
El activex es una pequeña dll llamada wsclient.dll cuyo único objetivo es ejecutar un programa llamado WsClient.exe como veremos después, el cual se ha instalado en «%ProgramFiles%\O1\WsClient».

Vamos a ver qué nos dice el oleview:

interface IWSClientCtl : IDispatch {
[id(0x00000001), helpstring(«method startUp»)]
HRESULT startUp(
[in] BSTR sTitle,
[in] BSTR sTopWnd);
[id(0x00000002), helpstring(«method downWS»)]
HRESULT downWS();
};

El navegador instancia el objeto, pun, llama a startup y se ejecuta el WsClient que nos intenta conectar con la atención al cliente de telefónica mediante un chat y eso. Digo intenta, porque a estas horas no lo he conseguido todavía. Bueno esta aplicación es la parte cliente de VisualSharing, un software de teleasistencia desarrollado por la empresa que hablábamos antes,Infinity.

Sacamos al IDA de paseo y lo primero me voy a a buscar el import de CreateProcess en WsClient.dll ya que como hemos visto despues de instanciar la movida, se creaba el proceso este de WsClient.exe

 loc_10008CA7:                           ; CODE XREF: sub_10008BFB+96j
.text:10008CA7                 push    [ebp+arg_8]
.text:10008CAA                 push    [ebp+arg_4]
.text:10008CAD                 push    esi
.text:10008CAE                 push    offset aSWsclientWsc_1 ; "%s\\WSClient\\WSClient.exe %S %S"
.text:10008CB3                 push    eax             ; char *
.text:10008CB4                 call    _sprintf
.text:10008CB9                 add     esp, 14h
.text:10008CBC
.text:10008CBC loc_10008CBC:                           ; CODE XREF: sub_10008BFB+91j
.text:10008CBC                                         ; sub_10008BFB+AAj
.text:10008CBC                 lea     eax, [ebp+hObject]
.text:10008CBF                 push    eax             ; lpProcessInformation
.text:10008CC0                 lea     eax, [ebp+StartupInfo]
.text:10008CC3                 push    eax             ; lpStartupInfo
.text:10008CC4                 push    ebx             ; lpCurrentDirectory
.text:10008CC5                 push    ebx             ; lpEnvironment
.text:10008CC6                 push    4000008h        ; dwCreationFlags
.text:10008CCB                 push    ebx             ; bInheritHandles
.text:10008CCC                 push    ebx             ; lpThreadAttributes
.text:10008CCD                 push    ebx             ; lpProcessAttributes
.text:10008CCE                 lea     eax, [ebp+CommandLine]
.text:10008CD4                 push    eax             ; lpCommandLine
.text:10008CD5                 push    ebx             ; lpApplicationName
.text:10008CD6                 call    ds:CreateProcessA

 

Pues sí, parece que es lo que pensabamos: dos argumentos le pasa en el sprintf, dos argumentos tiene el método startup, por «deformación profesional» vemos el buffer que se usa para sprintf

—–
.text:10008BFB CommandLine     = byte ptr -260h  <<= Tom cruise llora !!
—–
.text:10008C75                 lea     eax, [ebp+CommandLine] ; MAAAAAAAAAL!!!
 

Como véis es un buffer estático reservado en la pila. Esto es, stack overflow habemus. Los argumentos que le podemos pasar al método startUp no son validados de ninguna manera así que podemos sobreescribir la pila con lo que la explotación es trivial. Además el activex no tiene ningún tipo de restricción y se puede instanciar desde cualquier página externa a www.telefonicaonline.com. Esto sí que es atencion al cliente, habéis triunfado.

Como curiosidad, la atencion online de la página www.metromadrid.es también se basa en este sistema, pero si anteriormente te has instalado ya el .cab desde la web de telefónica, el navegador te instancia el WsClient de Telefónica con el logotipo de telefónica incluido, di que sí 2×1 y lo que venga…Spain is different.

Busqué en la web de infinity y en la de telefónica un contacto para temas de seguridad pero nada de nada. Como no tengo porqué explicarle esta movida a un comercial pues nada, ahí se queda el bug para los amantes de los targeted attacks y para los pobres usuarios de la también pobre atención al cliente de telefónica. Allá penas. Si algún amable lector tiene contacto con alguien relacionado con alguna de estas dos empresas pues si quieren que lo miren y si no pues aquí paz y después gloria.

Y sigo sin poder dar de alta el ADSL. Mierda para Telefónica.

14 Comentarios para “Yo sólo quería dar de alta el puto ADSL…lo juro.”

  1. Comment por ruben | 07/04/07 at 1:47 pm

    Por fin llamé al 1004 para ver qué pasaba con la web, parece ser que tienen abiertas ya varias incidencias al respecto, aprovechando que estaba ya pues les dije:

    – Rubén: «¿Podría hablar con alguien responsable de la seguridad de telefonicaonline.com?»
    – Telefónica: «No»
    – Rubén: «Pues vale»

    En fin, no es que sea un asunto de la máxima gravedad pero vamos que digo yo que podían tener un poco cubierto el tema de poder contactar para estos temas. Yo desde luego ya paso de seguir intentándolo…

  2. Comment por Emirodgar | 07/04/07 at 2:53 pm

    Pues si, la verdad es que da pena, es triste que no se le preste toda la atención que se necesita a la seguridad.. pero bueno a saber quien programó eso.. con tanta intrusión laboral..

  3. Comment por sha0 | 07/05/07 at 10:52 am

    Muy wapo ese stack bof 😉
    El truco para que te hagan caso en 1004 es decir la palabra «alta»,
    entonces el sistema telefonico prioriza tu llamada, entonces luego pones reclamacion, o pides que te pasen con quien sea.
    AD+ como que en la sección alta puedes votar al que te atiende, le interesa atenderte bien.

    salu2

  4. Comment por mballano | 07/05/07 at 12:34 pm

    Envia ALTA VULNERABILIDAD al 7777 X-DDDD

  5. Comment por Zohiartze Herce | 07/06/07 at 7:50 am

    Sí, Politono Toño al 7777…

    Subcontratados del mundo unios y abandonad la telefonica, os mereceis un trabajo mejor.

  6. Comment por erg0t | 07/06/07 at 5:02 pm

    No me digas que ahi tambien pasan esas publicidades curtes para los moviles?

  7. Comment por kakel | 07/06/07 at 5:40 pm

    ahora no me van a poner el adsl nunca….

  8. Comment por atarasco | 07/10/07 at 8:02 am

    JA JA JA JA JA KERS!

    me parto!!!!! 😉

  9. Comment por Mario Ballano | 07/10/07 at 8:26 am

    envia «JA KER» al 8888 X-DDD

  10. Comment por pinger | 07/11/07 at 9:10 pm

    Wenas, pues yo diria q tendrias q contactar con los fabricantes del invento en lugar de con telefonica no crees??

    Sobre darte de alta en telefonica … para q haces eso¿¿¿??? buscate cualquier otra empresa q te van a tratar igual de mal y te cobraran menos ( y esto lo dice un subcontratao de la timo 😉

    P.D Mañana miro si hay algun sitio en la intra de la timo para reportar algo parecido a una incidencia de seguridad 🙂

  11. Comment por Ruben | 07/12/07 at 8:50 am

    Hola Pinger,

    Como ya había puesto en el post, busqué un contacto de seguridad de Infinity pero nada de nada. Símplemente le pasé la pelota a Telefónica porque ya que estaba al teléfono con lo del ADSL pues digo bueno así aprovecho, pero vamos visto lo visto…

    En cuanto a lo de contratar el servicio, pues hombre qué quieres que te diga pero siempre he andado con telefónica y me ha ido bastante bien, hay que reconocerlo. Separando lo que es la atención al cliente de este tema de seguridad.

    De hecho en 3 días después de contratarlo, por fín, ya está todo funcionando.

    Yo sólo hablo del servicio que es lo que conozco, supongo que en cuanto al tema laboral pues como en todos lados cuecen habas, en Telefónica no iba a ser menos.

    Un saludo.

  12. Comment por pinger | 07/12/07 at 3:14 pm

    Definitivo, he dedicado 10 minutos de mi curro a buscarte la direccion de alguien de seguridad, pero como q no he encontrado nada al menos a simple vista, no habia ningun enlace para avisar de cosas asi, asi q … q le den …

    Si desarrollas algun exploit para ese bug ya nos daras un toque eh 😉

    Saludos.

  13. Comment por Ruben | 07/13/07 at 1:32 pm

    Gracias por haberlo intentado pinger, pero vamos que has llegado a la misma conclusión que yo xDD que le den.

    El exploit es trivial asi que en 10 minutos te puedes hacer uno. ¡ Fácil y sencillo amigooooooos !

  14. Comment por el hacke | 09/06/07 at 6:59 pm

    retrasados

Se han cerrado los comentarios