Teknik^tDR
Versió 3.x!

Seguretat

Algunes notes més sobre usuaris a l’Apple TV

 
per teknik el 23 agost 2011 | Informàtica, Mac, Seguretat, Sistemes

A un post anterior vaig explicar com crear un usuari que no fos frontrow. En aquest post explicaré algunes millores més que es poden aplicar per poder fer servir de manera més còmoda el nostre nou usuari.

Sudoers

Per permetre poder fer servir sudo amb el nou usuari (en el meu cas teknik) cal afegir-lo al grup admin. Per fer-ho, entrem com a root i l’afegim:

login frontrow                                          # de moment cal fer-ho com a "frontrow" ;)
sudo niutil -appendprop / /groups/admin users teknik
sudo niutil -read . /groups/admin  # comprovem que efectivament  l'usuari està al grup

Cal recordar desconnectar de l’Apple TV perquè els canvis siguin efectius.

“Clon” de l’usuari frontrow

Igual que a l’anterior post vem crear un usuari alternatiu a frontrow però amb el seu propi UID i GID, també podem crear un usuari alternatiu a frontrow, amb el mateix UID i GID però amb un altre password. Per crear el password cal veure el post anterior, o be podem fer servidor el mateix password que amb l’anterior usuari amb el següent:

sudo niutil -read . /users/teknik

i fent servir el password als següents passos, a on posa (hash):

sudo niutil -create / /users/frontrowx # Creem l'usuari "frontrowx"
sudo niutil -createprop / /users/frontrowx uid 501 # Li donem un UID = 501 (el mateix que l'usuari frontrow)
sudo niutil -createprop / /users/frontrowx gid 501 # Li donem un GID = 501, que creem després
sudo niutil -createprop / /users/frontrowx home /Users/frontrow # Li assignem el home a l'usuari
sudo niutil -createprop / /users/frontrowx shell /bin/bash # Li assignem el shell a l'usuari
sudo niutil -createprop . /users/frontrowx passwd (hash)
sudo niutil -createprop . /users/frontrowx authentication_authority ";basic;"
sudo niutil -read . /users/frontrowx
sudo niutil -appendprop / /groups/admin users frontrowx

També aprofito per incloure’l al grup admin.

Per fi HTTPS a Facebook

 
per teknik el 20 abril 2011 | Informàtica, Privacitat, Seguretat, Web

Des de fa temps que faig servir el NoScript per forçar HTTPS a Facebook. En el cas de GMail, per exemple, ho tinc activat des de l’aplicació, sense necessitat de fer “virgueries”, o recentment a Twitter també ho han posat. Però en el cas de Facebook no ha estat fins ara que ho han posat, tot i que fa temps va haver-hi el “problema” de Firesheep, que demostrava lo fàcil que és capturar sessions d’aplicacions web en Wi-Fis obertes.

Per fer-ho, dins de l’opció de Compte -> Configuració del compte trobem això, i cal activar l’opció que te la fletxa. Ja està! :D

Protegir les contrasenyes a Firefox

 
per teknik el 14 abril 2011 | Seguretat, Software Lliure, Web

De vegades és convenient guardar alguna contrasenya al navegador web. Jo faig servir Firefox de manera habitual, i una de les opcions que li dona una seguretat addicionar és posar una contrasenya mestra.

Ara be, el problema de la contrasenya mestra és que, un cop te l’ha demanat, ja se’n recorda durant tota la sessió. Però, com tants altres problemes, hi ha moltes solucions a Firefox en forma de plugins: Master Password Timeout. :D

Crear un usuari a l’Apple TV per a major seguretat

 
per teknik el 18 febrer 2011 | Informàtica, Mac, Seguretat, Sistemes

Fa uns dies vaig començar a donar-li voltes al tema de que el meu Apple TV li tinc posat el SSH (entre d’altres coses!) i que accedint per SSH l’usuari i password són trivials (frontrow/frontrow). Com que m’agrada tenir les coses una mica en condicions vaig decidir que, encara que tingui el dispositiu a la xarxa de casa sense tenir-lo exposat al mon exterior, m’agradaria no tenir-lo amb usuari i password coneguts. Així que vaig decidir investigar opcions.

AVIS: el que es descriu en aquest article pot provocar problemes en el teu Apple TV, així que si no saps molt be el que fas millor no ho provis. O en qualsevol cas, JO NO ME’N FAIG RESPONSABLE.

La opció més directa, la de canviar-li el password a l’usuari frontrow, sembla ser que no és molt recomenable, ja que pot donar problemes amb part del software instal·lat al dispositiu.

Després d’això, vaig veure que es suggeria la possibilitat de forçar l’autentificació per clau pública/privada. Tot i que és una bona opció, i força més segura que el típic usuari i password, a mi no em resulta convenient.

