LINUX

Cómo instalar RKHunter en CentOS 7

En este artículo vamos a aprender a instalar y encontrar rootkits con Rootkit Hunter, entre otras amenazas, podrás utilizarlo para encontrar indicios de algunas variantes del malware XOR.DDoS, que actualmente se está utilizando para crear botnets con Sistemas Linux para ataques masivos distribuidos de denegación de servicio.

Se encontró el rootkit XOR DDoS

Tabla de contenido

  • Instalar en pc
    • Descargar
    • Parche – (opcional)
    • Instalar en pc
  • Configurar
    • pruebas
    • registros
    • whilelists
    • misceláneo
  • Correr

Instalar RKHunter

Descarga Rkhunter, prueba cURL para hacer esto.

curl http://nbtelecom.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz -o rkhunter-1.4.2.tar.gz

Luego extraiga el contenido del paquete.

tar zxvf rkhunter-1.4.2.tar.gz

Ingrese al directorio tarball.

cd rkhunter-1.4.2

Parche (opcional)

Este paso contra parcheará el script rkhunter y su base de datos para buscar el malware XOR DDoS Linux. Este parche se basa en el puerto y los archivos encontrados en los informes realizados por Akamai, Avast y El malware debe morir.

Ingrese en el directorio de archivos bajo el directorio rkthunter.

cd files

Instala el parche utilidad con yum.

yum install patch

Ahora descargue el parche.

curl http://sourceforge.net/p/rkhunter/patches/44/attachment/rkhunter.patch -o rkhunter.patch

Alternativamente, puede copiar y pegar el contenido del archivo rkhunter.patch desde aquí.

--- rkhunter    2014-03-12 17:54:55.000000000 -0300
+++ rkhunter.new        2015-10-02 17:01:25.040000000 -0300
@@ -7797,6 +7797,19 @@
#

+       # XOR.DDoS
+       XORDDOS_FILES="/lib/udev/udev
+                      /lib/udev/debug
+                      /etc/cron.hourly/cron.sh
+                      /etc/cron.hourly/udev.sh
+                      /lib/libgcc4.so
+                      /var/run/udev.pid
+                      /var/run/sftp.pid"
+       XORDDOS_DIRS=
+       XORDDOS_KSYMS=
+
+
+
# 55808 Variant A
W55808A_FILES="/tmp/.../r
/tmp/.../a"
@@ -11907,6 +11920,13 @@
return
fi

+       # XOR.DDoS Rootkit
+       SCAN_ROOTKIT="XOR.DDoS - Rootkit"
+       SCAN_FILES=${XORDDOS_FILES}
+       SCAN_DIRS=${XORDDOS_DIRS}
+       SCAN_KSYMS=${XORDDOS_KSYMS}
+       scanrootkit
+

# 55808 Trojan - Variant A

--- backdoorports.dat   2010-11-13 20:41:19.000000000 -0300
+++ backdoorports.dat.new       2015-10-02 17:10:24.086000000 -0300
@@ -12,6 +12,7 @@
2001:Scalper:UDP:
2006:CB Rootkit or w00tkit Rootkit SSH server:TCP:
2128:MRK:TCP:
+3502:Possible XOR.DDoS Botnet Malware:TCP:
6666:Possible rogue IRC bot:TCP:
6667:Possible rogue IRC bot:TCP:
6668:Possible rogue IRC bot:TCP:

Aplicar el parche en el rkhunter guión y backdoors.dat archivos con el siguiente comando.

patch < rkhunter.patch
salida rkhunter.patch
salida rkhunter.patch

El parche está hecho, ahora regrese al directorio raíz del tarball para continuar con la instalación.

cd ..

Instalar archivos

Ejecute el script de instalación con los siguientes parámetros para instalarlo en / usr / local.

./installer.sh --install --layout /usr/local

También puede utilizar el –ejemplos marca para mostrar más información de diseño y ejemplos o y el –show opción en lugar de la –Instalar en pc para mostrar lo que se instalará en su diseño.

Instalar Mostrar (recomendado)

los mostrar y mostrar-tcp las utilidades buscarán procesos y puertos ocultos, aunque no es obligatorio, es muy recomendable ya que la mayoría de los rootkits sofisticados ocultarán su presencia.

Primero, necesitamos instalar GNU Compiler Collection.

yum install gcc

Instale glibc-static, necesario para crear los binarios seccionados.

yum install glibc-static

Compila unhide-linux.

gcc -Wall -O2 --static -pthread unhide-linux*.c unhide-output.c -o unhide-linux

Compile unhide-tcp.

gcc -Wall -O2 --static unhide-tcp.c unhide-tcp-fast.c unhide-output.c  -o unhide-tcp

Instale los archivos en / usr / local / bin y cree un enlace simbólico para mostrar.

