viernes, julio 30, 2010

Linux Detectar RootKits.

Tomado de: Blog de Redes Privadas

Una vez presentadas las características de los rootkits y la herramienta que tenemos en Linux para combatirlos, vamos a pasar a instalar Rkhunter 1.3.6 en una máquina CentOS 5.4 de 64 bits.

Rkhunter puede instalarse de forma permanente en el sistema:

[root@centos ~]# tar zxf rkhunter-1.3.6.tar.gz

[root@centos ~]# cd rkhunter-1.3.6

[root@centos rkhunter-1.3.6]# ./installer.sh --install

O de forma temporal:

[root@centos ~]# mkdir /tmp/rkh

[root@centos ~]# cd /tmp/rkh

[root@centos rkh]# tar zxf rkhunter-1.3.6.tar.gz

[root@centos rkh/rkhunter-]# cd rkhunter-1.3.6

[root@centos rkhunter-1.3.6]# ./installer.sh --layout custom . --install

[root@centos rkhunter-1.3.6]# cd files

Para el caso del presente artículo emplearemos la forma temporal. Lo primero que haremos será actualizar las bases de datos con la información del malware actualizada por los desarrolladores de Rkhunter, y a continuación, crearemos una base de datos inicial (rkhunter.dat) con la información (MD5, permisos, etc.) de los principales binarios del sistema.

[root@centos files]# ./rkhunter --update
[ Rootkit Hunter version 1.3.6 ]

Checking rkhunter data files...
Checking file mirrors.dat                                  [ No update ]
Checking file programs_bad.dat                             [ No update ]
...

[root@centos files]# ./rkhunter --propupd
[ Rootkit Hunter version 1.3.6 ]
File created: searched for 159 files, found 134, missing hashes 35

Si en algún momento alguno de los binarios sufre algún tipo de modificación, tendremos que volver a ejecutar la opción propupd.

Para realizar un escaneo ejecutaremos el siguiente comando (se ha obviado parte de la salida del comando):

[root@centos files]# ./rkhunter --check --sk
[ Rootkit Hunter version 1.3.6 ]          

Checking system commands...

Performing 'strings' command checks
 Checking 'strings' command                               [ OK ]

Performing 'shared libraries' checks
 Checking for preloading variables                        [ None found ]
 Checking for preloaded libraries                         [ None found ]
 Checking LD_LIBRARY_PATH variable                        [ Not found ]

Performing file properties checks
 Checking for prerequisites                               [ Warning ]
 /bin/awk                                                 [ OK ]  
 /bin/basename                                            [ OK ]
...
Checking for rootkits...

Performing check of known rootkit files and directories
 55808 Trojan - Variant A                                 [ Not found ]
 ADM Worm                                                 [ Not found ]
...
Performing additional rootkit checks
 Suckit Rookit additional checks                          [ OK ]
...
Performing malware checks
 Checking running processes for suspicious files          [ None found ]
...
Performing Linux specific checks
 Checking loaded kernel modules                           [ OK ]
...
Checking the network...

Performing check for backdoor ports
 Checking for TCP port 1524                               [ Not found ]
 Checking for TCP port 1984                               [ Not found ]
...
Performing checks on the network interfaces
 Checking for promiscuous interfaces                      [ None found ]

Checking the local host...

Performing system boot checks
 Checking for local host name                             [ Found ]
...
Performing group and account checks
 Checking for passwd file                                 [ Found ]
...
Performing system configuration file checks
 Checking for SSH configuration file                      [ Found ]
...
Performing filesystem checks
 Checking /dev for suspicious file types                  [ None found ]
 Checking for hidden files and directories                [ Warning ]

Checking application versions...

 Checking version of GnuPG                                [ OK ]
...
System checks summary
=====================

File properties checks...
 Required commands check failed
 Files checked: 134         
 Suspect files: 5           

Rootkit checks...
 Rootkits checked : 253
 Possible rootkits: 0

Applications checks...
 Applications checked: 4
 Suspect applications: 2

Dentro del log (rkhunter.log) podremos encontrar información más detallada sobre los warnings y errores encontrados.

Rkhunter dispone de un fichero de configuración donde podremos definir distintas opciones del escaneo (por ejemplo si está permitido el acceso por SSH para root).

[root@centos files]# cat rkhunter.conf
...
ALLOW_SSH_ROOT_USER=yes

LINUX - LISTADO DE PUERTOS

Tomado de: Listado de Puertos

Este es un listado de puertos con las aplicaciones definidas por IANA (acrónimo de Internet Assigned Number Authority), la Agencia de Asignación de Números Internet, quién fué el antiguo registro central de los protocolos de Internet, como Puertos, direcciones IP, etc. En 1998 fué sustituido por ICANN (Internet Corporation for Assigned Names and Numbers), Corporación de Internet para la Asignación de Nombres y Números.
Las aplicaciones asignadas por IANA para cada puerto se marcan en color negro, mientras que los troyanos y software malicioso que también hace uso de los mismos, se marcan en color rojo.
Por lo general, los troyanos utilizan por default los puertos aquí señalados, sin embargo pueden cambiar de puerto si este ya está ocupado o para tratar de pasar desapercibido. De cualquier manera, si encuentras algún puerto abierto y no estás seguro, revisa tu computadora con algún antivirus y asegúrate con un firewall.
Cabe mencionar que el número de puertos que se pueden utilizar es de 65535, significando que un troyano puede usar cualquiera de ellos.
Instrucciones
Selecciona los puertos que quieres escanear (hasta un máximo de 20) haciendo click en la casilla a la izquierda del Puerto o bién, presiona el botón de la derecha para escanear solo el puerto que seleccionaste.
Si seleccionas varios puertos, presiona el botón al final de la lista; la prueba puede tardar hasta un minuto.
Si quieres revisar un puerto que no aparece en el listado, intróducelo en la casilla de abajo y presiona el botón de Scan. El escaneador de puertos intentará probar ese puerto durante unos segundos.


Introduce el Puerto a probar (1 - 65535)

Tu IP actualmente es 201.238.160.208


Nota: Sólo puedes seleccionar un máximo de 20 puertos por cada scan
Total Puertos listados: 110