Ir al contenido

Entradas etiquetadas como ‘trucos’

5
ago

Mostrar archivos ocultos en Mac OS X

Por defecto, Mac OS X no permite visualizar desde el Finder los archivos ocultos del sistema. Para poder verlos basta con ejecutar en una terminal los siguientes comandos:

defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder

Notar que el segundo comando cerrará todas las ventanas del Finder que estén abiertas. Luego, al volver a abrir una ventana de Finder se verán los archivos ocultos. Para volver esta operación atrás basta tan sólo con ejecutar nuevamente el par de comandos anteriores pero reemplazando TRUE por FALSE.

16
oct

Levantar un servidor web en menos de 1 segundo

Hoy leí en la columna de Charly Kühnast en Linux Magazine un truco muy simple para iniciar un servidor web teniendo solamente Python instalado. Las ventajas son que Python suele incluirse en todas las distribuciones de Linux, que el servidor se puede ejecutar con cualquier usuario sin privilegios y que el tiempo que toma iniciarlo es menor al que lleva leer este post. Ahora bien, dentro del directorio que se desea publicar por web basta con ejecutar:

python -m SimpleHTTPServer 8080

Si no se especifica el número de puerto por defecto inicia en el 8000.

6
sep

Recuperar la contraseña de Windows

Hoy me encontré ante la necesidad de recuperar la contraseña de Administrador de Windows XP olvidada por el usuario de la PC. Este trabajo es extremadamente sencillo valiéndose de la utilidad chntpw que existe para Linux. Para llevar a cabo la recuperación de la contraseña es necesario iniciar el equipo con un Live CD de Ubuntu e instalar dicha utilidad.

root@ubuntu:/home/ubuntu# aptitude install chntpw

Una vez instalada la aplicación se debe montar el disco que contiene la instalación de Windows. En mi caso:

root@ubuntu:/home/ubuntu# mkdir tmp
root@ubuntu:/home/ubuntu# mount /dev/sda1 tmp/

Hecho lo anterior ya es posible utilizar el programa instalado. Mediante el mismo se pueden listar todos los usuarios que existen cargados en el archivo de usuarios de Windows. Para ello, chntpw necesitará del archivo de contraseñas. El mismo se ubica normalmente en la carpeta system32/config/SAM, dentro de la carpeta de instalación de Windows.

root@ubuntu:/home/ubuntu# chntpw -l tmp/WINDOWS/system32/config/SAM
chntpw version 0.99.5 070923 (decade), (c) Petter N Hagen
Hive  name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c
Page at 0x7000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 6 pages (+ 1 headerpage)
Used for data: 230/19072 blocks/bytes, unused: 8/5312 blocks/bytes.

* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  | dis/lock |
| 03e8 | Asistente de ayuda             |        | dis/lock |
| 03eb | ASPNET                         |        |          |
| 01f5 | Invitado                       |        | dis/lock |
| 03ea | SUPPORT_388945a0               |        | dis/lock |

El próximo paso es elegir el usuario que se desee y cambiarle la contraseña. En esta oportunidad, mi intención era sólo quitarle la misma para poder iniciar sesión en el equipo y que luego el usuario asigne una nueva.

root@ubuntu:/home/ubuntu# chntpw -u Administrador tmp/WINDOWS/system32/config/SAM
chntpw version 0.99.5 070923 (decade), (c) Petter N Hagen
Hive  name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c
Page at 0x7000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 6 pages (+ 1 headerpage)
Used for data: 230/19072 blocks/bytes, unused: 8/5312 blocks/bytes.

* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  | dis/lock |
| 03e8 | Asistente de ayuda             |        | dis/lock |
| 03eb | ASPNET                         |        |          |
| 01f5 | Invitado                       |        | dis/lock |
| 03ea | SUPPORT_388945a0               |        | dis/lock |

---------------------> SYSKEY CHECK <----------------------- SYSTEM   SecureBoot            : -1 -> Not Set (not installed, good!)
SAM      Account\F             : 1 -> key-in-registry
SECURITY PolSecretEncryptionKey: -1 -> Not Set (OK if this is NT4)

***************** SYSKEY IS ENABLED! **************
This installation very likely has the syskey passwordhash-obfuscator installed
It's currently in mode = -1, Unknown-mode

SYSTEM (and possibly SECURITY) hives not loaded, unable to disable syskey!
Please start the program with at least SAM & SYSTEM-hive filenames as arguments!

RID     : 0500 [01f4]
Username: Administrador
fullname:
comment : Cuenta para la administración del equipo o dominio
homedir :

User is member of 1 groups:
00000220 = Administradores (which has 1 members)

