1. まとめトップ

【必見!】ハッカーになるには【ハッキングチャレンジサイト有】

ハッカーになる方法をまとめました。後半にハッキングの練習ができるサイトもあります。

更新日: 2015年03月08日

294 お気に入り 977811 view
お気に入り追加

この記事は私がまとめました

ハッカーとは

ハッカー (hacker) とは主にコンピュータや電気回路一般について常人より深い技術的知識を持ち、その知識を利用して技術的な課題をクリア(なかったことに)する人々のこと。

熟練プログラマやネットワークの天才たちのコミュニティないしは共有文化というものが存在しています。この文化に属する人々が「ハッカー hacker」という言葉をうみだしました。ハッカーたちはインターネットを築きました。あなたがこの文化の一員で、それに貢献し、その文化のほかの人たちがあなたを知っていて、しかもその人たちがあなたをハッカーと呼んでくれるなら、あなたはハッカーです。

資格名としては,CISSP,CISM,CISA,CCSP,CEH,CHFI。お金に余裕があれば、アメリカで短期集中コースで1週間で取得できるものもある。

ハッカーとクラッカー

ハッキングと研究に興味がある人にとっては、(善意と悪意の)ふたつの道がある

知性がなければ、ハッカーとしては絶望です。規律が身に付いていなければ、それを育んでおかないとどうしようもありません。

ハッカーを声高に名乗る別の集団が存在しますが、彼らはハッカーではありません。本物のハッカーはこの連中を「クラッカー(cracker)」と呼び、一切関わりを持ちたくないと思っています。本物のハッカーたちはたいてい、クラッカーは怠惰で無責任であまり賢くないと思っています。

基本的な違いとはすなわち:
ハッカーはものをつくります。クラッカーは壊します。

クラッカーになりたいなら、alt.2600 ニュースグループを読んで、そして自分で思ったほど頭がよくないことがわかったときには、ブタ箱を 5 年や 10 年くらう覚悟をすること。

ハッカーになるための心構え

1. この世界は解決を待っている魅力的な問題でいっぱいだ
ハッカーになるためには自分の技術をみがき、知性を働かす訓練して、問題を解決することにゾクゾクするような喜びを感じるようでなければいけません。

2. 同じ問題を二度解くような無駄はいやだ
 ハッカーらしくふるまうには、他のハッカーたちが考える時間は貴重であると信じなければなりません。それをとことん信じて、情報を共有するのがほとんど道徳的な義務であると思えるようになりましょう。問題を解決し、その解答を提供すれば、他のハッカーたちは古い問題にいつまでも取り組みなおし続けずに、新しい問題を解決できるのです。

3. 退屈と単純作業は悪
ハッカーたち(そして一般的にクリエイティブな人たち)は、退屈したり、くだらない反復作業をいやいやこなしたりする必要はないはずです。

4. 自由は善
ハッカーたちは本来的に反権威主義です。あなたに命令できる人は、何かあなたが興味を持っている問題を解決するのを止めさせてしまえます。
ハッカーらしく行動するためには、検閲や秘密、そして責任ある大人に無理強いするような圧力やごまかしの使用に対し、本能的に敵意を感じるようにしなくてはなりません。そしてこの信念を実行に移す用意が必要なのです。

5. 心構えは技能の代用にはならない
心構えだけでハッカーになれるわけではありません。ハッカーになるには知性、実行力、献身、そして大きな努力が必要です。

ハッキングは形式的な数学や算数はほとんど使いません。具体的には、三角関数だの微積分だの解析だのはふつうは要りません(コンピュータグラフィックスなど一部の限られたアプリケーション分野は例外です)。形式論理やブール代数を多少知っているのはいいことです。有限数学の基礎(有限集合論、組み合わせ数学、グラフ理論)も役に立ちます。

ハッキングの方法

1:ターゲッティング
このターゲッティングとはターゲットとなるサーバーを慎重に選び、そのサーバーの情報を間接的に集めることです。

2:スキャン
スキャンによってターゲットの弱点となるセキュリティホールを探し出します。

3:間接的アタック
インターネット経由でなく直接ターゲットサーバーにアクセスできる場合はこのステップをこなすことで比較的完単に、ユーザー情報、ユーザー権限、ルート権限を得ることができます。

4:ローカルアタック
すでにターゲットサーバーにシェルアカウントを持っている場合、一般ユーザー権限からルート権限を奪取することを目的にします。

5:リモートアタック
リモートアタックからルート権限の奪取を狙います。

6:ログ消去またはログ偽装
あなたが侵入したことはサーバー側のログと呼ばれるファイルに順次、記録されています。このログを消去しなければ、サーバー管理者に追跡される可能性があります。

7:徘徊
すでにルート権限を奪取し、さらにログも消去したのでサーバーはあなたのもの同然だるといえます。

8:タイムスタンプの改竄
システム上の時間情報はシステムロックから生じているシステムロックや作成日時、最終アクセス日時、更新日時の情報が記録されるタイムスタンプやタイムゾーンを変更することができます。

9:バックドア
root権限を奪取したのに、ここまでのステップを毎回繰り返すことは、とても面倒ですので、次回より簡単にroot権限を奪取しやすいようにバックドアを仕込みます。これで次回から簡単に侵入ができ、踏み台にすることもできます。

どんな言語があり、どれを学ぶべきか

低級言語/低水準言語/Low-level programming language

低級言語とは、コンピュータによって扱われる言語のうち、コンピュータが直接解釈して処理できる「機械語」、または機械語に近い構造を持ったプログラミング言語のことである。

高級言語/高水準言語/High-level programming language

高級言語とは、プログラミング言語のうち、より自然語に近く、人間にとって理解しやすい構文や概念を持った言語の総称である。

例えばC、BASIC、PASCAL、JAVA、FORTRAN、COBOL、LISP、PL1、ADAなんていうのはすべてこの高級言語の名前です。更にエクセルやワードのマクロ言語というのも高級言語の一種と考えても差し支えありません。

Ruby

1 2 3