chuso.net

Etiqueta: hack

Cómo recuperé un sistema después de renombrar ld-linux.so

Sí, ya lo sé, puede que haya sido un poco una estupidez renombrar ld.so, ¿podemos obviar este detalle?
No es algo que suela hacer a menudo, pero ese día, no sé, me apetecía innovar o algo.

Pero la innovación resultó ser un desastre, resulta que no es muy buena idea renombrar una biblioteca con la que enlazan usando su ruta exacta todos los ejecutables dinámicos del sistema, ya os aviso por si vais a tener la misma idea.


Cómo «hackear» el whois

Supongo que no cuento nada nuevo si digo que ayer se cayó Facebook. Lo nuevo viene a continuación... o no, porque es algo que se viene haciendo desde hace años.

Supongo también que buscando el motivo de la caída o por puro aburrimiento esperando a que volviera Facebook, a alguien le dio por consultar el whois de Facebook desde la línea de comandos:

# whois facebook.com

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Server Name: FACEBOOK.COM.ZZZZZ.GET.LAID.AT.WWW.SWINGINGCOMMUNITY.COM
   IP Address: 69.41.185.229
   Registrar: TUCOWS.COM CO.
   Whois Server: whois.tucows.com
   Referral URL: http://domainhelp.opensrs.net

   Server Name: FACEBOOK.COM.MORE.INFO.AT.WWW.BEYONDWHOIS.COM
   IP Address: 203.36.226.2
   Registrar: INSTRA CORPORATION PTY, LTD.
   Whois Server: whois.instra.net
   Referral URL: http://www.instra.com

   Server Name: FACEBOOK.COM.LOVED.BY.WWW.SHQIPHOST.COM
   IP Address: 46.4.210.254
   Registrar: ONLINENIC, INC.
   Whois Server: whois.onlinenic.com
   Referral URL: http://www.OnlineNIC.com

   Server Name: FACEBOOK.COM.KNOWS.THAT.THE.BEST.WEB.HOSTING.IS.NASHHOST.NET
   IP Address: 78.47.16.44
   Registrar: CENTER OF UKRAINIAN INTERNET NAMES
   Whois Server: whois.ukrnames.com
   Referral URL: http://www.ukrnames.com

   Server Name: FACEBOOK.COM.GET.ONE.MILLION.DOLLARS.AT.WWW.UNIMUNDI.COM
   IP Address: 209.126.190.70
   Registrar: PDR LTD. D/B/A PUBLICDOMAINREGISTRY.COM
   Whois Server: whois.PublicDomainRegistry.com
   Referral URL: http://www.PublicDomainRegistry.com

   Domain Name: FACEBOOK.COM
   Registrar: MARKMONITOR INC.
   Whois Server: whois.markmonitor.com
   Referral URL: http://www.markmonitor.com
   Name Server: A.NS.FACEBOOK.COM
   Name Server: B.NS.FACEBOOK.COM
   Status: clientDeleteProhibited
   Status: clientTransferProhibited
   Status: clientUpdateProhibited
   Status: serverDeleteProhibited
   Status: serverTransferProhibited
   Status: serverUpdateProhibited
   Updated Date: 28-sep-2012
   Creation Date: 29-mar-1997
   Expiration Date: 30-mar-2020

Pero... un momento... ¿Esto qué es? FACEBOOK.COM.ZZZZZ.GET.LAID.AT.WWW.SWINGINGCOMMUNITY.COM, FACEBOOK.COM.GET.ONE.MILLION.DOLLARS.AT.WWW.UNIMUNDI.COM, FACEBOOK.COM.LOVED.BY.WWW.SHQIPHOST.COM, ... Estoy seguro de que Facebook no quiere que eso salga ahí. La conclusión precipitada fue «Facebook se ha caído porque lo han hackeado» y así se empezó a propagar por Twitter, con la colaboración incluso de algunos periodistas (eh, contrastar la información, ¿recuerdan?).


Luchando contra el recordador de contraseñas del Firefox

La situación es la siguiente: una página web en la que tras acceder con un nombre de usuario y una contraseña se puede dar de alta a nuevos usuarios y un usuario que usa Mozilla Firefox con la opción de recordar contraseñas.

El caso: el usuario crea una nueva cuenta o bien accede con una cuenta y luego edita esa misma cuenta desde otra cuenta

El problema: Al crear la nueva cuenta el Firefox le rellenará los campos con el nombre y contraseña de la cuenta actual. Al editar la cuenta el Firefox le rellenará los campos con el nombre y contraseña que se están editando que también están en el recordador de contraseñas, si el usuario no edita con la intención de cambiar la contraseña no se fija en que sólo el primero de los dos campos "Contraseña" y "Repetir contraseña" tiene contenido por lo que al darle a guardar le dará el error de "Las dos contraseñas no coinciden".