cp unhide-linux unhide-tcp /usr/local/bin && cd /usr/local/bin/ && ln -s unhide-linux unhide && cd -

Configurar

En esta sección, mostraré algunas de las opciones que se encuentran en el rkhunter.conf archivo, las opciones están separadas en grupos y su descripción se simplifica, lea la descripción real en el archivo y si no está seguro, simplemente ignore, ya que las opciones predeterminadas deberían ser suficientes, la mayoría de ellas están comentadas.

Le recomendamos que realice una primera ejecución antes de realizar los cambios reales en el archivo de configuración, esto le dará una mejor comprensión de cómo funciona rkhunter y la posibilidad de identificar algunos falsos positivos para incluirlos en la lista blanca del archivo de configuración.

Simplemente llame a rkhunter con el -C o –controlar parámetros.

rkhunter -c
Ejecutando rkhunter
Ejecutando rkhunter

Como puede ver en la imagen de arriba, habrá algunas advertencias sobre archivos como egrep o ifup to be script en lugar de binarios ELF, sin embargo, son archivos de sistema legítimos y la mayoría de las opciones en el archivo de configuración tratan sobre cómo hacer que rkhunter ignore tales ocurrencias.

Pruebas

Las siguientes opciones ENABLE_TESTS y DISABLE_TESTS establecen qué tipos de testículos se van a realizar, habilita todos y luego deshabilita los no deseados. Es una buena idea tener al menos suspscan deshabilitado de forma predeterminada, ya que es propenso a falsos positivos.

ENABLE_TESTS=ALL

DISABLE_TESTS=suspscan

Cubierta segura

Nunca es una buena idea habilitar el inicio de sesión de root en conexiones SSH, use su / sudo en su lugar; de lo contrario, establezca esto en yes.

ALLOW_SSH_ROOT_USER=no

Se sabe que la versión 1 del protocolo SSH es insegura, configúrelo en 1 para ignorar esta verificación de protocolo

ALLOW_SSH_PROT_V1=0

Puertos de red

Puertos de red permitidos con protocolo de formato: puerto

PORT_WHITELIST

Establezca la lista blanca para algunos programas con la sintaxis path_to_binary: protocol: port_number

PORT_PATH_WHITELIST=/usr/sbin/squid:TCP:3801

Versión de la aplicación

Esta opción le permite ejecutar algunas aplicaciones desactualizadas, esto generalmente no se recomienda y debe asegurarse de que la aplicación sea segura antes de incluirla en esta lista.

APP_WHITELIST=openssl:0.9.7d gpg httpd:1.3.29

Olfateadores

Permitir el uso de rastreadores, software que captura paquetes de red.

Permita que el siguiente proceso escuche la red, como la siguiente línea.

ALLOWPROCLISTEN=/usr/sbin/snort-plain

Esto permitirá que la interfaz de red enumerada escuche la red en modo promiscuo.

ALLOWPROMISCIF=eth0

Archivos

Necesitará crear algunas excepciones a las pruebas realizadas por rkhunter, las siguientes opciones le permiten omitir las pruebas a objetos específicos, como archivos, directorios.

Permita algunos directorios ocultos.

ALLOWHIDDENDIR=/etc/.java

Permitir algunos archivos ocultos.

ALLOWHIDDENFILE=/usr/share/man/man1/..1.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.k5identity.5.gz
ALLOWHIDDENFILE=/usr/share/man/man5/.k5login.5.gz

Esta lista blanca permitirá que algunos archivos sean scripts en lugar de un binario ELF.

SCRIPTWHITELIST=/usr/sbin/ifdown
SCRIPTWHITELIST=/usr/sbin/ifup
SCRIPTWHITELIST=/usr/bin/egrep
SCRIPTWHITELIST=/usr/bin/fgrep
SCRIPTWHITELIST=/usr/bin/ldd

Permitir que el archivo sea editable en todo el mundo.

WRITEWHITELIST=/usr/bin/date

Permitir que el archivo tenga cambios de atributos.

ATTRWHITELIST=/usr/bin/date

Permitir que el proceso consulte los archivos eliminados.

ALLOWPROCDELFILE=/sbin/cardmgr

Opciones de registro

Esto definirá en qué archivo iniciar sesión.

LOGFILE=/var/log/rkhunter.log

Establezca este en 1 si desea continuar registrando el mismo archivo cada vez que se ejecuta rkhunter, el valor predeterminado es 0, que agregará ‘.old’ al archivo de registro y creará uno nuevo.

APPEND_LOG=0

Si desea conservar el archivo de registro cuando hay algún problema, establezca la siguiente opción en 1.

COPY_LOG_ON_ERROR=0

Descomente y configure la función de registro si desea utilizar syslog.

USE_SYSLOG=authpriv.warning