Account bits: 0x0014 =
[ ] Disabled        | [ ] Homedir req.    | [X] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
[ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
[ ] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
[ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |

Failed login count: 6, while max tries is: 0
Total  login count: 178

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
 4 - Unlock and enable user account [probably locked now]
 q - Quit editing user, back to user select
Select: [q] > 1
Password cleared!

Hives that have changed:
 #  Name
 0
Write hive files? (y/n) [n] : y
 0   - OK

Con lo anterior sólo falta desmontar el disco y reiniciar el equipo para volver a tener acceso a la cuenta del usuario sin necesidad de una contraseña.

19
ago

Expulsar un CD/DVD en una Mac

Las máquinas de Apple son bastante estéticas aunque a veces resignan algunas cosas útiles como la posibilidad de expulsar físicamente la lectora cuando un CD/DVD no puede extraerse. Sin embargo, existe una forma muy simple de forzar esto que consiste simplemente en tener presionado el botón izquierdo del mouse cuando el equipo inicia (cuando emite el sonido en el arranque). Tan simple y sencillo como eso. Una aclaración: en mi caso probé primero con un mouse inalámbrico y no funcionó, pero sí con uno con cable.

14
ago

Wake On LAN: prender un equipo de forma remota

Wake On LAN: ¿Qué es y para qué sirve?

Muchas veces es necesario acceder a una máquina remota por algún motivo aunque puede que la necesidad sea eventual y no se justifique el gasto de tenerla encendida todo el tiempo. Para estas oportunidades, la técnica de Wake On LAN (WOL) es ideal. Básicamente, nos permite encender un equipo utilizando como único medio la red local.

WOL tiene dos prerrequisitos fáciles de cumplir: requiere que la computadora a ser encendida soporte WOL y esté conectada a una red Ethernet. Su forma de funcionamiento es igualmente simple: se envía una trama especial, llamada paquete mágico (magic packet), que contiene dentro la dirección MAC de la PC a “despertar” repetida 16 veces. De esta manera, la PC que está apagada recibe dicha trama, detecta el paquete mágico y al verificar que la MAC contenida es la propia envía una señal de encendido. Lógicamente, para que esto funcione es necesario que la placa de red siga recibiendo energía, con lo cuál existe un mínimo consumo.

Configurando WOL en la máquina destino.

Para habilitar WOL es necesario hacerlo primero desde el BIOS, desde la sección Power Management (administración de energía). Allí se encuentra una opción normalmente referida como Wake On LAN, Wake on MAC LAN o algo parecido. Lógicamente, hay que habilitar dicha opción. En la mayoría de los sistemas debería alcanzar con eso, dado que WOL es una característica independiente del sistema operativo. No obstante, en un caso (con un motherboard MSI K9N Neo) no me funcionó dicha opción y lo habilité desde Linux. Por ello explicaré a continuación cómo hacerlo.

testing:~# ethtool eth0
Settings for eth0:
        Supported ports: [ MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes

De la salida anterior importan particularmente dos opciones: Supports Wake-on y Wake-on. La primera de ellas, con una g indica que la placa de red soporta efectivamente WOL; la segunda, con una d indica que WOL está desactivado en esa interfaz. Para habilitarlo:

testing:~# ethtool -s eth0 wol g
testing:~# ethtool eth0
Settings for eth0:
        Supported ports: [ MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: external
        Auto-negotiation: on
        Supports Wake-on: g
        Wake-on: g
        Link detected: yes

Despertando un equipo por LAN.

Para encender un equipo por LAN se necesita enviar el paquete mágico. Hay varias utilidades que hacen esto. En Linux se puede utilizar wakeonlan y en Mac existe una utilidad free llamada WakeUp. Mikrotik también lo soporta con una utilidad propia, que se verá a continuación.

Utilizando wakeonlan en Linux.

Si el equipo a encender está en la misma red alcanza con el siguiente comando, indicando sólo la MAC del mismo. En este caso se supone que la MAC es 08:00:27:e8:02:6b.

leandro@megan:~$ wakeonlan 08:00:27:e8:02:6b
Sending magic packet to 255.255.255.255:9 with 08:00:27:e8:02:6b

Si el equipo está en otra red entonces son necesarios algunos pasos y parámetros adicionales:

  • La utilidad wakeonlan envía el paquete mágico al puerto 9 UDP. Por tal motivo, en caso de utilizar NAT es necesario redirigir ese puerto a la IP de la máquina destino. De le contrario será necesario sólo habilitarlo en el firewall.
  • La máquina que ejecute la utilidad para prender el equipo remoto debe ahora apuntar a la IP del router que redirigirá el paquete.

A continuación se muestran los parámetros del comando dado que no es tema de este post explicar cómo redirigir puertos. Se supone aquí que el router hace NAT y tiene la IP 10.0.0.1.

leandro@megan:~$ wakeonlan -i 10.0.0.1 08:00:27:e8:02:6b
Sending magic packet to 10.0.0.1:9 with 08:00:27:e8:02:6b

Utilizando la utilidad de Mikrotik.

Con un router Mikrotik, basta con especificar la MAC del sistema destino y, opcionalmente, la interfaz mediante la cual dicho sistema se conecta.

[leandro@MikroTik] > tool wol mac=08:00:27:e8:02:6b interface=LAN