Módulo del núcleo de Linux para programar eventos al pulsar teclas

A modo de prueba del uso de kprobes para la asignatura de Ampliación de Sistemas Operativos he programado este módulo para Linux que permite ejecutar un comando para cada tecla pulsada así como ver cada tecla pulsada.

Incluye unos scripts de demostración que se pueden usar como el comando que se ejecutará con cada tecla pulsada, estos scripts son:

  • keylogger

    Registra cada tecla pulsada en un fichero.

  • printscr

    Si framebuffer está activado permite hacer una captura de pantalla en consola usando la tecla imprimir pantalla (PrtSc).


Notificaciones de sonido para Portage

La situación es la siguiente: ejecutas emerge con la opción --ask y como puede tardar un rato en calcular las dependencias te pones a hacer otra cosa. Al cabo de un rato, cuando ya te habías olvidado, descubres ese emerge que hace tiempo que terminó de calcular las dependencias y está esperando a que le des confirmación cuando ya podía haber terminado. ¿Nunca te ha pasado? A mí sí. Es por cosas como ésta que he añadido notificaciones sonoras a algunos eventos de Portage a modo de parche para el comando emerge.


Buscar ficheros modificados de paquetes de Gentoo

¿Sabías que el desarrollo de teTeX fue abandonado hace más de dos años? Pues sí, y se recomienda migrar a TeX Live. En ello estaba yo siguiendo la guía de Gentoo Linux para tal fin cuando encuentro que la susodicha guía dice: en el caso de que hayas modificado los ficheros de configuración de tetex en /etc/texmf.... ¿Y yo como lo voy a saber? Modifico muchos ficheros de configuración y no puedo acordarme de todos los que he tocado. Se me ocurrió que podría usar equery para comprobarlo, pero sólo conozco el comando para comprobar todos los ficheros de un paquete y no un sólo fichero, así que pensé que acabaría antes haciendo un script que haga lo que yo quiero que leyendo todo el manual de equery sin saber si iba a encotrar lo que quería. Así que, aquí está, el script que comprueba si determinados ficheros de un determinado paquete fueron modificados:


Descargar con RapidShare premium en Opera

La culpa vuelve a ser de Fonso, que me pregunta por algo similar a FlashGot pero para Opera y en Linux, es decir, un modo de poder seleccionar en el navegador un bloque de URLs de RapidShare para descargarlas con una cuenta premium en un gestor de descargas. Y yo claro, al no encontrar nada, pues no pude evitar ponerme a hacer algo.

Acabé con un script de bash que acepta como parámetros una lista de enlaces y los añade en el gestor de descargas Aria con cuenta premium the RapidShare. Usar aria no fue una elección, ya que fue el único que encontré, aparte de wget, que soporta cuentas premium de RapidShare (es decir, autenticación HTTP) sin problemas.


Nuevo Google Docs y Opera

Actualización: Este parche ya no es necesario con Opera 9.5. Comprueba tu versión y actualiza si es necesario.

Hace poco Google sacó una nueva versión de Google Docs y si pensabas que había aprovechado la ocasión para añadir (aunque sólo fuera un poco) compatibilidad con otros navegadores, no podías estar más equivocado. De hecho, en el caso de Opera, fue a peor.

Si antes era suficiente con añadir ?browserok=true para poder entrar en Google Docs con Opera y hacerlo pasar por Internet Explorer para poder entrar en Spreadsheets, ahora al entrar en Google Docs se queda recargando continuamente y Spreadsheets sólo es usable en un cutre módo sólo lectura (haciéndolo pasar por MSIE da errores).


Añadiendo enlaces a MLDonkey desde Opera

Envidiaba la extensión de Firefox para MLDonkey poder añadir elinks y torrents al MLDonkey desde el navegador con un simple click, aunque el MLDonkey estuviera ejecutándose en otro equipo. Era un lujo que quería tener también disponible en mi Opera, así que me puse manos a la obra, es bastante fácil.

Debería ser incluso más fácil usando la opción -remote openURL() de Opera, pero me encontré con varios problemas haciéndolo de esta manera (básicamente, que ignora el parámetro %U), así que al final tuve que hacerlo de la siguiente manera:


Evita Canalmail

Cualquiera que se mueva un poco por portales comunitarios tipo PHPNuke y similares seguro que se ha encontrado alguna vez con alguno en el que le pedían el registro en Canalmail para acceder a alguna de sus secciones (por ejemplo, a los enlaces de descarga). Canalmail es un servicio de envío masivo de emails publicitarios bastante molesto y como una de las webs que más visito se pasó a Canalmail he acabado haciendo este script en JavaScript que en el Opera sistituye las URLs intermedias de Canalmail por la URL final evitando tener que registrarse en Canalmail.