================================
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は、Sillicon Graphics社(SGI)製のIndyやO2等が有名ですね。これらのWSは、主にマルチメディア用途にふられており、見た目もものすごくカッコいいです。アプリも結構そろっており、インタフェースもwindows95ライクで、初心者でも取っつきやすいのが特徴です。置いてるのは、映画会社(ハリウッド映画の特撮は、だいたいIRIXが使われています)やマルチメディア関連の専門学校、画像処理系の研究所や大学ですね。
4. IRIXを探す
「うちにIRIXがあるなんて、ほとんどのヤツが知らないさ」なんて思わないようにしましょうね。ある日popperをインストールしようとIRIX6.3で、/etc/servicesをいじっていた時、なにやら見知らぬポートが指定されているじゃありませか。ポート5232... 良く分かりませんが調べるのも面倒だったので、とりあえずほっといたんですが、ある日「5232を調べれば...」と思い、telnet localhost 5232してみると、案の上listen。他のはどうだろと思い、周辺のIRIXを当たったところ、全部listenしています。で、ポートスキャナ"EasyScan"(トップページでダウンロードできます)を作り、SGIマシンのある知り合いのac.jpに頼んでスキャンさせてもらったところ、ずら〜っと出ました。ちなみに、ログですが、私が調べた上では/var/admのSYSLOGファイルに、スキャンした形跡は残りますが、dgl error (dcom_init): fatal error 34とログられるだけで、IP等は残らないようです。
5. ログインする
ログイン画面は綺麗なアイコンが表示されクリック&パス入力で入ります。ディフォルトでも、デモやEasy Setupなど、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、およびhandlerの穴を利用したもので、IRIX6.3までなら使えます。これでShadowがないpasswdが出た場合はjohn使ってクラックされてしまいますね。IRIX6.3までなら、ディフォルトではshadowなしになっています(セキュリティ強化ウイザードが内臓されており、これを実行しないとShadow化されません)。catでなくても色々できますので、webdist.cgi?distloc=;やuseless_shit;の後に色々コマンドを入れてみてください。
あと、ttdbserver等のバグを利用したRemote-exploitもあります。こういうものならアカウントさえいりません。これを利用してrlogin target-server -l rootでいきなりrootログイン、passwd/shadowにroot権限ユーザのエントリの追加、inetd.conf書き換えてftpだけのサーバでもtelnet、など何でもされてしまいますね。詳しくは書きませんので、知りたい人は適当な所で情報収集しましょう。対策としてはttdbserverのパーミッションを変更したり、消したり、パッチを当たりってとこですか。
6. rootになる
さて、ここまで行ったら、IRIXシリーズはたくさんバグがありますので、パッチを当ないヤツは簡単にrootをとられます。事実、私の周辺のIRIXマシンもパッチなんて当ていません。SGIは、問題が発覚たびにCD-ROMを送ってきますが、「バグ修正?別に今のままで問題ないし、めんどくせー」とパッチを当ない人も多いです。CD-ROMと一緒に送ってくる資料に、「セキュリティーホールがあり、rootを盗られる危険があるため、パッチをあててください」とでも書いとけば、みんなパッチを当るのになぁ。さて、ログインできたら、侵入者は以下のものを用意します。 とりあえず、仮想アタックして自分のIRIXの耐久性をチェックしてみましょう。
ログ消し、rootshell、セキュリティーホール情報
ログ消しでzapはSolaris版(wtmpx.c)が代用できますが、先頭に
#include <file.h>
を追加してコンパイルしましょう。また、セキュリティーホール情報は、Packet Storm Seculityやrootshell.com、Bugtraq mailing list archivesなどで手にいれましょう。これらに出てないセキュリティーホールもあります。Cとアセンブラ、OSのInsideな知識とバグを予測できる能力があれば攻撃プログラムも作れちゃいます。
ここまでこれたら、あなたのIRIXははっきり言ってアマイです。おそらくrootになれるでしょう。
7. 足跡を消す
さて、管理者の方は試しに足跡も消してみましょう。普通、rootをとった侵入者は絶対消していきます。とりあえず、zapには多少の問題があり、「zapで消したぞ」という痕跡がmodifyされたログにしっかり残ります。でも、ここまでこれてしまったIRIXの管理者の方はその痕跡の発見法も知らないんじゃないですか?(くわしくは、ここの「ログの解体と消去法」を参照)。もちろん、zapだけでは/var/adm/utmp、/var/adm/utmpx、/var/adm/wtmp、/var/adm/wtmpxしか変更してくれません。IRIXの場合は/var/adm/SYSLOGにftp、telnetの成功・失敗履歴が書かれますので、テキストエディタ等で編集しましょう。また、suを使った場合は /var/adm/sulogの編集もします。また、lastlogはSolarisと多少異なるのでzapで消せません。lastlogは、/var/adm/lastlogでユーザ毎のファイルで管理されています。rlogin localhostするか、rm /var/adm/lastlog/ユーザ名でlastlogを消します。
8. 仕上げ
一度侵入を許してrootをとられると、色々されます。詳しくは「鯖の長期保存法」を参照してください。