Actualmente, los únicos escáneres de rootkit que conozco tienen que instalarse en la máquina antes del rootkit para que puedan comparar los cambios de archivos, etc. (por ejemplo: chkrootkit
y rkhunter
), pero lo que realmente necesito hacer es poder escanear mi máquina y otras máquinas desde un LiveUSB porque si el rootkit es lo suficientemente bueno, también se habrá apoderado de los programas de detección de rootkit.
Entonces, ¿hay un escáner de rootkit basado en firmas para Ubuntu / Linux que pueda instalar en un LiveUSB y usar para escanear de manera confiable las máquinas en las que lo conecto sin tener que monitorear el comportamiento o comparar archivos de fechas anteriores?
rkhunter
probablemente no servirá de mucho. De hecho, si se instala un rootkit, esperaríarkhunter
que ya no dé resultados precisos, por lo que es un poco tonto que solo sea una herramienta instalada en la máquina real que se vea comprometida.Respuestas:
AIDE ( A VANZADO I ntruder D etección E nvionment) es un reemplazo al
tripwire
mencionado en otra respuesta aquí. De wikipedia :Funcionalidad
AIDE toma una "instantánea" del estado del sistema, registra hash, tiempos de modificación y otros datos relacionados con los archivos definidos por el administrador. Esta "instantánea" se utiliza para construir una base de datos que se guarda y se puede almacenar en un dispositivo externo para su custodia.
Cuando el administrador quiere ejecutar una prueba de integridad, el administrador coloca la base de datos previamente construida en un lugar accesible y le ordena a AIDE que compare la base de datos con el estado real del sistema. Si se produce un cambio en la computadora entre la creación de la instantánea y la prueba, AIDE lo detectará e informará al administrador. Alternativamente, AIDE puede configurarse para ejecutarse según un cronograma e informar cambios diariamente utilizando tecnologías de programación como cron, que es el comportamiento predeterminado del paquete AIDE de Debian. 2
Esto es principalmente útil por razones de seguridad, dado que AIDE informará cualquier cambio malicioso que pudiera haber ocurrido dentro del sistema.
Desde que se escribió el artículo de Wikipedia, el actual mantenedor Richard van den Berg (2003-2010) ha sido reemplazado por un nuevo mantenedor Hannes von Haugwitz desde 2010 hasta la actualidad.
La página de inicio de AIDE indica que Debian es compatible, lo que significa que la aplicación se puede instalar en ubuntu con el predecible:
En cuanto a la portabilidad y la memoria USB, la página de inicio dice:
Esto implica para mí que podría tener la base de datos de firmas en su pen drive junto con la aplicación en el almacenamiento persistente USB en vivo. No estoy seguro de que AIDE satisfaga sus necesidades, pero como es un reemplazo de
tripwire
su favorito actual, merece la pena investigarlo.fuente
cron
en la mayoría de las instalaciones. Podría considerarlo yo mismo no solo para la protección del rootkit, sino también para protegerme de mi propia mala programación: p También podría ser educativo ver qué cambia después de unaapt get install
.Me recuerda a Tripwire que crea sumas de verificación criptográficas de los archivos que especifique. Instale una copia del sistema que está comprobando desde una fuente buena conocida (DVD, por ejemplo), instale las mismas actualizaciones del sistema de destino), haga que tripwire cree el archivo de suma de comprobación. Copie el archivo de suma de control de Tripwire al sistema de destino, haga que Tripwire compare el archivo de suma de control con los archivos del sistema de destino.
Por supuesto, las actualizaciones / actualizaciones / instalaciones / archivos de configuración no sincronizados del sistema se marcarán / marcarán como modificados.
Actualización 2018-05-06:
También debo agregar que el sistema de destino debe verificarse sin conexión. Si el objetivo se ha visto comprometido, el hardware, el firmware de arranque, el kernel del sistema operativo, los controladores del kernel, las bibliotecas del sistema, los archivos binarios ya pueden haberse visto comprometidos e interferir o devolver falsos positivos. Incluso correr a través de una red hacia el sistema de destino podría no ser seguro ya que el sistema de destino (comprometido) estaría procesando los paquetes de red, el sistema de archivos, el dispositivo de bloqueo, etc.
El escenario comparable más pequeño que viene a la mente son las tarjetas inteligentes (EMV utilizado en tarjetas de crédito, PIV utilizado por el gobierno federal, etc.). Sin tener en cuenta las interfaces inalámbricas y todas las protecciones hw / electric / rf, la interfaz de contacto es esencialmente un puerto serie, tres o dos cables. La API está estandarizada y en caja blanca, por lo que todos están de acuerdo en que es impermeable. ¿Protegieron los datos en tránsito, en la memoria de tiempo de ejecución, en reposo en la memoria flash?
Pero la implementación es de código cerrado. Puede existir una puerta trasera en el hardware para copiar todo el tiempo de ejecución y la memoria flash. Otros pueden manipular los datos en tránsito entre el hardware y las memorias internas, el sistema operativo de la tarjeta inteligente o las E / S desde / hacia la tarjeta. Incluso si los compiladores hw / fw / sw / son de código abierto, tendría que auditar todo en cada paso y aún así podría perder algo en lo que usted / todos los demás no pensaron. La paranoia puede enviarte a una sala de goma blanca.
Perdón por salir corriendo por una tangente de paranoia. En serio, saca las unidades de destino para probar. Solo tiene que preocuparse por la unidad de destino hw / fw entonces. Mejor aún, simplemente saque los platos HDD / chips flash SSD para probar (suponiendo que su sistema de prueba sea dorado). ;)
fuente