Finalment vaig veure una tercera opció, que és desactivar el login a través d’SSH de frontrow, mantenint la contrassenya, i crear un nou usuari amb el qual poder logar-me sense problemes. I aquí és un va començar la part interessant…

Primer vaig buscar com crear usuaris. Resulta que els Apple TV de primera generació utilitzen una versió modificada de Mac OS X 10.4 “Tiger”. I modificada vol dir, entre altres coses, retallada. Per tant, per la base de dades d’usuaris utilitzen NetInfo, que és una base de dades binaria. Els fitxers tradicionals d’Unix com /etc/passwd només s’utilitzen en mode single user. Apart, vaig comprovar que al sistema no hi havia el binari passwd. Actualment no tinc accés a cap sistema amb Tiger, l’únic que tenia va ser actualitzat fa temps a Snow Leopard. I resulta que NetInfo va desaparèixer a Leopard. Per tant, no podia passar el binari des de cap sistema (ja deixant de banda els problemes de dependències que havia llegit que hi havia). Calia trobar una altra solució…

Investigant vaig veure que la utilitat per manipular la BBDD de NetInfo si que es trobava al sistema: niutil. Després de mirar a diversos llocs, vaig crear un usuari de la següent manera (el texte subratllat és el que caldria canviar per crear-ne un de diferent).

sudo niutil -create / /users/teknik              # Creem l'usuari "teknik"
sudo niutil -createprop / /users/teknik uid 502  # Li donem un UID = 502 (l'usuari frontrow te el 501)
sudo niutil -createprop / /users/teknik gid 502  # Li donem un GID = 502, que creem després
sudo niutil -create / /groups/teknik             # Creem el grup "teknik"
sudo niutil -createprop / /groups/teknik gid 502 # Li donem un GID = 502 (igual que el de l'usuari, clar)
sudo mkdir /Users/teknik                         # Creem el home
sudo chown -R teknik:teknik /Users/teknik        # Li donem permisos a l'usuari i el grup
sudo niutil -createprop / /users/teknik home /Users/teknik # Li assignem el home a l'usuari
sudo niutil -createprop / /users/teknik shell /bin/bash    # Li assignem el shell a l'usuari

Amb això ja tenim l’usuari creat amb el seu home directory. Ara ens falta assignar-li una contrasenya. Però la qüestió és que no tenim la utilitat passwd al sistema. Una de les formes de crear-la la he trobat posteriorment a aquesta discussió, a on diu que per generar el hash de la nostre contrasenya podem fer servir OpenSSL des d’una altra màquina. En concret, si volem que la nostra contrasenya sigui “cheese” fariem el següent:

$ openssl passwd cheese
2bbFk0yBBCLC.  # Això no serà el que obtindràs, mira el comentari sobre la sal.

El hash obtingut el posariem a la base de dades de NetInfo com veurem després. Aquest mètode serveix per qualsevol sistema a on tinguem accés a OpenSSL, sigui Mac OS X, Linux o Windows. Cal dir que aquest mètode no l’he provat, i tampoc puc comparar simplement els valors dels hash amb els del següent mètode ja que tenen sal.

Ja vaig fer servir un altre mètode (que vaig esbrinar per prova i error) que serveix per màquines amb OS X. En el meu cas ho vaig fer amb un Snow Leopard, però hauria de servir perfectament un Leopard o un Tiger, o probablement versions anteriors.

Primer vaig copiar el fitxer /etc/master.passwd al meu home. D’aquesta forma els següents passos els podré fer sobre aquest fitxer sense malmetre l’original. Això és prou important si no volem arriscar-nos a tenir problemes amb el sistema posteriorment. Un cop feta la còpia, vaig fer servir una sintaxi de passwd a OS X que em permet especificar-li el tipus de base de dades a utilitzar (en aquest cas tipus file, per fer servir un fitxer de texte pla tipus Unix) i a on trobar-la (./master.passwd.tmp). Per tant, des del meu home i com a usuari normal, vaig fer el següent:

sudo cp /etc/master.passwd ./master.passwd.tmp
sudo passwd -i file -l ./master.passwd.tmp root
sudo more ./master.passwd.tmp
sudo rm ./master.passwd.tmp

Cal notar que vaig fent sudo perquè el master.passwd te com a propietari root i com a permisos 600 (només l’usuari root el pot llegir). Inclús si ho canviem, a l’executar passwd es resetejarà. Així que compte amb teclejar-ho tot exactament com ho he posat.

