logotipo

img_google
m313 Security Blog
Diario de un Slacker y sus paranoias entre las redes
Acerca de
dmedianero@gmail.com Consultor de seguridad informática y aficionado a los sistemas operativos en general y a Slackware Linux en particular. Todo lo que os hayan contado sobre mi es falso, con alguna pequeña excepción. No soy mala hierba, solo hierba en mal lugar...
Sindicación
 
Eliminar cuentas innecesarias
Es habitual recién instalamos nuestra distribución que nos cree muchas cuentas de usuario en /etc/passwd, incluso pasa muchas veces al instalar programas, pues bien, esta práctica es muchas veces insegura ya que podemos tener cuentas que sean un peligro potencial para comprometer nuestro sistema.

En este artículo aprenderemos cuales de esas cuentas son necesarias y cuales podemos eliminar, de manera que fortaleceremos un poco más nuestro sistema y así se lo pondremos un poco más dificil a los atacantes. Recordemos la máxima de que la seguridad al 100 % es imposible, pero cada capa de seguridad nos ofrece una mayor protección.
Este articulo ha sido probado en un sistema operativo Fedora Core 5 sobre una VMWare ejecutandose en Linux, si tu distribución de Linux es otra no te preocupes porque con casi toda probabilidad todo funcione en tu máquina perfectamente. Ni que decir tiene que toda la manipulación de archivos y comandos debe hacerse con privilegios de root.

Lo primero que debemos hacer es identificar las cuentas que tenemos creadas, para ello ejecutamos en consola "cat /etc/passwd" mi salida es la siguiente:

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
rpm:x:37:37::/var/lib/rpm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
netdump:x:34:34:Network Crash Dump user:/var/crash:/bin/bash
pcap:x:77:77::/var/arpwatch:/sbin/nologin
avahi:x:70:70:Avahi daemon:/:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
beagleindex:x:58:58:User for Beagle indexing:/var/cache/beagle:/bin/false
gdm:x:42:42::/var/gdm:/sbin/nologin
danonino:x:500:500:danonino:/home/danonino:/bin/bash


Como podemos comprobar hay muchísimas cuentas. Si el último campo de cada linea es igual a /sbin/nologin o a /bin/false quiere decir que ese usuario no puede identificarse en la maquina, con lo cual en princpio no supone un peligro. Echando un vistazo vemos los usuarios que si tienen una shell son root, netdump y danonino. Estudiaremos el caso del usuario netdump ya que danonino es mi usuario no privilegiado.

Para comprobar qué esta haciendo la cuenta netdump podemos tratar de ver los directorios y ficheros que tiene como usuario, para ello tecleamos en consola "find / -user netdump -print" que nos da como salida:

/var/crash
/var/crash/scripts


Estos ficheros son propiedad de netdump, examinemoslos en detalle( "ls -lua /usr/crash" ):

drwxr-xr-x 3 netdump netdump 4096 abr 27 12:19 .
drwxr-xr-x 22 root root 4096 abr 27 12:19 ..
drwxr-xr-x 2 netdump netdump 4096 abr 27 12:17 scripts



Solo tiene el directorio scripts que examinaremos a continuación( "ls -lua /usr/var/crash/scripts" ):

drwxr-xr-x 2 netdump netdump 4096 abr 27 12:20 .
drwxr-xr-x 3 netdump netdump 4096 abr 27 12:20 ..


Vemos que no hay nada escrito, adicionalmente deberíamos informarnos de qué es este usuario, en mi caso netdump es un cliente de servicios del kernel que no necesito ahora, por lo cual deberíamos cambiar la linea en el /etc/passwd y ponerle al final un /sbin/nologin o borrarla( también en /etc/shadow ), borrando también el grupo en /etc/group asegurandonos antes de que ningún otro usuario pertenece a ese grupo y desinstalar el paquete ya que todo lo que no nos hace falta sobra en nuestro sistema.

NOTA: También debemos fijarnos en el cuarto y quinto campo del /etc/passwd, el único usuario que debe tener los dos valores igual a cero es root, ya que si otro usuario los tiene dicho usuario posee los mismos privilegios que root. Ciertos usuarios tendrán un cero pero solo en el quinto campo, es el caso de cuantas del sistema como shutdown.
 
Despegó foroEslack

Hace unos días por fín ha despegado el Foro para Slackers que nos apetecía tanto tener.
La idea surgió en la web de Slackware España hace algún tiempo, pero por diferentes problemas no había podido llevarse a cabo.
Lo importante es que ya se encuentra operativo asique, si eres Slacker ya estás tardando en registrarte.

foroEslack

 
Escanear servidores web: nikto 1.35
Una buena forma de asegurar un servidor web es probar a romper su seguridad. Para ello es vital utilizar una herramienta que permita sacar la mayor cantidad posible de información sobre un sitio web, sin lugar a dudas nos encontramos ante Nikto.

