Cómo descubrir procesos ocultos de Linux con Unhide

Cómo descubrir procesos ocultos de Linux con Unhide

Si bien GNU / Linux es un sistema operativo extremadamente seguro, muchas personas se sienten atraídas por una falsa sensación de seguridad. Tienen la idea equivocada de que nunca puede suceder nada porque trabajan desde un entorno seguro. Es cierto que existe muy poco malware para el entorno Linux, pero aún es muy posible que una instalación de Linux se vea comprometida en última instancia. Al menos, considerar la posibilidad de rootkits y otros ataques similares es una parte importante de la administración del sistema. Un rootkit se refiere a un conjunto de herramientas que un tercero usa después de que obtienen acceso a un sistema informático al que no tienen acceso correctamente. Este kit se puede utilizar para modificar archivos sin el conocimiento de los usuarios legítimos. El paquete unhide proporciona la tecnología necesaria para encontrar rápidamente dicho software comprometido.

Unhide está en los repositorios de la mayoría de las principales distribuciones de Linux. El uso de un comando del administrador de paquetes como sudo apt-get install unhide es suficiente para forzar su instalación en versiones de Debian y Ubuntu. Los servidores con acceso a la GUI pueden usar Synaptic Package Manager. Las distribuciones de Fedora y Arch tienen versiones predefinidas de unhide para sus propios sistemas de administración de paquetes. Una vez que se instala unhide, los administradores del sistema deberían poder usarlo de diferentes maneras.

Método 1: ID de proceso de fuerza bruta

La técnica más básica consiste en aplicar fuerza bruta a cada ID de proceso para asegurarse de que ninguno de ellos se haya ocultado al usuario. A menos que tenga acceso de root, escriba sudo unhide brute -d en el indicador de CLI. La opción d duplica la prueba para reducir el número de falsos positivos informados.



La salida es extremadamente básica. Después de un mensaje de copyright, unhide explicará las comprobaciones que realiza. Habrá una línea que dice:

[*] Comenzando a escanear usando fuerza bruta contra PIDS con tenedor ()

y otro que dice:

[*] Comenzar a escanear usando fuerza bruta contra PIDS con funciones pthread

Si no hay ningún otro resultado, entonces no hay motivo de preocupación. Si la subrutina bruta del programa encuentra algo, informará algo como:

Encontrado PID OCULTO: 0000

Los cuatro ceros se reemplazarían por un número válido. Si simplemente lee que es un proceso transitorio, entonces esto podría ser un falso positivo. No dude en ejecutar la prueba varias veces hasta que obtenga un resultado limpio. Si hay más información, entonces podría justificar una verificación de seguimiento. Si necesita un registro, puede usar la opción -f para crear un archivo de registro en el directorio actual. Las versiones más nuevas del programa llaman a este archivo unhide-linux.log, y presenta salida de texto sin formato.

Método 2: comparar / proc y / bin / ps

En su lugar, puede indicar unhide para comparar las listas de procesos / bin / ps y / proc para asegurarse de que estas dos listas separadas en el árbol de archivos de Unix coincidan. Si hay algo mal, el programa informará el PID inusual. Las reglas de Unix estipulan que los procesos en ejecución deben presentar números de identificación en estas dos listas. Escriba sudo unhide proc -v para iniciar la prueba. Si toca v, el programa se pondrá en modo detallado.

Este método devolverá un mensaje que indica:

[*] Búsqueda de procesos ocultos mediante el escaneo de estadísticas de / proc

Si ocurriera algo inusual, aparecería después de esta línea de texto.

Método 3: combinación de las técnicas Proc y Procfs

Si es necesario, puede comparar las listas de árbol de archivos / bin / ps y / proc Unix y al mismo tiempo comparar toda la información de la lista / bin / ps con las entradas de procfs virtuales. Esto verifica tanto las reglas del árbol de archivos de Unix como los datos de procfs. Escriba sudo unhide procall -v para realizar esta prueba, que puede llevar bastante tiempo ya que tiene que escanear todas las estadísticas de / proc, así como realizar otras pruebas. Es una excelente manera de asegurarse de que todo en un servidor sea copasetic.

2016-11-02_222832

Método 4: comparar los resultados de procfs con / bin / ps

Las pruebas anteriores son demasiado complicadas para la mayoría de las aplicaciones, pero podría ejecutar las comprobaciones del sistema de archivos proc de forma independiente por alguna conveniencia. Escriba sudo unhide procfs -m, que realizará estas comprobaciones, además de varias comprobaciones más proporcionadas al marcar -m.

Esta es todavía una prueba bastante complicada y puede llevar un momento. Devuelve tres líneas de salida separadas:

2016-11-02_223011

Tenga en cuenta que puede crear un registro completo con cualquiera de estas pruebas agregando -f al comando.

Método 5: ejecutar un análisis rápido

Si simplemente necesita ejecutar un escaneo rápido sin preocuparse por verificaciones en profundidad, simplemente escriba sudo unhide quick, que debería ejecutarse tan rápido como su nombre indica. Esta técnica analiza las listas de procesos, así como el sistema de archivos de procesos. También ejecuta una verificación que implica comparar la información recopilada de / bin / ps con la información proporcionada por las llamadas a los recursos del sistema. Esto proporciona una única línea de salida, pero desafortunadamente aumenta el riesgo de falsos positivos. Es útil volver a verificar después de revisar los resultados anteriores.

La salida es la siguiente:

[*] Búsqueda de procesos ocultos mediante la comparación de resultados de llamadas al sistema, proc, dir y ps

Es posible que aparezcan varios procesos transitorios después de ejecutar este análisis.

Método 6: ejecución de un análisis inverso

Una técnica excelente para detectar rootkits implica la verificación de todos los hilos ps. Si ejecuta el comando ps en un símbolo del sistema CLI, puede ver una lista de comandos ejecutados desde un terminal. El escaneo inverso verifica que cada uno de los subprocesos del procesador que contienen imágenes ps exhiben llamadas de sistema válidas y se pueden buscar en la lista procfs. Esta es una excelente manera de asegurarse de que un rootkit no haya eliminado algo. Simplemente escriba sudo unhide reverse para ejecutar esta comprobación. Debería funcionar muy rápido. Cuando se ejecuta, el programa debería notificarle que está buscando procesos falsos.

Método 7: comparar / bin / ps con llamadas al sistema

Finalmente, la verificación más completa implica comparar toda la información del listado / bin / ps con la información obtenida de llamadas válidas al sistema. Escriba sudo unhide sys para iniciar esta prueba. Lo más probable es que tarde más en ejecutarse que los demás. Dado que proporciona tantas líneas de salida diferentes, es posible que desee utilizar el comando -f log-to-file para facilitar la revisión de todo lo que encontró.

4 minutos de lectura