Fixeu-vos que l’usuari al qual li canvi la contrasenya és l’usuari root, però tenint en compte que no és el root del sistema, sinó de la nostra còpia del fitxer master.passwd. Perquè això? Perquè el fitxer només es fa servir en mode single user, i per tant no és una còpia actualitzada dels usuaris del sistema. I perquè passwd només permet canviar la contrasenya d’usuaris presents al fitxer, i root hi és. I finalment perquè només ens interessa el hash, i per tant és indiferent sobre quin usuari fem aquesta operació. Amb l’última ordre tindrem un llistat del fitxer. Buscarem el hash de l’usuari root i el copiarem, per fer-lo servir al següent pas.

sudo niutil -createprop . /users/teknik passwd (hash)
sudo niutil -createprop . /users/teknik authentication_authority ";basic;"
sudo niutil -read . /users/teknik

A la primera linia posarem el hash a la base de dades. Però amb això únicament no n’hi ha prou. Vaig intentar logar-me i em va ser impossible. La segona linia és necessaria per que Apple TV ens reconegui la contrassenya. Finalment l’última linia ens permet comprovar que tot està correcte. El resultat el podem comparar amb el de l’usuari frontrow per veure que tot és correcte. Faltarà alguna propietat, però amb les que hem posat és més que suficient per treballar amb l’usuari amb normalitat.

Per rematar-ho, provem que podem logar-nos amb normalitat amb l’usuari nou:

ssh teknik@appletv.local

Un cop ho haguem comprovat, podem procedir a bloquejar l’usuari frontrow a l’SSH modificant /etc/sshd_config de la següent manera, i finalment reiniciant l’Apple TV.

sudo bash
echo "DenyUsers frontrow" >> /etc/sshd_config
reboot

Per tant, a partir d’aleshores ens haurem de logar amb el nou usuari, ja que si ho intentem amb el frontrow obtindrem un error:

ssh frontrow@appletv.local.
frontrow@appletv.local.'s password: ****
Permission denied, please try again.
frontrow@appletv.local.'s password: (ctrl-c per sortir)

Ah! I el detall final és que no tenim su per canviar d’usuari, però si que tenim login. Així que si volem passar a l’usuari frontrow un cop logats amb el nou usuari, podem fer:

login frontrow

des de dins de l’Apple TV.

Espero que us sigui útil!

Millores de seguretat a WordPress

 
per teknik el 6 febrer 2010 | Seguretat, Web

Fa dies que em rondava per el cap activar l’autentificació utilitzant SSL al blog, o potser fer que tota l’administració anés per SSL. Després de mirar-ho, vaig trobar que a StartSSL em proporcionaven un certificat SSL gratuit, bàsic però més que suficient per el que volia: tenir la seguretat que la meva contrassenya no es transmetés en clar, com fa habitualment WordPress i la majoria d’aplicacions web que realitzen autentificació amb un formulari pròpi. A més, aquest certificat em dona l’avantatge que a molts navegadors web StarSSL està posat com a root CA i per tant serà totalment vàlid, i no donarà cap avís de que el certificat no és confiable.

Total, que avui ja ho he pogut activar. Per el moment va prou be, encara que per exemple al editar un hiperenllaç no em surten correctament localitzades les cadenes (tot sigui que en realitat el problema no sigui de l’actualització que vaig fer fa uns dies!). Però be, són mals menors que ja aniré solucionant. Per ara ja tinc un plus de seguretat! :D

Un altre dia toca explorar el plugin WordPress Exploit Scanner.

Problemes de privacitat de CSS i solucions a FireFox

 
per teknik el 21 novembre 2009 | Privacitat, Seguretat, Web

Fa uns dies he anat veient alguns articles de com obtenir informació sobre la història del navegador web utilitzant únicament CSS! Cal tenir en compte que no s’obté informació de tots els enllaços visitats, si no que l’atacant ha de fer una llista dels que vol comprovar i amb aquest atac pot esbrinar si la víctima els ha visitat.

Al segon article es suggereixen algunes opcions per solucionar-ho. Una d’elles és desactivar la història del navegador, l’altra, vàlida per Firefox, és desactivar el CSS per els links visitats, com segueix:

  • Escriure “about:config” a la barra d’adreçes
  • Escriure “layout.css.visited_links_enabled” al filtre
  • Canviar el valor per defecte de “True” (cert) a “False” (fals), fent doble click sobre la opció
  • Reiniciar Firefox

Seguretat a la xarxa TOR

 
per teknik el 21 novembre 2009 | Seguretat

Ja fa un temps que es va anunciar que un especialista en seguretat que va robar, segons var dir, mil contrassenyes d’embaixades, institucions, etc. i en va publicar cent.

Doncs quan es va publicar com ho va fer, va resultar que va preparar cinc nodes de sortida de la xarxa TOR i els hi va posar un sniffer que capturava el tràfic a la sortida.