De forma predeterminada, los elementos incluidos en la lista blanca informarán bien en las pruebas; si desea resaltar los elementos incluidos en la lista blanca, debe establecer esta opción en 1.

WHITELISTED_IS_WHITE=0

Opciones del sistema operativo

Configure la opción del administrador de paquetes en RPM en sistemas similares a Red Hat, que incluyen CentOS.

PKGMGR=RPM

Habilite esta opción para informar de una advertencia cuando el sistema operativo cambie de versión o lanzamiento.

WARN_ON_OS_CHANGE

¿Debemos actualizar nuestra base de datos cuando cambie el sistema operativo?

UPDT_ON_OS_CHANGE

Dónde encontrar el archivo de versión del sistema operativo, configúrelo en / etc / redhat-release en CentOS.

OS_VERSION_FILE=/etc/redhat-release

Cierre

Si es probable que tenga más de un rkhunter ejecutándose al mismo tiempo, debe habilitar esta opción para habilitar el uso de archivos de bloqueo y evitar la corrupción de la base de datos.

USE_LOCKING=0

Si habilitó el uso de bloqueos, debe establecer un tiempo de espera para evitar interbloqueos.

LOCK_TIMEOUT

¿Debemos advertir sobre sesiones bloqueadas?

SHOW_LOCK_MSGS

Startup y Superdeamon

¿Dónde está el archivo de configuración inetd?

INETD_CONF_PATH=/etc/inetd.conf

Qué servicios pueden ejecutarse a través de inetd.

INETD_ALLOWED_SVC=/usr/sbin/rpc.metad /usr/sbin/rpc.metamhd

Archivo de configuración de Xinetd.

XINETD_CONF_PATH=/etc/xinetd.conf

Rutas de archivos de inicio RC.

STARTUP_PATHS=/etc/rc.d /etc/rc.local

Cuentas

El archivo que contiene las contraseñas ocultas.

PASSWORD_FILE=/etc/shadow

Permitir cuentas de usuario distintas de raíz tener UID 0.

UID0_ACCOUNTS=toor rooty

Permitir cuentas sin contraseña.

PWDLESS_ACCOUNTS=abc

Syslog

Archivo de configuración de Syslog.

SYSLOG_CONFIG_FILE=/etc/syslog.conf

Permita que syslog inicie sesión de forma remota.

ALLOW_SYSLOG_REMOTE_LOGGING=0

Informes

¿Informar el número de advertencias?

SHOW_SUMMARY_WARNINGS_NUMBER

¿Muestra el tiempo total necesario para ejecutar las pruebas?

SHOW_SUMMARY_TIME

Para recibir informes por correo cuando rkhunter encuentre algo, debe configurar las siguientes opciones, así como tener una aplicación de correo.

Quién recibirá el correo electrónico.

MAIL-ON-WARNING=your-email@your.domain

Qué comando se utilizó para enviar correo electrónico.

MAIL_CMD=mail -s "[rkhunter] Warnings found for ${HOST_NAME}"

Ejecutando rkhunter

De acuerdo, en este punto ya debería haber ejecutado rkhunter al menos una vez, ahora eche un vistazo a algunas otras banderas que se pueden usar con rkhunter.

Verifique sus cambios

Una vez que haya terminado con la configuración, ejecute rkhunter con el -C o –check-config marca para comprobar si hay algún error en el archivo.

rkhunter -C

Actualización de propiedades

Ahora, y cada vez que cambie el archivo de configuración, asegúrese de actualizar la base de datos de propiedades del archivo.

rkhunter --propupd

Informar solo de advertencias.

rkhunter --rwo

A veces desea ejecutar solo una prueba específica, para este intento – lista de pruebas para obtener los nombres de las pruebas disponibles y luego usar el –habilitar bandera seguida del nombre de la prueba.

rkhunter --list tests
red de comprobación rkhunter
red de comprobación rkhunter

La siguiente opción deshabilitará el aviso de pulsación de tecla.

rkhunter --sk

Para ejecutar rkhunter en un cronjob use el –cronjob bandera, crea el archivo ejecutable /etc/cron.daily/rkhunter.sh con los siguientes contenidos para hacer un chequeo diario

#!/bin/sh

( /usr/local/bin/rkhunter --versioncheck
/usr/local/bin/rkhunter --update

/usr/local/bin/rkhunter --cronjob -c ) >> /dev/null 2>&1

Conclusión

Esto debería ayudarlo a comenzar con rkhunter, brindándole una capa de seguridad más, sin embargo, esto no será suficiente si descuida los principios básicos de seguridad y si coloca todas las advertencias que encontró en listas blancas en lugar de mitigar los problemas. También tenga en cuenta que rkhunter le ayudará a evitar que sus máquinas se conviertan en miembros de una botnet de Linux, pero no protegerá su sitio de ser blanco de una campaña DDoS. ¡Gracias por leer!

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar