1からタイプするのに比べたら、元があると楽です。 読み返してないので変なところがあったら、ご勘弁を。 *************************** 新しいクラッカーガイド Cracking Volume 1 ---------------------- クラッキング 1巻 著 者 :- ( jay-man ) ( the hawk ) ( titan ) ようこそ!これは,2つのグループの人々に有益なドキュメントとして使われることになる だろう。:新人のクラッカーそして、攻撃されそうなポイントについて知りたいと思っている 新人の管理者のために。この文書は全体にクラッカーの視点から書かれている。どうやってア クセス権を手に入れるか、しかしそれはまた、管理者が侵入を困難にするヒントを与えること でもある。この文書の著者は優秀なクラッカー(master cracker)ではない。システムレベルの クラッキングの知識はあまり持っていない。 では始めよう: UNIXシステムをクラックしたいと思うか?すでにUNIXへアクセスできているとしよう。 これは偉大さの順番に成し遂げることができる項目である。 1. ルートパスワード ( root Password ) 聖杯のようなものだ。これであなたは,「何でも」できる。 唯一の相違は本当の管理者(admin)は物理的にマシンにアクセスできることだ。 2. ルートアクセス ( root access ) パスワードを知らない以外は上記に同じ。 3. ユーザXのパスワード ユーザパスワードの特別なターゲット。アイテム1は,ターゲットユーザがルートである との同じである。 4. ユーザXのアカウントアクセス 同上。あなたがパスワードを知らない以外は。 5. いくつかのユーザパスワード ランダムな何人かのユーザ。盗まなくてよい。簡単に手に入る。 6. いくつかのユーザのアカウントアクセス 同上。あなたがそれらのパスワードを知らない以外は。 7. 入手したツールで大破壊を加える。 他人のファイルを削除する、システムをクラッシュするなど。 これらは入手すべき基本的なツールである。 1. Dan Farmer's COPS スクリプト。TAMUの タイガースクリプト( Tiger Scripts) 2. Crack( いくつかのマシン上で走るUNIXパスワードクラッカー) 3. 優秀品(原訳注:EJではCrackerJackが優秀品になってしまう) (UNIXパスワードをクラックするDOSあるいはOS/2プログラム) 4. UNIXの正しい知識 。基本的なコマンドを知らなければ,それらを学ぶ。 シェルスクリプトあるいはC言語を知らなければ,その基礎を学ぶ。ここではこれに ついてはふれない。 その他: あなたが探求したいレベルによるが,過去の CERT 勧告と8lgm によって発行された すべても役に立つだろう。 また,comp.security.unix newsgroup の購読も有効だろう。 我々は,ローカルシステムをクラックすることから始める。特定のユーザを得ることは,非常に 難しい。我々は,あるユーザへアクセスすることからスタートする。そのユーザーアカウントか らハッキングする方法でトレースバックされる可能性を少なくする。 パスワードファイル(passwd)を得る。典型的に2つの方法がある。/etc/passwd にあれば 単に"cat"コマンドで手に入る。そうでなければ「ypcat passwd」をタイプする。 これは パスワードを ypserver から引っ張る。クラックできるようにそれをファイルにリダイ レクトする。いくつかのシステムでは "shadowed"パスワードファイルに移行しはじめている。 私はこれらを見たことがないが、そのようなシステムでは明らかに rootだけが passwdファイル を読むことができる。この場合、次は役に立たないだろう。 今あなたはpasswdファイルを持っている。クラックを始めよう。ほとんどの場合,システムの上で クラックするのは賢明でない。長い時間がかかり、見つかりやすい。しかしこれをやればもうひとつ の選択より、より速く、より多くのパしワードをクラックできるだろう。アカウントのパスワードを 手に入れるには次の方法も使う。私が言及しているもう一つの選択は,優秀品(Cracker Jack)である。 これは,DOSとOS/2で走る信頼できるプログラムである。単にあなたは PCへ CrackerJack(優秀品)と passwdファイルとそれに与える辞書をコピーする。もし、教育機関にいるなら遅い時間に近づきやす いPCがあるだろう。そのいくつかのPCを何時間か使い、いくつかの小さな辞書で CrakcerJackを 走らせることができる。これは,クラックには非常に有効な方法である。これらのドキュメンテーシ ョンはかなり完全なかたちになっている。ここでは詳しく説明しない。 **管理者のノート: 上記の手口を妨げる方法: * シャドウ passwdファイルを使う。Joeユーザは見ることができない。 (先に述べたように、私は見たことがない) * ユーザーがアホなパスワードの変えようとした時にクイックチェックするいくつかの プログラムがある。 * Crack を走らせる。 もしあなたが管理人であれば,利用者が少ない時間に(1am-5am)lanの上のすべてのマシン で走らせる。定期的にこれをやるとあなたのシステムから弱いパスワードをはじくことがで きる。(毎週でなければ毎月行う事を強く勧める。cronジョブで自動化することができる) もし教育用の設定ならば,新しいユーザーは大きなグループになるだろう。(学期の初め) これはクラッカーが攻撃する理想的な時期だ。新しい、そして通常手掛かりのないたくさん のユーザーの弱いパスワードがある。この時期にチェックすべきだ。 ** OK! これは誰かのアカウントにアクセスする一つの方法だ。他の一つへ移動しよう。 その鍵は: プログラムYが走るユーザXを手に入れたとすると、そのアカウントへアクセスできる。 それは rootも含む。最初にprogram Yには何が必要か調べよう。 1. SUIDシェルスクリプトを作る。多くのシステムでは SUIDスクリプトが働かないように, セットアップされているので,私はこの攻撃は,好きではない。 しかしながら、ほとんどの場合に /tmpは,過剰なサイトであるように思える。 通常 SUIDプログラムは /tmpに存在でき、実行することができる。 SUIDの隠れたアイディアは,そのプログラムが走る時,それがオーナーのアカウントで走る ことである。もしそのプログラムがシェルを実行すれば、そのシェルはそのファイルのオーナー として走る。 "chmod 6xxx filename"を実行する事で、SUIDプログラムが作れる。xxxは通常のセッティングだ。 詳しい情報は "man chmod"で参照できる 2. それらを.rhostsファイルに加えなさい。 論証:他のアカウントへ rlogin しようとする時は、rloginプログラムはそのユーザホームディレ クトリの .rloginファイルを調べる。決められたマシン(これもまたリストを持っている)からその ファイルのリストへ rloginしようとする時、rloginは,パスワードを求めないだろう。 .rhostsは次のようにセットアップされている。 <machinename> <username> 3.上記の2つは他人のアカウントでアクセスする。 次に述べるものは上記つの2の方法をあなたに与えるだろう。 あなたは,彼らの.login,.cshrcあるいは.logoutファイルに行を追加し、彼らがログイン するたびに実行するプログラムを指定する事ができる。ひとつのアイデアは次のニセコードだ。 if /tmp/backdoor exists run /tmp/backdoor 必要に応じて /tmp/backdoor を作るだけでよい。もし存在しなくてもエラーはでない。 以下次号..... コメントは喜んで受け入れる。詳しい情報は alt.2600 で。 See You.. (c ya) the hawk Sysadmin alt.2600 moderator