==================================== The ShadowPenguin Documents No.1 -IRIXセキュリティ - Written by うにゅん Oct.18, 1998 ==================================== 1. はじめに このテキストは、セキュリティーの弱いIRIXでの実際の攻撃方法が記載されています。絶 対に、興味本位でこの方法を実行し、ハック・クラック等を行わないようにしましょうね 。このテキストを読んだIRIX管理者は、この方法でヤラれないよう対策しましょう。でな いと、しりませんよ。ホントこういうIRIXは多いらしいですから。あなたのIRIXは大丈夫 ですかぁ〜? 2. 概要 IRIXが動作しているWSをスキャン後、rootになっちゃいます。この方法は、あくまでセキ ュリティーにあまり関心がない管理者が管理しているIRIX-WS のみが対象ですが、日本の 大学の研究室やSOHOな企業など、セキュリティーに詳しい人物があまりいない所だと実際 にこの方法でヤレてしまうことが非常に多いです。事実、ac.jp だと一晩かければ非常に 多くのrootがとれてしまいます。そういった所のIRIX管理者は、この方法でrootを取られ ないかどうか検査しましょうね。rootをとられると、メールを盗聴されて不祥事が暴かれ たり、重要書類や研究成果が盗まれたり、システムを破壊されたり、踏み台にされたり.. . 色々されちゃいますから、気をつけましょうね。ある朝、いきなりpentagon.milからク レームのメールが届くなんてイヤでしょ? 3. IRIXを知る IRIXは、Solaris 等と同じようにSystem/VのUNIXです。IRIXが動作するWSは、SilliconGr aphics社(SGI) 製のIndyやO2等が有名ですね。これらのWSは、主にマルチメディア用途に ふられており、見た目もものすごくカッコいいです。アプリも結構そろっており、インタ フェースもwindows95 ライクで、初心者でも取っつきやすいのが特徴です。置いてるのは 、映画会社(ハリウッド映画の特撮は、だいたいIRIXが使われています)やマルチメディ ア関連の専門学校、画像処理系の研究所や大学ですね。 4. IRIXを探す 「うちにIRIXがあるなんて、ほとんどのヤツが知らないさ」なんて思わないようにしまし ょうね。ある日popperをインストールしようとIRIX6.3 で、/etc/services をいじってい た時、なにやら見知らぬポートが指定されているじゃありませか。ポート5232... 良く分 かりませんが調べるのも面倒だったので、とりあえずほっといたんですが、ある日「5232 を調べれば... 」と思い、telnetlocalhost5232 してみると、案の上listen。他のはどう だろと思い、周辺のIRIXを当たったところ、全部listenしています。で、ポートスキャナ "EasyScan"( トップページでダウンロードできます) を作り、SGI マシンのある知り合い のac.jp に頼んでスキャンさせてもらったところ、ずら〜っと出ました。ちなみに、ログ ですが、私が調べた上では/var/admのSYSLOGファイルに、スキャンした形跡は残りますが 、dglerror(dcom_init):fatalerror34とログられるだけで、IP等は残らないようです。 5. ログインする ログイン画面は綺麗なアイコンが表示されクリック&パス入力で入ります。ディフォルト でも、デモやEasySetup など、SGI マシンのパワーを見せつけたいのか、たくさんのアカ ウントが用意されており、設置にきた業者が「どぉ〜です〜、スゴいでしょう〜」等と言 いながら、ぐるぐるポリンゴン&テクスチャのデモや、キャプチャのデモなどをやります 。また、セットアップも専用のアカウントがあり「ここまで凝らなくても... 」というよ うな3Dぐるぐるなセットアップが用意されています。 さて、これらディフォルトのアカウントですが、もちろんパスは指定されていません。使 っている人は、rootや自分のアカウントのパスは指定しても、これらディフォルトのアカ ウントのパスは設定しない場合が多いです。というのも、これらのアカウントでログイン してもShell が立ち上がるわけでもなく、いきなりフルスクリーンのGUI が出てくるので 、見落とすことも多いのです。私の周辺のwsでは、私のws以外、全て以下のログイン名の どれかはpasswdは指定されていませんでした。 EZsetup、4Dgifts、demos、guest、lp、nuucp、tour、tutor ユーザアカウントリストは、 http://www.target-server.ac.jp/userList.html で確認できます。これらのユーザ名をLogin 時に指定するとパスワードナシでログインで きることが多いです。「うちのIRIXは大丈夫さ」なんて思ってる管理者さん、以下のもの もあなたのIRIXで試してみてください。 http://www.target-server.ac.jp/cgi-bin/webdist.cgi?distloc=;cat%20/etc/passwd および http://www.target-server.ac.jp/cgi-bin/handler/useless_shit;cat%20/etc/passwd|?data=Download をやってみましょう。IRIXは標準でHTTPd が動いてます。コレはwebdist 、およびhandle r の穴を利用したもので、IRIX6.3 までなら使えます。これでShadowがないpasswdが出た 場合はjohn使ってクラックされてしまいますね。IRIX6.3 までなら、ディフォルトではsh adowなしになっています(セキュリティ強化ウイザードが内臓されており、これを実行し ないとShadow化されません)cat でなくても色々できますので、webdist.cgi?distloc=; やuseless_shit;の後に色々コマンドを入れてみてください。 あと、ttdbserver等のバグを利用したRemote-exploitもあります。こういうものならアカ ウントさえいりません。これを利用してrlogintarget-server-lroot でいきなりrootログ イン、passwd/shadow にroot権限ユーザのエントリの追加、inetd.conf書き換えてftp だ けのサーバでもtelnet、など何でもされてしまいますね。 詳しくは書きませんので、知りたい人は適当な所で情報収集しましょう。対策としてはtt dbserverのパーミッションを変更したり、消したり、パッチを当たりってとこですか。 6. rootになる さて、ここまで行ったら、IRIXシリーズはたくさんバグがありますので、パッチを当ない ヤツは簡単にrootをとられます。事実、私の周辺のIRIXマシンもパッチなんて当ていませ ん。SGI は、問題が発覚たびにCD-ROMを送ってきますが、「バグ修正?別に今のままで問 題ないし、めんどくせー」とパッチを当ない人も多いです。CD-ROMと一緒に送ってくる資 料に、「セキュリティーホールがあり、rootを盗られる危険があるため、パッチをあてて ください」とでも書いとけば、みんなパッチを当るのになぁ。 さて、ログインできたら、侵入者は以下のものを用意します。とりあえず、仮想アタック して自分のIRIXの耐久性をチェックしてみましょう。 note) ログ消し、rootshell、セキュリティーホール情報 ログ消しでzapはSolaris版(wtmpx.c)が代用できますが、先頭に #include を追加してコンパイルしましょう。また、セキュリティーホール情報は、PacketStormSec ulity やrootshell.com 、Bugtraqmailinglistarchivesなどで手にいれましょう。これら に出てないセキュリティーホールもあります。C とアセンブラ、OSのInsideな知識とバグ を予測できる能力があれば攻撃プログラムも作れちゃいます。 ここまでこれたら、あなたのIRIXははっきり言ってアマイです。おそらくrootになれるでしょう。 7. 足跡を消す さて、管理者の方は試しに足跡も消してみましょう。普通、rootをとった侵入者は絶対消 していきます。とりあえず、zap には多少の問題があり、「zap で消したぞ」という痕跡 がmodifyされたログにしっかり残ります。でも、ここまでこれてしまったIRIXの管理者の 方はその痕跡の発見法も知らないんじゃないですか?(くわしくは、ここの「ログの解体 と消去法」を参照) もちろん、zap だけでは/var/adm/utmp 、/var/adm/utmpx、/var/adm/wtmp 、/var/adm/w tmpxしか変更してくれません。IRIXの場合は/var/adm/SYSLOG にftp 、telnetの成功・失 敗履歴が書かれますので、テキストエディタ等で編集しましょう。また、suを使った場合 は/var/adm/sulogの編集もします。また、lastlog はSolaris と多少異なるのでzap で消 せません。lastlog は、/var/adm/lastlogでユーザ毎のファイルで管理されています。rl oginlocalhost するか、rm/var/adm/lastlog/ ユーザ名でlastlog を消します。 8. 仕上げ 一度侵入を許してrootをとられると、色々されます。詳しくは「鯖の長期保存法」を参照 してください。