Per entendre-ho només cal entendre com funciona la xarxa TOR: els paquets que volem enviar passaran per diferents routers de la xarxa TOR, formant aquests una cadena de routers, de forma que podem ocultar l’origen dels paquets. Alhora, aquests paquets es xifren per capes, amb una clau diferent per cada router TOR. D’aquesta forma, el primer router desxifra la primera capa. El resultat és un paquet xifrat i la indicació del següent salt a fer (el següent router router de la cadena). Això es repeteix fins que arribem a l’últim router. En aquest moment ve el problema (o debilitat, si no s’entén com funciona TOR): aquest últim router desxifra l’última capa, i obté el paquet de dades en text clar, i l’envia al destinatari final. És en aquest moment que ens poden capturar les dades!

En qualsevol cas cal tenir en compte que TOR és un bon servei que pot ajudar a l’anonimització de l’origen de les dades, però no les pròpies dades, i ademés no és un servei per xifrar extrem a extrem. En cas que, per exemple, utilitzem claus d’accés, aquestes s’han de transmetre de manera segura.

En qualsevol cas ja ens ho adverteixen al FAQ del mateix projecte TOR, i inclús ara hi ha advertències a la pàgina d’inici del projecte.

“Little Bobby Tables”, un clàssic :D

 
per teknik el 6 novembre 2009 | Humor, Seguretat

Més informació sobre missatges a mòbils

 
per teknik el 24 març 2009 | Privacitat, Seguretat

Seguint amb el post sobre els missatges a mòbils, avui n’he vist un altre, rebut del número +79128599095:

“CONECTASMS info:tu numero de movil tiene 3 mensajes pendientes en la bandeja de entrada conecta para recibirlos envia MEN al 7305 caducan en 24 horas”

Igual que l’altre, el missatge no te cap accent (així no s’arrisquen a haver-ho d’enviar en Unicode!) i, pitjor encara, cap punt, coma o signe de puntuació (excepte els “:” inicials). El cas és que, a més de l’engany, fa uns dies vaig veure com era que aparentment els missatges arribaven de l’extranger: a un article de Security By Default sobre un hackeig “de broma” a Enrique Dans enllaçen també a un altre article seu a on parlen del SMS spoofing, o sigui, que l’origen dels SMS és fàcilment falsejable. O sigui, que els missatges els envien des d’aqui amb origen fals!

Petita millora de seguretat per Firefox a Windows XP

 
per teknik el 23 febrer 2009 | Seguretat, Windows

La forma ideal de treballar amb tot sistema operatiu actual és amb un usuari amb privilegis reduïts, o sugui, en el cas de Windows 2000 o Windows XP, el que es coneix com Usuari limitat o Usuari “ras” o, com a molt, Usuari avançat. En el cas de l’usuari avançat encara es pot treballar, però amb un usuari limitat qualsevol persona no experta tindrà molts problemes per treballar amb el sistema, i moltes aplicacions ni funcionaran.

Per tant, la majoria de gent treballa amb un usuari administrador, amb tots els perills que això comporta. Unes de les aplicacions més perilloses avui en dia són els navegadors web. Per tant, interessa que aquestes s’executin amb privilegis limitats. Per poder-ho fer podem fer servir el Ejecutar como d’aquests sistemes, o be podem fer servir la utilitat psexec de Sysinternals (ara comprat per Microsoft!).

En el meu cas, el que vaig fer va ser duplicar l’accés directe perqué, en comptes d’executar Firefox directament el cridés fent servir psexec:

"C:\Archivos de programa\Sysinternals\psexec.exe" -d -l C:\\ARCHIV~1\\MOZILL~1\\FIREFOX.EXE

Cal tenir en compte un parell de limitacions importants quan executem Firefox d’aquesta manera:

  • Que si executem algún programa amb doble click a la finestra de descàrregues, aquest s’executarà també amb privilegis reduits, impedint, per exemple, en molts casos instal·lar programes. Caldria, per tant, executar-lo des de fora del navegador.
  • Que les actualitzacions automàtiques no funcionaran. Per fer-les caldrà iniciar el navegador amb permisos d’administrador (els normals del propi usuari en aquest cas). Això aplica únicament en el moment d’instal·lar. Per tant, podem descarregar l’actualització amb l’usuari amb permisos limitats, tancar el navegador i després tornar-lo a obrir amb els permisos complets.

Per poder executar el Firefox amb drets complets, convé que no modifiquem l’accés directe original, sinó una còpia, o en qualsevol cas que li canviem el nom.

Per acabar-ho d’arrodonir, convé també canviar l’accés directe del menú d’inici, el que apareix a la part d’adalt com a Internet. Aquí hi ha un arxiu per importar-ho directament al registre (es pot obrir amb el Notepad per comprovar que no és cap arxiu “extrany” ;D ):