Autor Tema: ChaMAC 0.9-5 : Cambia todas tus MAC  (Leído 76762 veces)

0 Usuarios y 1 Visitante están viendo este tema.

vk496

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #60 en: 13-09-2013, 21:16 (Viernes) »
Y por cierto, hoy es el día del programador... felicidades a todos!!  >:( >:( >:(

Salu2



alist3r

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #61 en: 13-09-2013, 22:07 (Viernes) »
<ironic>nooooo otro pesao con este rollo! hoy esta casa parece un festival por culpa del rollo del dia del programador, asi no se peude trabajarrrrrr jajaja</ironic>
« Última modificación: 13-09-2013, 22:07 (Viernes) por alister »

alist3r

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #62 en: 13-09-2013, 22:39 (Viernes) »
Muchas gracias a vuestra ayuda  :D (en la 0.5 os añadiré en los créditos, os lo merecéis mas que de sobra  >:D )

@alister, gracias por el tip. Después de investigar mucho, llego a la conclusión de que solo existen 3 rutas para poder ver la MAC Original:

/run/udev/data/n?, donde después hay que averiguar a que interfaz pertenece. Lo gracioso es que en Ubuntu no funciona (sale todo menos la MAC  :P)

/etc/udev/rules.d/70-persistent-net.rules La otra alternativa que hay

/sys/class/net/$INTERFACE/phy80211/addresses, esta ultima solo muestra el de las tarjetas wireless (eso parece), pues paraa mi eth0 no hay dicha ruta...


@geminis_demon, gracias por iluminarme el camino ( los loops todavía no los tengo tan controlados).

Tu script funciona perfecto bajo Wifislax, pero en Ubuntu las rutas del /run no sirven, así que le añadí alternativas a esa ruta por si fallase (una tontería, pero para mi limitada capacidad fue mucho tiempo perdido :-\ )

Código: [Seleccionar]
readarray -t interfaces < <(ip link | grep "<" | cut -d " " -f 2 | cut -d ":" -f 1 | grep -v lo)

for INTERFACE in ${interfaces[@]}; do
    for N in $(ls /run/udev/data|grep "^n[0-9]$"); do
      MODEL_ID="$(find /sys/devices -name "$INTERFACE"|rev|cut -d'/' -f3-|rev)"
  if [ "$(cat /run/udev/data/$N|grep "$MODEL_ID")" ]; then
  rutaprincipal=$(cat /run/udev/data/$N|grep "MATCHADDR")
    if [ $rutaprincipal ]; then
    MAC_ORIGINAL="$(cat /run/udev/data/$N|grep "MATCHADDR"|cut -d'=' -f2-)"
    elif [ -z $rutaprincipal ]; then
   rutasecundaria=$(cat /etc/udev/rules.d/70-persistent-net.rules | grep $INTERFACE | awk '{print $4}' | grep -o -P '(?<=").*(?=")')
    if [ $rutasecundaria ]; then
MAC_ORIGINAL="$(cat /etc/udev/rules.d/70-persistent-net.rules | grep $INTERFACE | awk '{print $4}' | grep -o -P '(?<=").*(?=")')"
    elif [ -z $rutasecundaria ]; then
MAC_ORIGINAL="$(cat /sys/class/net/$INTERFACE/phy80211/addresses)"
fi
    fi
    MAC_ACTUAL="$(cat /sys/class/net/$INTERFACE/address)"
echo "================================\\"
echo -e "   INTERFACE:\e[1;35m $INTERFACE \e[0m \\"
echo -e "MAC ORIGINAL: $MAC_ORIGINAL   #"
echo -e "  MAC ACTUAL:\e[1;31m $MAC_ACTUAL \e[0m /"
echo "================================/"
break
  fi
    done
done

Otra cosa que me molestaba un poco era que con el comando ifconfig no podía cambiar ninguna interfaz que estuviese en modo monitor. Investigando un poco, encontré que con ip link set dev eth0 address xx:xx:xx:xx:xx:xx si podía hacerlo, así que decidí sustituirlo por el ifconfig ( a ver si alguno me puede decir si he hecho bien o no)

Todo parece funcionar perfecto con él, y creía que ya tenía lista para sacar la 0.5 pero me he encontrado con un comportamiento extraño en el script.... Cuando voy a cambiar la MAC ( o restaurarla), solo me cambia/restaura 1 por cada vez que ejecuto el script. Es decir, tengo que ejecutar el script X veces para X interfaces... (cosa que no pasa cuando ejecuto la opción -m (macchanger)).

Me parece que los comandos que usa el script tienen que estar en distintas partes de la memoria, y no en una misma, por lo que, si no me equivoco, eso ya son cosas del C (no me hagáis mucho caso, digo muchas tonterías de vez en cuando). La verdad es que estoy en un callejón sin salida y no tengo ni idea de como puedo solucionar eso, a ver si a alguno de vosotros se os ocurre algo...  :-\  :-\ :-\

@USUARIONUEVO, en cuanto consiga solucionar esta caca, me instalo el Wifislax en el HDD y me pongo a probar el parámetro --autostart, para perfeccionarlo al máximo ;D ;D ;D ;D

Si alguno le quiere echar un ojo a la supuesta "0.5" (el codigo completo), que me avise  :D

Salu2

siento decirte que el udev de ubuntu está modificado por ellos, y que ademas usan un kernel tambien algo desviado del estandar. pero en el peor de los casos podemos chatear un ratito con ellos y que nos cuenten.

te cuento tambien que solo los dispositivos wireless estan equipados con PHYs (un tipo de chip que se encarga de transformar el enlace wireless en un enlace con propiedades similares a los físicos), por lo tanto, la interfaz /sys para los dispositivos de clase net, solo presenta una carpeta phy para ellos. Es fiable, pero incompleta.

puedo preguntar/investiar si tenemos un equivalente en /sys para los dispositivos ethernet. esta parte del kernel la tengo poco estudiada, pero alguien puede echarnos una mano, seguro.
 

Desconectado USUARIONUEVO

  • Colaborador
  • *
  • Mensajes: 14588
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #63 en: 14-09-2013, 13:19 (Sábado) »
donde esta la 0.5 ?  ;D 8)

vk496

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #64 en: 14-09-2013, 14:12 (Sábado) »
donde esta la 0.5 ?  ;D 8)

En mi casa bajo llave... jajaja  ;D

Quería sacarla, pero necesito hacer una pequeña modificación, con la ayuda de un bucle, que por ahora no me sale...


Conoces como hacer un bucle en bash con el until para que el script se reinicie a si mismo y regrese a donde estaba?

Es decir:

1-Compruebo que el valor A no es igual al valor B
2-Si es igual, ejecuto unos comandos, y reinicio el script para regresar al punto 1
3-Si no es igual, continuo con la ejecución del resto del script

Se que es con el until, pero no se como hacer para que se autoreinicie...  ???

Salu2

alist3r

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #65 en: 14-09-2013, 14:33 (Sábado) »
yo haria esto:
Código: [Seleccionar]
function init_script()
  #no hace falta reiniciar el script
  #solo mandarlo al principio de nuevo
  #si estructuras bien tu codigo, podrás volver al principio cuando quieras
  #procura mantener el codigo de inicializacion del script en una rutina aparte
  #para poder llamarlo cuando quieras
  cmd
  cmd
  cmd...  
y leugo
Código: [Seleccionar]
if [[ "${a}" -ne "${b}" ]]; then
  cmd
  # puedes poner bucles aqui, incluso llamar a functions que sean bucles, por qué no.
  cmd
  cmd
else
  # reiniciar el script, que viene a ser lo mismo que iniciarlo de nuevo
  init_script
fi

no te sirve?

procura separar el codigo de inicializacion y de salida del script. eso te permite llamar a ambos cuando quieras. a veces es util para el caso que comentas, o para detectar la puilsacion de control_c y hacer una salida limpia y ordenada del script, sin que se quede todo abruptamente colgado.
« Última modificación: 14-09-2013, 14:36 (Sábado) por alister »

vk496

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #66 en: 14-09-2013, 22:14 (Sábado) »
Muchas gracias a vuestra ayuda  :D (en la 0.5 os añadiré en los créditos, os lo merecéis mas que de sobra  >:D )

@alister, gracias por el tip. Después de investigar mucho, llego a la conclusión de que solo existen 3 rutas para poder ver la MAC Original:

/run/udev/data/n?, donde después hay que averiguar a que interfaz pertenece. Lo gracioso es que en Ubuntu no funciona (sale todo menos la MAC  :P)

/etc/udev/rules.d/70-persistent-net.rules La otra alternativa que hay

/sys/class/net/$INTERFACE/phy80211/addresses, esta ultima solo muestra el de las tarjetas wireless (eso parece), pues paraa mi eth0 no hay dicha ruta...


@geminis_demon, gracias por iluminarme el camino ( los loops todavía no los tengo tan controlados).

Tu script funciona perfecto bajo Wifislax, pero en Ubuntu las rutas del /run no sirven, así que le añadí alternativas a esa ruta por si fallase (una tontería, pero para mi limitada capacidad fue mucho tiempo perdido :-\ )

Código: [Seleccionar]
readarray -t interfaces < <(ip link | grep "<" | cut -d " " -f 2 | cut -d ":" -f 1 | grep -v lo)

for INTERFACE in ${interfaces[@]}; do
    for N in $(ls /run/udev/data|grep "^n[0-9]$"); do
      MODEL_ID="$(find /sys/devices -name "$INTERFACE"|rev|cut -d'/' -f3-|rev)"
  if [ "$(cat /run/udev/data/$N|grep "$MODEL_ID")" ]; then
  rutaprincipal=$(cat /run/udev/data/$N|grep "MATCHADDR")
    if [ $rutaprincipal ]; then
    MAC_ORIGINAL="$(cat /run/udev/data/$N|grep "MATCHADDR"|cut -d'=' -f2-)"
    elif [ -z $rutaprincipal ]; then
   rutasecundaria=$(cat /etc/udev/rules.d/70-persistent-net.rules | grep $INTERFACE | awk '{print $4}' | grep -o -P '(?<=").*(?=")')
    if [ $rutasecundaria ]; then
MAC_ORIGINAL="$(cat /etc/udev/rules.d/70-persistent-net.rules | grep $INTERFACE | awk '{print $4}' | grep -o -P '(?<=").*(?=")')"
    elif [ -z $rutasecundaria ]; then
MAC_ORIGINAL="$(cat /sys/class/net/$INTERFACE/phy80211/addresses)"
fi
    fi
    MAC_ACTUAL="$(cat /sys/class/net/$INTERFACE/address)"
echo "================================\\"
echo -e "   INTERFACE:\e[1;35m $INTERFACE \e[0m \\"
echo -e "MAC ORIGINAL: $MAC_ORIGINAL   #"
echo -e "  MAC ACTUAL:\e[1;31m $MAC_ACTUAL \e[0m /"
echo "================================/"
break
  fi
    done
done

Otra cosa que me molestaba un poco era que con el comando ifconfig no podía cambiar ninguna interfaz que estuviese en modo monitor. Investigando un poco, encontré que con ip link set dev eth0 address xx:xx:xx:xx:xx:xx si podía hacerlo, así que decidí sustituirlo por el ifconfig ( a ver si alguno me puede decir si he hecho bien o no)

Todo parece funcionar perfecto con él, y creía que ya tenía lista para sacar la 0.5 pero me he encontrado con un comportamiento extraño en el script.... Cuando voy a cambiar la MAC ( o restaurarla), solo me cambia/restaura 1 por cada vez que ejecuto el script. Es decir, tengo que ejecutar el script X veces para X interfaces... (cosa que no pasa cuando ejecuto la opción -m (macchanger)).

Me parece que los comandos que usa el script tienen que estar en distintas partes de la memoria, y no en una misma, por lo que, si no me equivoco, eso ya son cosas del C (no me hagáis mucho caso, digo muchas tonterías de vez en cuando). La verdad es que estoy en un callejón sin salida y no tengo ni idea de como puedo solucionar eso, a ver si a alguno de vosotros se os ocurre algo...  :-\  :-\ :-\

@USUARIONUEVO, en cuanto consiga solucionar esta caca, me instalo el Wifislax en el HDD y me pongo a probar el parámetro --autostart, para perfeccionarlo al máximo ;D ;D ;D ;D

Si alguno le quiere echar un ojo a la supuesta "0.5" (el codigo completo), que me avise  :D

Salu2

siento decirte que el udev de ubuntu está modificado por ellos, y que ademas usan un kernel tambien algo desviado del estandar. pero en el peor de los casos podemos chatear un ratito con ellos y que nos cuenten.

te cuento tambien que solo los dispositivos wireless estan equipados con PHYs (un tipo de chip que se encarga de transformar el enlace wireless en un enlace con propiedades similares a los físicos), por lo tanto, la interfaz /sys para los dispositivos de clase net, solo presenta una carpeta phy para ellos. Es fiable, pero incompleta.

puedo preguntar/investiar si tenemos un equivalente en /sys para los dispositivos ethernet. esta parte del kernel la tengo poco estudiada, pero alguien puede echarnos una mano, seguro.
 

Gracias por la info, no conocía los PHYs (una cosa mas que conozco  :D ). Yo he buscado por el /sys y en /etc, pero no he encontrado nada... Y ahora, para colmo, cuando arranco la live de Wifislax, ninguna de las dos rutas que contenían la MAC real de la interfaz eth0 ahora funciona...

Quería sacar la v0.5, pero cada vez mas me encuentro con distintos obstáculos.....  :-\

Vosotros que sois los veteranos del proyecto de Wifislax, conocéis mas rutas alternativas para obtener la MAC  ??? ??? ???

Salu2

alist3r

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #67 en: 15-09-2013, 20:08 (Domingo) »
wifislax no tiene tanto que ver, esto es conocimiento del kernel linux a nivel de sistemas, y del sistema unix/gnu estandar.
normalmente /sys nos da toda la informacion que necesitamos, si sabe usarse. en otros casos nos apoyamos en herramientas externas que se consideran estandar o semiestandar, como por ejemplo ifconfig, iwconfig, iw, brctl, etc etc etc

pero el tema esta de la mac original... ya te digo, si no preguntoa algun hacker del kernel... porque yo no lo sé.

PD: voy a ver si esta noche charlo con una desearrolladora de Tails para que me cuente cómo lo hacen ellos, ya que su distro randomiza todas las macs por defecto, y en caso de que te hayas dado cuenta posteriormente de que el AP tiene filtrado de mac, entonces Tails te ofrece una opcion para recuperar la mac inicial.
« Última modificación: 15-09-2013, 20:13 (Domingo) por alister »

alist3r

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #68 en: 15-09-2013, 21:16 (Domingo) »
bueno ya lo tengo.
leer la mac permanente se debe hacer llamando a un IOCTL del kernel (como casi todo en el fondo)
en un sistema linux suele estar presente la herramienta ethtool que sirve para enviar y recibir IOCTLS al subsistema net del kernel a través de comandos, y así librarse de tener que hacer un programa en C para una chorrada.

Una viez instalado en el sistema, es sencillo saber la mac original.
Citar
root@engetsu:~# macchanger -A eth0
Permanent MAC: e0:cb:4e:4a:d2:88 (Asustek Computer Inc.)
Current   MAC: e0:cb:4e:4a:d2:88 (Asustek Computer Inc.)
New       MAC: 00:06:23:4a:e2:a7 (Mge Ups Systems France)

root@engetsu:~# ethtool -P eth0
Permanent address: e0:cb:4e:4a:d2:88

root@engetsu:~# macchanger eth0
Permanent MAC: e0:cb:4e:4a:d2:88 (Asustek Computer Inc.)
Current   MAC: 00:06:23:4a:e2:a7 (Mge Ups Systems France)


PD: macchanger puede leer la mac permamente (al ejecutarse simplemente, ya te informa de ella), y resetear la mac a la permanente de origen (usando el parametro -p)
« Última modificación: 15-09-2013, 22:45 (Domingo) por alister »

vk496

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #69 en: 15-09-2013, 22:39 (Domingo) »
@alister, muchas gracias por tu gran investigación y ayuda, de verdad. Yo ya tenía pensado colgar la 0.5 con las 4 alternativas para sacar la Mac permanente (la cuarta es con el macchanger), pero me has parado los pies en el ultimo momento  ;D

Mañana cambiare la cuarta alternativa (macchanger), por la del ethtool, pos me parece que es mas universal (mi ubuntu no venia con macchanger por ejemplo) Quiero dejar las alternativas porque nunca se sabe cuando se van a necesitar (y porque me cuesta admitir que me he tirado horas y horas a lo tonto buscando las rutas y haciendo el **** script con los if de los co***** jajajajaja  ;D )

Para cuando saque la 0.5 me gustaría que me comentarais si lo que me pasa en mi PC os pasa a vosotros también: En cuanto empiezo a usar el script varias veces seguidas, este empieza a fallar a veces (no da errores, pero la Mac no cambia por un distinta, y luego a la próxima si lo hace.... Algo raro, pero bueno....

Y una vez mas, gracias @alister, @USUARIONUEVO y @geminis_demon por toda vuestra ayuda, no esperaba tanto apoyo para un proyecto tan simple e insignificante  >:( >:( >:(

Salu2

alist3r

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #70 en: 15-09-2013, 22:51 (Domingo) »
macchanger está poco mantenido; hay bifurcaciones extraoficiales que han ido manteniendolo y cuidando de el. por ejemplo la opción -p es posterior a su abandono por parte del creador.

he estado mirando su código, y al final lo que hace es lo que se supone que acaba haciendo cualquier herramienta que cambie las macs de las interfaces: llamar al "Input/Output ConTroL" correspondiente en el kernel, y el resto es puramente código para tener una base de datos de macs, elegir una aleatoriamente, y todas esas cosas que hace macchanger. tampoco es un "big deal", vamos.

me han estado enseñando otras alternativas como macchiato, etc, pero al final todos hacen lo mismo: si no son programas en C que llaman al IOCTL, son scripts en bash que llaman a programas en C (ip, ifconfig, macchanger) los cuales a su vez acaban llamando al IOCTL.

PD: como ya tenemos este mecanismo, bastante asequible, no he consultado si habia representaciones válidas en /sys. Ya da igual.
« Última modificación: 15-09-2013, 22:53 (Domingo) por alister »

vk496

  • Visitante
Re: ChaMAC 0.5 : Cambia todas tus MAC
« Respuesta #71 en: 16-09-2013, 10:39 (Lunes) »
Bueno, allí os dejo la 0.5  8)

Ya me conatreis que os ha parecido...  :D

Salu2

Desconectado USUARIONUEVO

  • Colaborador
  • *
  • Mensajes: 14588
Re: ChaMAC 0.5 : Cambia todas tus MAC
« Respuesta #72 en: 16-09-2013, 12:20 (Lunes) »
Va bien , pero le pondria un sleep 3 , al detectar interfaces, por que si no , no se ve ni la info , ni los creditos.

en la funcion cambiar mac, puse dos espacios en blanco y un sllep de 3 ... por lo menos el mio lo dejare asi.


Código: [Seleccionar]
detectarmac() {
lista=$(echo ${interfaces[@]} | wc -w)
echo
echo -e "Network inteface/s: \e[0;31m$lista\e[0m "
echo
echo -e "\e[1;31m${interfaces[@]}\e[0m"
echo
echo
sleep 3
cambiarmac
}

alist3r

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #73 en: 16-09-2013, 12:25 (Lunes) »
Para cuando saque la 0.5 me gustaría que me comentarais si lo que me pasa en mi PC os pasa a vosotros también: En cuanto empiezo a usar el script varias veces seguidas, este empieza a fallar a veces (no da errores, pero la Mac no cambia por un distinta, y luego a la próxima si lo hace.... Algo raro, pero bueno....

un bloqueo exclusivo en acción.
comprueba si el tiempo de pausa entre ejecuciones del script influye en algo.

ferlan

  • Visitante
Re: ChaMAC 0.5 : Cambia todas tus MAC
« Respuesta #74 en: 16-09-2013, 19:00 (Lunes) »
Privileges root--->     OK!
Autoboot Status--->     Off
Chamac Mode------->     Normal

Network inteface/s:     3

eth0 wlan1 wlan0



Perooooo.... a la hora de informar de los cambios realizados, me informa de cambio sólo en dos; eth0 y wlan1
Independientemente de lo anterior, la realidad en cuanto a cambios efectivamente realizados es es la siguiente, en seis intentos consecutivos:

 Tjta    Cambio

 eth0      S
 wlan0     N
 wlan1     S

 eth0      N
 wlan0     S
 wlan1     N

 eth0      N
 wlan0     S
 wlan1     N

 eth0      S
 wlan0     S
 wlan1     N

 eth0      S
 wlan0     N
 wlan1     S

 eth0      N
 wlan0     S
 wlan1     N

En mi caso, la primera versión, me funcionó bien.
Pruebas realizadas en Wifislax-4.6 Live USB.

alist3r

  • Visitante
Re: ChaMAC 0.5 : Cambia todas tus MAC
« Respuesta #75 en: 16-09-2013, 20:52 (Lunes) »
alguien está guardando debug de lo que hace con chamac ?
o vamos a caradeperro? xD

vk496

  • Visitante
Re: ChaMAC 0.5 : Cambia todas tus MAC
« Respuesta #76 en: 16-09-2013, 21:15 (Lunes) »
Va bien , pero le pondria un sleep 3 , al detectar interfaces, por que si no , no se ve ni la info , ni los creditos.

en la funcion cambiar mac, puse dos espacios en blanco y un sllep de 3 ... por lo menos el mio lo dejare asi.


Código: [Seleccionar]
detectarmac() {
lista=$(echo ${interfaces[@]} | wc -w)
echo
echo -e "Network inteface/s: \e[0;31m$lista\e[0m "
echo
echo -e "\e[1;31m${interfaces[@]}\e[0m"
echo
echo
sleep 3
cambiarmac
}

Es verdad, gracias, ya lo he cambiado. En principio estaba allí, pero con los cambios que estaba haciendo (y pruebas), borre esa parte para que no fuese tan lento...

Salu2

vk496

  • Visitante
Re: ChaMAC 0.4 : Cambia todas tus MAC
« Respuesta #77 en: 16-09-2013, 21:20 (Lunes) »
Para cuando saque la 0.5 me gustaría que me comentarais si lo que me pasa en mi PC os pasa a vosotros también: En cuanto empiezo a usar el script varias veces seguidas, este empieza a fallar a veces (no da errores, pero la Mac no cambia por un distinta, y luego a la próxima si lo hace.... Algo raro, pero bueno....

un bloqueo exclusivo en acción.
comprueba si el tiempo de pausa entre ejecuciones del script influye en algo.

Ya lo probé, pero no da resultado, solo retrasa el proceso.... Con la opción para restaurar MAC, me pasaba lo mismo, pero conseguí solucionarla con un bucle bastante curioso... Sin embargo, para cambiarla con ifconfig y/o ip link no funciona igual de bien...  :-\

Salu2

vk496

  • Visitante
Re: ChaMAC 0.5 : Cambia todas tus MAC
« Respuesta #78 en: 16-09-2013, 21:23 (Lunes) »
alguien está guardando debug de lo que hace con chamac ?
o vamos a caradeperro? xD

Debug?? Eso se come? ;D

Ahora fuera de bromas, cuentame que es  ;D

Salu2

alist3r

  • Visitante
Re: ChaMAC 0.5 : Cambia todas tus MAC
« Respuesta #79 en: 16-09-2013, 21:31 (Lunes) »
me refiero a que se guarde en un fichero de texto el resultado de todos los comandos que se ejecutan internamente, o que en su defecto, se vean por pantalla. para que podamos resolver problemas como el de "ahora si/ahora no" que nos estamos encontrado.
parece que estamos frente a una race condition pero no podemos saber más sin revisar a fondo los logs
« Última modificación: 16-09-2013, 21:34 (Lunes) por alister »

//FINAL Y MÁS DOS RESPUESTAS