Scroll to navigation

UNHIDE(8) UNHIDE(8)

NAME

unhide — Herramienta forense para descubrir procesos ocultos

SYNOPSIS

unhide [OPTIONS] TEST_LIST

DESCRIPCION

unhide es una herramienta forense para detectar procesos ocultos en sistemas Unix que hayan sido ocultados mediante rookits / módulos en el Kernel o cualquier otra técnica de ocultación. Implementa seis técnicas de detección

OPCIONES

-f
Crea un fichero de log (unhide.log) en el directorio de ejecución.
-h
Muestra la ayuda
-m
Realiza múltiples tests añadidos, desde la versión 2010-11-21, esta opción solo es válida en los tests 'procfs', 'procall', 'checkopendir' y 'checkchdir'
 
Implica -v
-r
Emplea una versión alternativa del test sysinfo
-V
Muestra la versión y sale
-v
Fuerza la salida debug con los mensajes de error (se puede repetir varias veces -vv)

TEST_LIST

Los checks consisten en uno o mas de los siguientes tests
 
Los tests estandar son en realidad agrupaciones de varios tests elementales
Tests estandar :
El test brute consiste en hacer fuerza bruta sobre todo el espacio de identificadores de procesos (PIDS)
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test proc consiste en comparar el directorio /proc con la salida del comando /bin/ps
El test procall combina los tests proc y procfs
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test procfs consiste en comparar la información obtenida por /bin/ps con los datos obtenidos al recorrer procfs
 
Con la opción -m este test realiza tests adicionales, para mas información consultar checkchdir
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test quick combina los tests proc, procfs y sys en una forma 'rápida' de ejecución, es hasta 20 veces mas rápido que otros test pero también puede ofrecer mas falsos positivos
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test reverse consiste en verificar que todos los procesos e hilos que son vistos por /bin/ps existen realmente buscandolos en procfs y por system calls. El objetivo es averiguar si se ha modificado /bin/ps para hacer creer que existen en ejecución algunos programas que realmente no lo están
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test sys consiste en comparar la información obtenida de /bin/ps contra algunas system calls
Tests elementales :
El test checkbrute consiste en hacer fuerza bruta contra todo el espacio de procesos (PIDS) del sistema
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checkchdir consiste en comparar la información obtenida por /bin/ps y compararla haciendo chdir() en procfs
 
Con la opción -m también se comprueba que el hilo aparece en la lista "leader process"
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checkgetaffinity consiste en comparar la información obtenida por /bin/ps con el resultado de la system call sched_getaffinity()
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checkgetparam consiste en comparar la información obtenida por /bin/ps con el resultado de la system call sched_getparam()
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checkgetpgid consiste en comparar la información obtenida por /bin/ps con el resultado de la system call getpgid()
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checkgetprio consiste en comparar la información obtenida por /bin/ps con el resultado de la system call getpriority()
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checkRRgetinterval consiste en comparar la información obtenida por /bin/ps con el resultado de la system call sched_rr_get_interval()
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checkgetsched consiste en comparar la información obtenida por /bin/ps con el resultado de la system call sched_getscheduler()
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checkgetsid consiste en comparar la información obtenida por /bin/ps con el resultado de la system call getsid()
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checkkill consiste en comparar la información obtenida por /bin/ps con el resultado de la system call kill()
 
Nota: ningún proceso es 'matado' con este test
 
Esta técnica solo está disponible en Linux Kernel 2.6.
El test checknoprocps consiste en comparar el resultado de la información obtenida usando cada una de las system calls buscando diferencias entre si. No se emplea /bin/ps o /proc
 
Esta técnica solo está disponible en Linux Kernel 2.6
El test checkopendir consiste en comparar la información obtenida por /bin/ps con el resultado de hacer opendir() sobre procfs
 
Esta técnica solo está disponible en Linux Kernel 2.6
El test checkproc consiste en comparar la información obtenida por /bin/ps con los datos de /proc
 
Esta técnica solo está disponible en Linux Kernel 2.6
El test checkquick combina los tests proc, procfs y sys en una forma 'rápida' de ejecución, es hasta 20 veces mas rápido que otros test pero también puede ofrecer mas falsos positivos
 
Esta técnica solo está disponible en Linux Kernel 2.6
El test checkreaddir consiste en comparar la información obtenida por /bin/ps con el resultado de hacer readdir() en /proc y /proc/pid/task
 
Esta técnica solo está disponible en Linux Kernel 2.6
El test checkreverse consiste en verificar que todos los procesos e hilos que son vistos por /bin/ps existen realmente buscandolos en procfs y por system calls. El objetivo es averiguar si se ha modificado /bin/ps para hacer creer que existen en ejecución algunos programas que realmente no lo están
 
Esta técnica solo está disponible en Linux Kernel 2.6
El test checksysinfo consiste en comparar el número de procesos contabilizados por /bin/ps contra el número de procesos que indica la syscall sysinfo()
 
Esta técnica solo está disponible en Linux Kernel 2.6
El test checksysinfo2 es una versión alternativa de checksysinfo, se presupone que funciona mejor en kernels parcheados para RT, preempt o latency y también con kernels que no usen el planificador estandar
 
Este test está implicito cuando se ejecuta con la opción -r
 
Esta técnica solo está disponible en Linux Kernel 2.6

Exit status:

0
si todo OK,
1
si se ha localizado un proceso oculto o falso

BUGS

Puedes reportar fallos de unhide en el 'bug tracker' de Sourceforge (http://sourceforge.net/projects/unhide/)

SEE ALSO

unhide-tcp (8).

AUTHOR

This manual page was written by Francois Marier francois@debian.org and Patrick Gouin. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 3 or any later version published by the Free Software Foundation.

LICENSE

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
 
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
October 2010 Administration commands