ERROR 1


Japan UnderGround F.A.Q

Hack / Crack / Phreak Guide for Newbies

Ver 0.67


Produced by DEF-CON ZERO

-= members =-
Root Zer0, Hawkeye, X-CRACKER, Mr.Boo,
J-CIA, JAP THE RIPPER, Unknown, NOEXIT









UNIX

  1. デフォルトパスワード

     デフォルトパスワードとは、システムにデフォルトで設定されているユーザーとパスワードのことです。現在、デフォルトパスワードが使えるサーバはまず存在しないと思っていいでしょう。少なくとも、昔から知られるOS自体のデフォルトパスワード群の存在は限りなくゼロに近いと言えます。

    User ID Password User ID Password User ID Password
    root root root system sys sys
    sys system daemon daemon uucp uucp
    tty tty test test unix unix
    unix test bin bin adm adm
    adm admin admin adm admin admin
    sysman sysman sysman sys sysman system
    sysadmin sysadmin sysadmin sys sysadmin system
    sysadmin admin sysadmin adm who who
    learn learn uuhost uuhost guest guest
    host host nuucp nuucp rje rje
    games games games player sysop sysop
    root sysop demo demo * * * * * *

     ここに出ていないデフォルトパスワードで、昔、よく使われていたものがあります。それはUserID、パスワードが「www」という単純なものでした。また、サイト名そのものや、マシン名などもあります。これらの組み合わせでなんとかログイン出来るサーバも実際に存在します。



  2. パスワードファイルの位置はどこか?

     普通ならば、/etc/passwdがパスワードファイルです。もし、このシステムがshadow化されていた場合は、/etc/passwdのパスワードのencryptされたデータは、別の不可視ファイルとして格納されています。OSとバージョンよってその位置は違うので以下にリストを挙げておきます。

    Unix                  Path                            Token
    -----------------------------------------------------------------
    AIX 3                 /etc/security/passwd            !
           or             /tcb/auth/files//
    A/UX 3.0s             /tcb/files/auth/?/*
    BSD4.3-Reno           /etc/master.passwd              *
    ConvexOS 10           /etc/shadpw                     *
    ConvexOS 11           /etc/shadow                     *
    DG/UX                 /etc/tcb/aa/user/               *
    EP/IX                 /etc/shadow                     x
    HP-UX                 /.secure/etc/passwd             *
    IRIX 5                /etc/shadow                     x
    Linux 1.1             /etc/shadow                     *
    OSF/1                 /etc/passwd[.dir|.pag]          *
    SCO Unix #.2.x        /tcb/auth/files//
    SunOS4.1+c2           /etc/security/passwd.adjunct    ##username
    SunOS 5.0             /etc/shadow
                          
    System V Release 4.0  /etc/shadow                     x
    System V Release 4.2  /etc/security/* database
    Ultrix 4              /etc/auth[.dir|.pag]            *
    UNICOS                /etc/udb                        *
    



  3. パスワードファイルの中身の構成はどのようになっているか?

     shadow化されてない場合、パスワードファイルは大抵、

    take:OkMa.LxGQzWGY:189:100:Hiroki TAKEDA:/home/take:/bin/csh

    こんな感じでエントリされています。個々のデータは、':'によって区切られています。

    1. ユーザー名。"take"
      システム上におけるユーザー名のことで、実際にログインする時に打ち込むものです。

    2. 暗号化されたパスワード。"OkMa.LxGQzWGY"
      これは、暗号化されたパスワードで、実際にログインする場合は、別の文字列となります。※ちなみに、このパスワードの生パスは、「takehiro」です(笑)

    3. ユーザーID。"189"
      ユーザー番号です。

    4. グループID。"100"
      グループ番号です。

    5. 本名。"Hiroki TAKEDA"
      このレコードには、本名の他、個人の情報を記載します。個々のデータはカンマによって区切られます。

    6. ホームディレクトリ。"/home/take"
      ユーザーが使うディレクトリを指定します。ホームディレクトリは、ここに記載されたディレクトリを含む下層をしようする事ができます。最初にログインした時の位置がこれです。

    7. ログインシェル。"/bin/csh"
      ログインした時に実行されるシェルを指定します。別の実行ファイルを指定することも可能です。この欄が空の場合、/bin/shが起動されます(つまりシェル)。


     また、あまり見たことはありませんが、パスワードの有効期限の指定「password aging」がされている場合があります。この有効期限は、暗号化されたパスワードエントリの後に','で区切ることで記載されています。

    例)OkMa.LxGQzWGY,C.34

     この場合、agingデータは、「C.34」です。各データの内容は以下の通り。

    1. パスワードの更新無しで使用できる週の最大数

    2. 次回更新までの最低所要週間数

    3. 前回更新履歴(1970年より第何週目か)

    4.        〃          


     各agingデータキャラクタと数字の対応表は以下の通り。

    キャラクタ 数字
    .(ピリオド) 0
    /(スラッシュ) 1
    0〜9 2〜11
    A〜Z 12〜37
    a〜z 38〜63



  4. shadowパスワードとは何か?

     従来のパスワードファイルは、誰でも読める属性がつけられています。ということは、誰にでも暗号化パスワードに辞書攻撃を仕掛けることができるわけです。何故このような仕様になっていたかというと、UNIXのシステムが考えられた昔には、これほど高性能名コンピュータが出回っておらず、1秒間に1万回ものアタックが可能になる時代が来るとは思っても見なかったからです。
     これを防衛しなければ、重大なセキュリティホールとなってしまう為に考え出された方法が、パスワードをshadow化するという方法です。この場合、誰でも読めるパスワードファイル(/etc/passwd)には暗号化されたパスワードを書かずに特別なトークン(*やxなど)で埋めておいて、暗号化されたパスワードをshadowとして管理者しか読めないような属性をつけて別々に格納するようになってます。パスワード解析を行うには管理者権限を得なければならない為、このシステムはかなり安全だと言えます。



  5. shadowパスワードを読むには?

     一部のLinuxでは、2重ログイン後、片方で/bin/loginを起動し、適当なIDとパスワードを打って、login incorrectの状態にしておき、もう一方で、loginプロセスをkillするとcore dumpし、出力されたcoreの中からshadowパスワードを得ることができます。



  6. NIS/YPとは何か?

     NISとは、ネットワーク情報システムの略で、YPとは、イエローページの略であり、広い意味でどちらも同じものを指します。

     ネットワーク上でホストマシンの数が増えるとhostsファイルやpasswdファイルなどをホスト間で同期をとりながら管理するのが難しくなる。例えばユーザが一人増えてパスワードファイルに登録するとき、そのユーザが使う全てのホストの/etc/passwdに登録する必要がある。

     NISはこのようなネットワーク環境においてファイルの内容の更新を一元管理し分散環境でのネットワーク管理をしやすくするためのユーティリティである。NISはもともとYP(Yellow Pages)と呼ばれていた。しかしYPという言葉が英国のBritish Telecommunicationsの登録商標になっているため最近ではNISと呼ばれるようになった。

     NISを使っているかどうかは、そのサーバのパスワードファイルの最後のエントリを見てみればわかる。もし、最後に「+::0:0:::」というエントリがあれば、NISが稼動している。

     NISが稼動している場合、パスワードファイルはYPサーバが持っています。パスワードファイルを得るには、NISユーティリティであるypcat(マップ内の全データを表示する)を使用します。コマンドラインより、「ypcat passwd」とタイプすればOKです。同様にhostsファイルを得るには「ypcat hosts」とタイプします。




  7. Crypto/DESとは何か?

     cryptoとは、暗号という意味で、encryptoが暗号化を表します。UNIXでcryptoといえば、通常DES暗号を指します。

     DES(data encryption standard)は、アメリカ商務省標準局(NBS)が1977年に定めたデータ暗号標準で、FIPS PUB 46として発行された。政府内の、機密ではないが、取り扱い注意のコンピュータデータの暗号化が目的である。しかし、一般商用にも推奨している。DESは、64ビット入力を64ビット出力に変えるブロック暗号である。鍵も64ビット長だが、そのうちの8ビットはパリティに使われているので、実質56ビットである。UNIXのパスワードを暗号化しているのも、このDESで、得られた鍵を使って、空白(0x2020202020)を暗号化することで作成される。

     DESは、64ビット入力に対して、一定の初期置換IPをほどこしたあと、左右32ビットずつに分けて、同一構造の変換を16回ほどこす。第n番目の同一構造の変換のデータ系列入力を(Ln-1,Rn-1)、鍵系列入力をKnとすると、出力(Ln,Rn)は、

      Ln=Rn-1
      Rn=Ln-1+f(Rn-1,Kn)

    で与えられる。ここで、+はビットごとの排他的論理和(XOR)をしめす。また、f(R,K)は、48ビットのKに依存して32ビットのRを変換し、32ビットを出力する非線形関数である。

     16回の変換のあと、左右32ビットを入れ替え、初期置換の逆置換IP-1をほどこした結果が暗号文64ビットである。

     鍵入力64ビットに対して、選択的転置PC−1でパリティ8ビットを除去してビット入れ替えをおこなったあと、左右28ビットずつのブロック(C0,D0)に分ける。これらのブロックはおのおの左巡回シフト(LS)を16回受ける。

     各シフトのあとに、両ブロックを合わせた58ビット(Cn,Dn)から選択的転置PC−2により48ビットが選ばれ、かつビット入れ替えをうけて、前記関数fの入力の一つKnになる。これらが16回繰り返される。16回の左巡回シフトの合計シフト量は28となるように決められているので、(C16,D16)は最初の(C0,D0)に等しい。

     選択的転置PC−1はたとえば、入力の第57番目のビットが第1番目に出力され、入力の第49番目のビットが第2番目に出力される。表の上4行がC0に、下4行がD0となる。この表に8の倍数がないのは、それらはパリティなので使われないからである。

     選択的転置PC−2は入力の9,18,22,25,35,38,43,54番目の各ビットは用いられない。すなわち、入力56ビットに対して、出力は48ビットの縮約型転置である。

     暗号化過程で用いられている非線形な関数f(R,K)は32ビットRと48ビットKに対して、32ビットを出力する。まず、32ビットRを、拡大型転置Eにより48ビットに拡大する。これにKの48ビットをビットごとにXORする。この結果の48ビットを6ビットずつに分けて、8個のSボックスに入力する。各Sボックスは6ビット入力に対して、4ビットを出力する。最後に全Sボックスからの32ビットに対して、転置Pでビットの入れ替えをおこなってf(R,K)をえる。選択的転置Eは、32ビット入力に対して48ビットを出力する。転置Pは32ビットを入れ替える。表の見方は今までと同じである。

     Sボックスの具体的な変換は、入力6ビットに対して、第1番目と第6番目のビットを2進数とみなした数字でSボックス表の行を指定する。ただし、行番号は順次0,1,2,3とする。次に入力6ビットの残り4ビットをやはり2進数とみなした数字で今指定した行の列番号を指定する。ただし、列番号は左から順次、0,1,2,…,15とする。このようにして指定された行と列の交点の数字を2進数表現した4ビットを出力する。

     DESの中で、非線形な部分はSボックスのみである。したがって、Sボックスは強度上きわめて重要である。Sボックスの決定には非線形の条件だけでなく、相関性、ブール最簡表現項数を始め、多くの条件が考慮されている。

     DESの中で、鍵から鍵系列K1,K2,…,K16をつくる部分、Sボックス、転置Pは規定というよりも推奨案としての例にすぎない。FIPS PUB 46にも付録に記載されている。これらは暗号強度に対する影響が大きいため、使用者が責任をもって定めるべき、という認識に基づいている。しかし、実際には推奨案通り使っている人がほとんどである。

     鍵となるSボックスの値は以下の通り。何故このような値を取っているのかは謎とされていて、噂ではアリメカ政府が簡単に解読出来るようなバックドアが仕掛けられているといわれている。

    static	char	S[8][64] = {
    	{ 14, 4,13, 1, 2,15,11, 8, 3,10, 6,12, 5, 9, 0, 7,
    	   0,15, 7, 4,14, 2,13, 1,10, 6,12,11, 9, 5, 3, 8,
    	   4, 1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0,
    	  15,12, 8, 2, 4, 9, 1, 7, 5,11, 3,14,10, 0, 6,13 },
    
    	{ 15, 1, 8,14, 6,11, 3, 4, 9, 7, 2,13,12, 0, 5,10,
    	   3,13, 4, 7,15, 2, 8,14,12, 0, 1,10, 6, 9,11, 5,
    	   0,14, 7,11,10, 4,13, 1, 5, 8,12, 6, 9, 3, 2,15,
    	  13, 8,10, 1, 3,15, 4, 2,11, 6, 7,12, 0, 5,14, 9 },
    
    	{ 10, 0, 9,14, 6, 3,15, 5, 1,13,12, 7,11, 4, 2, 8,
    	  13, 7, 0, 9, 3, 4, 6,10, 2, 8, 5,14,12,11,15, 1,
    	  13, 6, 4, 9, 8,15, 3, 0,11, 1, 2,12, 5,10,14, 7,
    	   1,10,13, 0, 6, 9, 8, 7, 4,15,14, 3,11, 5, 2,12 },
    
    	{  7,13,14, 3, 0, 6, 9,10, 1, 2, 8, 5,11,12, 4,15,
    	  13, 8,11, 5, 6,15, 0, 3, 4, 7, 2,12, 1,10,14, 9,
    	  10, 6, 9, 0,12,11, 7,13,15, 1, 3,14, 5, 2, 8, 4,
    	   3,15, 0, 6,10, 1,13, 8, 9, 4, 5,11,12, 7, 2,14 },
    
    	{  2,12, 4, 1, 7,10,11, 6, 8, 5, 3,15,13, 0,14, 9,
    	  14,11, 2,12, 4, 7,13, 1, 5, 0,15,10, 3, 9, 8, 6,
    	   4, 2, 1,11,10,13, 7, 8,15, 9,12, 5, 6, 3, 0,14,
    	  11, 8,12, 7, 1,14, 2,13, 6,15, 0, 9,10, 4, 5, 3 },
    
    	{ 12, 1,10,15, 9, 2, 6, 8, 0,13, 3, 4,14, 7, 5,11,
    	  10,15, 4, 2, 7,12, 9, 5, 6, 1,13,14, 0,11, 3, 8,
    	   9,14,15, 5, 2, 8,12, 3, 7, 0, 4,10, 1,13,11, 6,
    	   4, 3, 2,12, 9, 5,15,10,11,14, 1, 7, 6, 0, 8,13 },
    
    	{  4,11, 2,14,15, 0, 8,13, 3,12, 9, 7, 5,10, 6, 1,
    	  13, 0,11, 7, 4, 9, 1,10,14, 3, 5,12, 2,15, 8, 6,
    	   1, 4,11,13,12, 3, 7,14,10,15, 6, 8, 0, 5, 9, 2,
    	   6,11,13, 8, 1, 4,10, 7, 9, 5, 0,15,14, 2, 3,12 },
    
    	{ 13, 2, 8, 4, 6,15,11, 1,10, 9, 3,14, 5, 0,12, 7,
    	   1,15,13, 8,10, 3, 7, 4,12, 5, 6,11, 0,14, 9, 2,
    	   7,11, 4, 1, 9,12,14, 2, 0, 6,10,13,15, 3, 5, 8,
    	   2, 1,14, 7, 4,10, 8,13,15,12, 9, 0, 3, 5, 6,11 }
    	};
    



  8. 高速DESルーチンのテクニックにはどのようなものがあるか?

     一番いいのは、「john the ripper」のソースコードを見ることだ。johnのソースコードは1992年に発表されたUltra Fast Crypt(UFC)がベースとなっているように見えるが、UNIXパスワードのクラックに焦点をおいている点で違っている。

     詳しくは、後程。

    N o w  L o a d i n g . .



  9. どのようにパスワードをクラックするか?

     暗号化されたパスワードデータは、今の所、逆算することができない一方向暗号です。よって、任意の文字列を同じように暗号化し、パスワードフィールドの文字列と比べることによってパスワードを解析する攻撃が行われます。通常、パスワードに使われそうな文字列を辞書化して使用する為に辞書攻撃とも呼ばれます。この攻撃では、ランダムな生パスワードを解析するのは殆ど不可能です。

     現在の最強のパスワードクラッキングツールは、「John the Ripper」です。32bitアプリケーションで、最新のパソコンで1秒間に1万回ものアタックを行うことができ、また、パスワードの推測アルゴリズムの巧妙さには目をみはるものがあります(Ex.先頭を大文字にする、本名の頭を繋ぎあわせる、最後に数字をつける、などなど)。本体及びソースコードは、オフィシャルページよりダウンロードしてください。日本語訳したマニュアルは、ここからダウンロードできます。

     蛇足ですが、メンバーがオールアセンブラで最適なコードを書き、1秒間に3万回のアタックを行うアプリケーションを開発していましたが、諸事情もあり、開発は現在ストップしています(苦笑)




  10. 辞書とはなにか?

     アングラで辞書といえば、前述のパスワードクラックツールなどの辞書のことです。など、というのは、UNIXのパスワードのほかに、パスのかったWebサイトや、zipのパスクラックなどでも使うことができる為です。中身は文字列を並べただけですが、外人が作った辞書は、量がハンパじゃなく凄いです。テキストファイルで2,3Mはザラです。外人作の日本辞書は、アからンまでで作れる文字列をズラズラと並べているだけなので、あまり効率的ではなく、質もよくないです。日本製のパスワードファイルに辞書攻撃するのであれば、日本人が作った辞書を使用しましょう。ちなみに私はオリジナル辞書に下記の辞書をマージして使っています。

    [日本製の辞書]

    ・KOWさん作の男の名前辞書、女の名前辞書、地名辞書、有名人辞書、エロ辞書

    ・jdaemonさん作の辞書(いろいろマージしているらしいです。)

    ・オタク辞書、コンピュータ辞書、パソコン関連辞書


     よく当たるのが、女の名前、エロ辞書、有名人辞書などです。また、これらの辞書と平行して、語尾に"chan"や"kun"をつけるなどのルールをつけると更にヒット率があがるということです。一昔前は、"キムタク"とか"アムラー"がよくヒットしていました。そういえば知り合いに、「もし、"シノラー"がヒットしたら、オレはハッカーを引退する」って言ってたcrypt専門のハッカーが居ましたが、彼は今ごろどうしているのでしょうか(笑) 姿を消したってことは、ヒットしたのかな(笑)



  11. どのように偽造メールを送る事が出来るか?

     N o w  L o a d i n g . .



  12. どのようにネットニュースに匿名ポストするか?

     N o w  L o a d i n g . .



  13. インターネットからの電話はどのようにするか?

     N o w  L o a d i n g . .



  14. 各ポートにはどのような意味があるか?

     N o w  L o a d i n g . .



  15. トロイの木馬(Trojan House)とは何か?

     N o w  L o a d i n g . .



  16. ワーム(Worm)とは何か?

     N o w  L o a d i n g . .



  17. ロジック爆弾(Logic bomb)とは何か?

     N o w  L o a d i n g . .



  18. バックドアとはなにか?

     侵入者が一度制圧したサーバに再びログインする時に、容易に侵入できるような技術の事をバックドアと呼ぶ。例えば、シェルが使えないISPで自分だけのシェルを作り出したり、ログインするといきなり管理者権限が使える様になるなど、ありとあらゆるサービスに対して仕掛ける事が出来る。

     ほとんどの侵入者のためのバックドアには、2 ないし 3 つの主要な機能がある。

     管理者が、例えばすべてのパスワードを変えてマシンの安全をはかろうとしても、マシンに戻ることができる。

    最小量の可視性でマシンに戻ることができる。ほとんどのバックドアに登録されるのを回避する方法があり、多くの場合、マシンは侵入者が使用している時でさえ、誰もアクセスしていないように見える。

     最小限の時間でマシンに戻ることができる。ほとんどの侵入者はアクセスするための侵入口を作る作業をせずに、難なくマシンに戻りたがっている。

     以下がよく使われるバックドアの種類である。内容についてはここでは説明しない。なぜならこの文章は不特定多数の為に書かれたものではないからだ。英文ならば至る所に落ちているからそれを読んで欲しい。

    1. パスワードをクラッキングするバックドア

    2. Rhosts + + バックドア

    3. チェックサムおよびタイムスタンプバックドア

    4. ログインバックドア

    5. Telnetd バックドア

    6. サービスバックドア

    7. Cronjob バックドア

    8. ライブラリバックドア

    9. カーネルバックドア

    10. ファイルシステムバックドア

    11. ブートブロックバックドア

    12. コード化されたリンク

    13. ICMPシェルバックドア

    14. UDP シェルバックドア

    15. TCP シェルバックドア

    16. ネットワークトラフィックバックドア


     バックドアを仕掛けるポイントもテクニックも無数にある。最も単純な方法としては、ルートキットを使うというのがある。これならばシステムに対する知識がなくても容易にバックドアを仕掛けることが出来る。方法は書かないので自分で調べるように。

     対策側は、侵入者を発見した場合、まずは全てのファイルが書きかえられてないかどうか調べる必要がある。だが、侵入者がハイレベルなスキルの持ち主であれば、チェックを迂回するテクニックをいくつも持っている為、この方法は役に立たない。カーネルまで書き換えられてしまえば、まず痕跡を見つけ出すのは不可能だからだ。こうなった場合、CD−ROMからブートさせて、全てを再インストールし直すことをお勧めする。バックアップデータにバックドアが仕掛けられている事も十分考えられるからである。



  19. ローカルホスト(Localhost)とはなにか?

     N o w  L o a d i n g . .



  20. ルート(root)とはなにか?

     普通、rootといえばrootアカウント(UID:0)を指します。よく管理者アカウントと言われますが、元の意味を考えるとこの解釈は少し間違っていて、実際にはUNIX自身が持つ最高権限アカウントの事です。管理者をそれを利用しているに過ぎませんし、管理者はrootでログインしたり、必要以上にrootアカウントを使うべきではありません。

     rootの権限を一旦持てば、どんな事も可能になります。ユーザー登録をしたり、システムの設定をしたりなど。侵入者に最も狙われやすいのがroot権限といえます。侵入者は足跡の痕跡を消し、システムをごまかせるように、まず狙ってくるからです。



  21. スニッファ(Sniffer)とはなにか?

     N o w  L o a d i n g . .



  22. どのように足跡を消すか?

     N o w  L o a d i n g . .



  23. 巧妙に隠されたディレクトリへのアクセス方法とは?

     N o w  L o a d i n g . .



  24. DoS攻撃とはどのようなものか?

     N o w  L o a d i n g . .



  25. どうすればUNIXがクラッシュするか?

     N o w  L o a d i n g . .



  26. どのようにユーザーを調べるか?

     N o w  L o a d i n g . .



  27. サーバから得ることの出来る情報にはどのようなものがあるか?

     N o w  L o a d i n g . .



  28. OSによる認証/ログインプロンプト/Welcomeメッセージの違いとは?

     N o w  L o a d i n g . .



  29. 特殊ファイルにはどのようなものがあるか?

     N o w  L o a d i n g . .



  30. anonumous ftpの利用方法とは?

     N o w  L o a d i n g . .



  31. どのようにroot権限を得るか?

     N o w  L o a d i n g . .



  32. root権限を得る事が出来なかった場合の措置

     もし、root権限を得る事が出来なければ、当然ログに足跡が残ってしまう。更に厄介な事に、ログインした直後のメッセージとしてラストログインとしてあなたのアドレスが表示される事になり、かなりマズい。そのユーザーが同じISPを使っていない限り明らかに怪しいと思うからだ。

     この場合は、もう一度そのマシンにログインし、すぐにログアウトする事だ。例えば、"telnet 127.0.0.1 23"とタイプし、そのユーザーのID、パスワードをタイプする。こうする事によって足跡は消せないが、ライトログインの少なくともリモートホストのアドレスだけは誤魔化せた事になる。ここがlocalhostとなっていた時、疑問に思う人は少ないからだ。



  33. プロセス名の偽造を行うには?

     もし、sitehackなどというプログラムをどこかのサーバで走らせていたとしよう。プロセスを調べるコマンド"ps"を使えば、当然その名前が表示される事になり、限りなく怪しい。場合によっては管理者の手で殺される可能性も出てくるだろう。だが、muleやviなどのプログラムが走っていれば管理者は何とも思わない。そこで、怪しいプログラムを走らせる前に、プロセス名の偽造をした方がよい。

     コマンドラインからの引数の0番目には、プログラム自身の名前が格納されている。当然この値に文字列を代入する事もできる。実際のコードは、

    void
    main( int argc, char *argv[] )
    	{
    	strcpy( argv[ 0 ], "vi" );
    	}
    

    こんな感じでいいだろう。これで"ps"コマンドで調べても表向きはviが走っているようにしか見えないだろう。最も確実な方法は、psコマンド自体にパッチを当てて、特定のプロセスを表示させないようにする事だ。



  34. ファイルアクセスモード

     基本的に、読みだし、書き込み、実行の3つのアクセスが可能なので、ファイルアクセスモードは8進数で表す事が出来る。特定のアクセスモードを得るには8進数でマスクをかければよいということになる。以下は個々のビットの意味と説明と割り当てを表したものだ。

    8進数 意味
    04000 実行時のユーザーIDのセット
    02000 実行時のグループIDのセット
    01000 スティッキー・ビット(*1)
    00400 オーナーによる読み出し
    00200 オーナーによる書き込み
    00100 オーナーによる実行
    00040 グループによる読み出し
    00020 グループによる書き込み
    00010 グループによる実行
    00004 他のユーザーによる読み込み
    00002 他のユーザーによる書き込み
    00001 他のユーザーによる実行

     個々のビットが1(ON)の場合、意味の内容が可能という事になる。例えば、777は、drwxrwxrwxといった具合だ(先頭のdはディレクトリ)。スティッキー・ビットとは、ファイルがリードオンリーなテキスト部を含む実行可能なファイルであった場合、終了してもテキスト部がスワップ領域に残され、次回からは高速で起動できるようになるオプションのようなものだ。このステッキービットは、exploitの中にもちょくちょく出てくるので記憶に留めておくようにして欲しい。



  35. 標準的なUNIXコマンド

     



  36. Special Thanx

     fOx-wiZ, hawkeye, wormhole, soujinin, and ASWM.













- L o c a l S i t e  M e n u -
Index Main menu Infomation
Index(flame) Gest Book Teleport(link)
Hack Crack Phreak
Philez news log
[SIG].N_B_C [SIG].Color-BoXz [SIG].HighSpeed
mail write    Mail to me