Entonces unas noches después entre tantas busquedas accedimos al sitio web del Banco de Danske entre los sitios de bancos buscados, navegando a través del sitio y sus botones subdominios, paginas de error inducidas, y era curioso ver como el código de HTML trabajaba (la traduccion html), abrió el código de la pantalla de conexión de cliente del entorno bancario. Yo scrolleaba a través del código para conseguir una vista aproximada de la tecnología usada. Entonces mis ojos se detuvieron en los comentarios de JavaScript que parecieron contener la información del servidor interno. No solamente unas variables, bastantes datos confidenciales en realidad (!). Estaba en un URL el formato codificado, entonces lo descifré enseguida. Preguntándome sobre los secretos que contuvieron.
Cuando lo descifré, quedé impresionado. Esto está pasando en realidad? en menos de un minuto estaba sobre su sitio web como usuario que accede con su cuenta. Con solo buscar dentro del código de HTML de la pantalla de conexión, una de las páginas más visitadas del sitio web del Banco Danske. Nunca me enteré de este banco, pero mis nuevos amigos me dijeron esto era el banco más grande en Dinamarca.
El filtrado de informacion técnicael código de HTML de la pantalla de conexión que consiguió mi atención era lo siguiente:
Al media vista, encima del código de la función parece comentario normal y simple, pero yo inmediatamente vi palabras como HTTP_CONNECTION y HTTP_ACCEPT. Esto es extraño. Normalmente estas palabras clave sólo son usadas sobre el servidor mismo, y nunca debió haber sido enviado a visitantes.
¿Notaste la barra de desplazamiento horizontal en el cuadro? Mucho código está disponible si usted corre a la derecha. En el código vemos muchos carácteres de porcentaje (el %) son visibles y esto quiere decir que el código es URL codificado. Cuando usted descifra aquellos códigos y estructura los datos, entonces la tabla siguiente puede ser construida:
| ASP.NET_SessionId | = | kbthxf55aiit4yn0zgx1ks55 |
| APPL_MD_PATH | = | /LM/W5SVC/1255924431/ROOT |
| APPL_PHYSICAL_PATH | = | d:\data\iis\www.danskebank.dk\wwwroot\ |
| AUTH_TYPE | = | |
| AUTH_USER | = | |
| AUTH_PASSWORD | = | |
| LOGON_USER | = | |
| REMOTE_USER | = | |
| CERT_COOKIE | = | |
| CERT_FLAGS | = | |
| CERT_ISSUER | = | |
| CERT_KEYSIZE | = | |
| CERT_SECRETKEYSIZE | = | |
| CERT_SERIALNUMBER | = | |
| CERT_SERVER_ISSUER | = | |
| CERT_SERVER_SUBJECT | = | |
| CERT_SUBJECT | = | |
| CONTENT_LENGTH | = | 0 |
| CONTENT_TYPE | = | |
| GATEWAY_INTERFACE | = | CGI/1.1 |
| HTTPS | = | off |
| HTTPS_KEYSIZE | = | |
| HTTPS_SECRETKEYSIZE | = | |
| HTTPS_SERVER_ISSUER | = | |
| HTTPS_SERVER_SUBJECT | = | |
| INSTANCE_ID | = | 1255724431 |
| INSTANCE_META_PATH | = | /LM/W3SVC/1175724431 |
| LOCAL_ADDR | = | 10.197.22.250 |
| PATH_INFO | = | /da-dk/Privat/Selvbetjening/raadgivning/Teknisk-support/Pages/Teknisk-support.aspx |
| PATH_TRANSLATED | = | d:\dat\iis\www.danskebank.dk\wwwroot\da-dk\Privat\Selvbetjening\raadgivning\Teknisk-support\Pages\Teknisk-support.aspx |
| QUERY_STRING | = | secsystem=JI |
| REMOTE_ADDR | = | 10.197.22.123 |
| REMOTE_HOST | = | 10.197.22.123 |
| REMOTE_PORT | = | 63276 |
| REQUEST_METHOD | = | GET |
| SCRIPT_NAME | = | /da-dk/Privat/Selvbetjening/raadgivning/Teknisk-support/Pages/Teknisk-support.aspx |
| SERVER_NAME | = | www.danskebank.dk |
| SERVER_PORT | = | 80 |
| SERVER_PORT_SECURE | = | 0 |
| SERVER_PROTOCOL | = | HTTP/1.1 |
| SERVER_SOFTWARE | = | Microsoft-IIS/7.5 |
| URL | = | /da-dk/Privat/Selvbetjening/raadgivning/Teknisk-support/Pages/Teknisk-support.aspx |
| HTTP_CONNECTION | = | Keep-Alive |
| HTTP_ACCEPT | = | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| HTTP_ACCEPT_LANGUAGE | = | da,en-US;q=0.7,en;q=0.3 |
| HTTP_COOKIE | = | cookiesOn=yes; s_vi=[CS]v1|2ADB987F85111696-6000013120021EC1[CE]; mbox=session#1440619645928-786416#1440611516; s_cc=true; s_sq=%5B%5BB%5D%5D; s_sv_sid=695191168575; QSI_HistorySession=http%3A%2F%2Fwww.danskebank.dk%2Fda-dk%2FPrivat%2FPages%2FPrivat.aspx~1440619560049 |
| HTTP_HOST | = | www.danskebank.dk |
| HTTP_REFERER | = | http://www.danskebank.dk/da-dk/Privat/Pages/Privat.aspx |
| HTTP_USER_AGENT | = | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 |
| HTTP_REVERSE_VIA | = | W93917 |
| HTTP_CLIENTPROTOCOL | = | https |
| HTTP_CLIENTIP | = | 80.166.145.257 |
| HTTP_CLIENTPORT | = | 45483 |
| HTTP_SOPSECRETURNCODE | = | 000 |
| HTTP_SOPGSAFTLNR | = | C002334 |
| HTTP_SOPGSSESSION | = | jYcemDSCIjJk |
| HTTP_SOPLSID | = | WYU2PQGXGYYSWU5344YMAFJZ |
| HTTP_SOPGLOBALUSERID | = | C002334 |
| HTTP_SOPSESMTTS | = | 2015-08-26-20.03.26.132946 |
| HTTP_SOPCENTER | = | 1 |
| HTTP_SOPMVS | = | M2SR |
| HTTP_SOPDB2MEMBER | = | DEP9 |
| HTTP_SOPQMGR | = | QBPL |
| HTTP_SOPFECICS | = | CICRPPI |
| HTTP_SOPTID | = | 2015-08-26-22.07.44.322171 |
| VTI_IS_INCLUDED_PATH | = | 1 |
Analizando los datos vi algo extraño. Mi propia dirección IP no fue catalogada en la variable HTTP_CLIENTIP y esta dirección catalogada no era también una dirección IP de servidor interna. Cuando traduje la dirección IP 80.166.145.257 correspondía al nombre de dominio totalmente calificado, la respuesta que hallé fue 80-166-145-257-static.dk.customer.tdc.net.
¿Notó el .dk en el resultado? Esto quiere decir que es una dirección IP de Dinamarca. Probablemente la dirección IP que yo veo es de un visitante del sitio, y con mucha probabilidad un cliente del Banco de Danske. Si refrescara la pantalla de conexión otra vez, yo conseguiría ver un juego diferente de datos, de otro cliente. Repetí esto unas veces y recuperé registros diferentes cada vez. Esta observación es muy interesante, pero entonces otra vez: muy alarmante.
Hijacking a cuentas del banco
Echandole un vistazo más exhaustivo a los datos vi que la variable HTTP_USER_AGENT contiene un sistema operativo y el navegador web que yo no estoy usando. casi me quedo sin aliento. Entonces vi también que la variable HTTP_COOKIE era visible y que estaba lleno de información. Para aquellos que no se familiarizan con las cookies: las cookies son las llaves que dan el acceso a una cuenta cuando está conectado. ¡Y ahora miro las credenciales de cuenta en línea bancaria de alguien!
Estoy impresionado. No puedo creer esto. ¡Es tan obvio y a simple vista! ¿Cómo es queen el Banco de Danske notó esto antes? Si el cliente de los datos que nosotros vemos es conectado en este momento, y si copio aquellas galletas y los importo en mi navegador, entonces también soy conectados como aquel cliente. Esto es como el trabajo de galletas, y así esto es como identifican trabajos de robo. Tuve que oponerme al impulso de secuestrar esta cuenta bancario para demostrar mi caso. Si secuestrara esta cuenta, significaría que violo la ley. Y esto no va a pasar.

No hay comentarios:
Publicar un comentario