Nikto es una potente aplicación que buscará la existencia de ficheros el el servidor y de posibles vulnerabilidades del mismo. La información que genera es enorme, luego ya es trabajo nuestro sacar la paja y quedarnos con lo importante.

Vamos a ver un ejemplo práctico, ejecutamos en cosola "nikto -h google.es" y observamos la salida,q ue he recortado para ver solo unas cuantas lineas:

-***** SSL support not available (see docs for SSL install instructions) *****
---------------------------------------------------------------------------
- Nikto 1.35/1.36 - www.cirt.net
+ Target IP: 216.239.39.104
+ Target Hostname: google.es
+ Target Port: 80
+ Start Time: Thu Apr 6 19:48:00 2006
---------------------------------------------------------------------------
- Scan is dependent on "Server" string which can be faked, use -g to override
+ Server: GWS/2.1
+ Server does not respond with '404' for error messages (uses '301').
+ This may increase false-positives.
+ Not found files redirect to: http://www.google.es/Nikto-1.35-Dj7Kjd6YcZBgNUxhunq.htm
+ The root file (/) redirects to: http://www.google.es/
+ All CGI directories 'found', use '-C none' to test none
+ /robots.txt - contains 73 'disallow' entries which should be manually viewed (added to mutation file lists) (GET).
+ GWS/ - Could be the Google Web Server. 2.0 seems to be current.
+ / - Redirects to http://www.google.es/ , Default Jrun 2 server running.
+ / - Redirects to http://www.google.es/ , Cisco VoIP Phone deafult web server found.
+ / - Redirects to http://www.google.es/ , Default Sybase Jaguar CTS server running.
+ / - Redirects to http://www.google.es/ , Default Jrun 3 server running.
+ / - Redirects to http://www.google.es/ , Default Lantronix printer found.
+ / - Redirects to http://www.google.es/ , Default IBM Tivoli Server Administration server is running.
+ / - Redirects to http://www.google.es/ , Default Jrun 4 server running.
+ / - Redirects to http://www.google.es/ , Default Xerox WorkCentre server is running.
+ /admin/config.php - Redirects to http://www.google.es/admin/config.php , PHP Config file may contain database IDs and passwords.


De nuevo nos encontramos ante una aplicación que los usuarios de Slackware no disponemos en nuestro formato nativo tgz, pero no os preocupéis, ya he hecho el trabajo por vosotros.

Recuerdo a los usuarios de distribuciones basadas en Slackware como Zenwalk o VectorLinux que este paquete probablemente os funcione perfectamente.

Podéis descargarlo en mi repositorio de paquetes o aqui:

Nikto 1.35 Suma Md5: 397f76192415125bd32866f6facf9b43

 
Más paquetes de seguridad: amap 5.2
De un tiempo a esta parte estoy aprendiendo a utilizar herramientas de seguridad, como es evidente casi todas estas herramientas surgen en sistemas Unix, si bien hay clones para Windows. Mi sorpresa ha sido grande al comprobar que muchas de estas aplicaciones no están disponibles en los paquetes tgz nativos de Slackware, por lo que me estoy dedicando a ir haciendo los paquetes correspondientes. Segun los vaya sacando os los ofreceré aqui, para quepodáis utilizarlos.

En esta ocasión he creado el de la aplicación amap, que es un scanner de puertos que tiene como principal característica que está especialmente diseñada para sacar las versiones de los programas que utilizan dichos puertos. Veremos un ejemplo:

Ejecuto en consola "amap -A ya.com 80" para saber que versión esta corriendo ya sobre su puerto http (puerto 80) y obtengo como resultado lo siguiente:

amap v5.2 (www.thc.org/thc-amap) started at 2006-04-04 19:40:24 - MAPPING mode

Protocol on 62.151.2.100:80/tcp matches http
Protocol on 62.151.2.100:80/tcp matches http-apache-2
Protocol on 62.151.2.100:80/tcp matches webmin

Unidentified ports: none.

amap v5.2 finished at 2006-04-04 19:40:30


Es muy interesante, podéis bajaos el tgz desde aqui:

Amap 5.2 Suma Md5: cf298d680dbbc0032f6c7270ea25668f
 
Disponible el paquete tgz del Snort 2.4.4
Recientemente ha salido la versión 2.4.4 del IDS Snort.
He preparado el paquete tgz para que los usuarios de Slackware tambień podamos disfrutar de esta poderosa herramienta.
He incluido la opción de compilación con MySql, para que Snort funcione bien con Apache+Acid+MySql.

El paquete debería poder funcionar en las versiones Slackware 10, 10.1, 10.2 y Current, y debido a que no quedan demasiados cambios para que salga la Slackware 11 es probable que con esta también funcione correctamente. Asímismo los usuarios de Zenwalk Linux y de VectorLinux pueden utilizarlo igualmente.

Si encontráis algún error hacedmelo saber. Podéis descargarlo desde el enlace que tengo a mi repositorio de paquetes o directamente desde aqui:

Snort-2.4.4 Suma Md5: a31d04eee24f17d496b3038298129b11