ハッキングをする方法

もともと、「古き良き時代」のハッキングとは、システムや情報技術の秘密を漏らす程度の行為でしたが、近年では、一部の悪者のせいで、ハッキングは悪意のある攻撃といった意味を持つようになりました。しかし、ハッカーを雇って、システムの強度や脆弱性をテストしている企業も少なくありません。こうしたハッカーは止めるべきところを知っていて、そうして得た信用で高い報酬を得ています。この技術を学ぶ用意ができているのなら、ハッキングを始めるためのアドバイスをいくつか紹介しましょう。

パート1(全2パート):ハッキングの準備をする

  1. 1
    プログラミング言語を学びましょう。特定のプログラミング言語に縛られる必要はありませんが、いくつかの指針があります。プログラミング言語を習得するには時間がかかるので、辛抱強く取り組む必要があります。
    • C言語やC++言語は、LinuxやWindowsの基礎となった言語です。アセンブリ言語と同じように、「メモリがどのようなものか」というハッキングにおいてとても重要なことを学べます。
    • PythonやRubyは高度で強力なスクリプト言語であり、様々な仕事を自動化させることができます。
    • Perlもこの分野における選択肢の一つです。PHPは、多くのウェブアプリケーションがPHPを用いているため、学ぶ価値があります。
    • Bashスクリプティングは必須です。Bashスクリプトを書くことで、UnixやLinuxのシステムを簡単に操作することができ、仕事のほとんどを任せられます。
    • アセンブリ言語も必須です。プロセッサーが理解する基本的な言語であり、様々な種類があります。アセンブリ言語を知らないと、プログラムの脆弱性を真に利用することができません。
  2. 2
    標的について知りましょう。標的の情報を集める過程を「エニュメレーション」と言います。予備知識が多ければ多いほど、想定外の出来事が少なくて済みます。
    広告

パート2(全2パート):ハッキングをする

  1. 1
    Unix系のコマンドを使いましょう。Cygwin(英語)は、Windowsを使っている人がUnix系の環境を利用するのに役立ちます。特にNmap(英語)は、Windowsで動作するのにWinPCap(英語)を用いており、Cygwinは必要ではありません。しかしNmapは、rawソケットが少ないためWindowsではあまりうまく動作しません。より柔軟な、LinuxやBSDを使うことも考えましょう。ほとんどのLinuxディストリビューションは、役に立つツールが既にインストールされています。
    • Windows 10 Fall Creators Update以降であれば、代わりとして、WindowsストアでUnix系のターミナルを探しましょう。Windows Subsystem for Linuxのおかげで、WindowsはLinuxコマンドラインの環境を作り出すことができます。
  2. 2
    まずは機械(パソコン)の安全を確認しましょう。自分自身を守るための一般的なテクニックを十分に理解しているかを確認しましょう。基礎的なことから始めましょう。そして、自分が標的を攻撃する権限を持っているかを確認しましょう。自分のネットワークを攻撃するか、書面による許可をもらうか、仮想の機械を備えた実験室を立ち上げるなどしましょう。コンテンツの内容に関わらず、システムを攻撃することは違法であり、問題に巻き込まれることになります。
  3. 3
    標的をテストしましょう。遠隔のシステムに到達することができますか?ping(ほとんどのオペレーティングシステムにある)を使って標的が作動中であるかどうかを確認することができますが、結果がいつも信用できるとは限りません。pingはICMPプロトコルに依存するため、システム管理者が神経質だとすぐに止められることがあるからです。
  4. 4
    OSを決めましょう。ポートスキャンを実施して、その際はpOfやnmapを試しましょう。これにより、開放されているポート、OS、そしてどんな種類のファイヤーウォールやルーターを使っているかが分かり、どのような行動をすればいいか計画を立てることができます。-O switchを用いることで、nmapでOS検出機能を動作させることができます。
  5. 5
    システムの開放されたポートや筋道を探しましょう。FTPの21番ポートやHTTPの80番ポートなどの一般的なポートは、しばしば厳重に防御されていて、まだ未発見の脆弱性攻撃しか弱点はないかもしれません。
    • 忘れられているかもしれないTCPやUDPのポートを試しましょう。例えば、Telnetや、LANゲームのために開けっ放しになった様々なUDPポートなどです。
    • 22番ポートが開放されていれば、SSH(セキュアシェル)が動作していることの証ですが、ブルート・フォース攻撃(パスワードの総当たり攻撃)で開けることもできます。
  6. 6
    パスワードや認証プロセスをこじ開けましょう。ブルート・フォース攻撃など、パスワードをこじ開ける方法はいくつかあります。パスワードを総当たりするブルート・フォース攻撃とは、専用のソフトウェアにある所定の辞書を使って、可能性のあるパスワードをすべて試してみるというものです。
    • ユーザーは強いパスワードを用いることを推奨されているので、ブルート・フォース攻撃には時間がかかるかもしれません。しかし、この攻撃法は大きく進歩しています。
    • ほとんどのハッシュ関数は弱いもので、こうした弱みをつくことでパスワードをこじ開けるスピードは格段に上がります(例えば、MD5関数を4分の1にすることで、スピードを格段に上げることができます)。
    • 最新の技術では、別のプロセッサーとしてビデオカードを用いており、何千倍も速度が上がります。
    • 最速の方法として、レインボーテーブルを用いることもできます。パスワードをこじ開ける技術は、パスワードのハッシュを持っている場合に限り有効であることに気をつけましょう。
    • 遠隔の機械にログインしている時に、可能性のあるパスワードをすべて試すのは避けましょう。なぜなら、侵入検知システムにすぐに検知され、システムログが汚され、遂行するのに何年もかかってしまうからです。
    • ルート化されたタブレットを手に入れて、TCPスキャンをインストールし、安全なサイトにアップロードするための信号を得るということもできます。そうすると、IPアドレスが開き、あなたのプロキシにパスワードが現れます。
    • 大抵の場合、パスワードをこじ開けるよりも、別の方法でシステムに入る方が簡単です。
  7. 7
    スーパーユーザーの権限を得ましょう。Unix系の機械を標的にする場合はルート化の権限を手に入れ、Windowsのシステムを標的にする場合は管理者の権限を手に入れましょう。
    • 最大の関心事である情報のほとんどは防御されているため、それを手に入れるには一定の認証を得る必要があります。コンピュータのすべてのファイルを見るには、スーパーユーザーの権限、つまり、LinuxやBSDのルートユーザーと同じ権限を持つユーザーアカウントが必要です。
    • スーパーユーザーは、ルーターでは(変更がされていない限り)既定の管理者アカウントであり、Windowsでは管理者アカウントとなります。
    • コネクションの一つにアクセスできるからといって、すべてにアクセスできるわけではありません。これができるのは、スーパーユーザー、管理者アカウント、ルートアカウントだけです。
  8. 8
    様々な仕掛けを用いましょう。スーパーユーザーになるためには、しばしば「バッファオーバーフロー」を作るなどの戦術を用いなければなりません。「バッファオーバーフロー」はメモリに誤作動を起こさせてコードを注入し、普通の権限よりも高いレベルで仕事をできるようにするものです。
    • この誤作動は、Unix系のシステムの場合はsetuidビットがセットされているときに発生します。発生すると、プログラムは別のユーザー(例えば、スーパーユーザー)として実行されます。
    • 実行可能で安全でないプログラムを書く、あるいは見つけることによってしか、これを行うことはできません。
  9. 9
    裏口を作りましょう。システムを完全に支配できたら、再度侵入できるようにしておきましょう。これは、SSHサーバーのような重要なシステムサービスに「裏口」を作ることによって可能です。ただし、裏口を作っても、次のシステムアップグレードまでに取り除かれるかもしれません。経験豊富なハッカーは、コンパイラそのものに裏口を作るため、コンパイルされたソフトウェアならどれも裏口になり得ます。
  10. 10
    足跡を隠しましょう。管理者にシステムが感染していることを知られないようにしましょう。ウェブサイト(あれば)には変更を加えず、必要以上のファイルを作らないようにしましょう。また、追加のユーザーを作ってはいけません。できるだけ素早く行動しましょう。SSHDのようなサーバーにパッチを当てた場合、ハードコーディングされた秘密のパスワードがあることを確認しましょう。誰かがこのパスワードでログインしようとした場合、サーバーはこれを受け入れるはずですが、重要な情報は保持していないはずです。
    広告

ポイント

  • あなたが専門家やプロのハッカーでない限り、その技術を有名企業や政府のシステムに対して用いれば、トラブルの原因となります。システム防御を仕事としていて、あなたよりも知識も経験も豊富な人がたくさんいることを心に留めましょう。こうしたセキュリティー対策の担当者は、一度侵入者を見つけると、そのまま犯罪行為を行うまで監視し、その後法的措置をとることもあります。それはつまり、あなたがシステムをハッキングして自由にアクセスできると思ったら実は監視されていて、いつでも止められる状態にあったということです。
  • ハッカーはインターネットやLinuxを作って、オープンソースソフトウェアに取り組んでいる人たちです。ハッキングは尊敬に値する仕事で、現実世界で本格的に行うには多くの専門的知識が必要だと考えましょう。
  • 標的側があなたを追い出すために全力を尽くしていない場合は、あなたは成長しないということを心に留めましょう。もちろん、調子に乗ったり、自分は最高であるなどと考えてはいけません。自分が成長し続けることを目標にしましょう。新しいことを学ばなかった日はどれも無駄な日です。自分だけが頼りです。どんな犠牲を払ってでも一番になりましょう。中途半端はいけません。自分を最大限に引き出すのです。ヨーダが言うように、「やるか、やらないかだ。やってみる、などない」です。
  • 合法で安全に練習できる環境をみんなが利用できることは素晴らしいことですが、法に触れる可能性のある行動をしない限り、平凡なハッカーにすらなれないという悲しい事実があります。実際に捕まるリスクを伴う、現実のシステムにある問題に直面しない限り、ハッカーはまったく成長しません。それを心に留めておきましょう。
  • ハッキングは、人のパソコンに侵入することでもなく、高額の報酬をもらう仕事でもなく、攻撃プログラムを闇市場で売ることでもなく、安全な機械を感染させる手伝いをすることでもない、ということを覚えておきましょう。ハッカーは管理者の仕事を助けるためにいるわけではありません。トップになることが目的です。
  • TCP/IPネットワーキングについての本を読みましょう。
  • ハッカーとクラッカーとの間には大きな違いがあります。クラッカーは悪意のある動機(金儲けのためなど)によって行動するのに対し、ハッカー(ホワイトハッカー)は情報を引き出し、探索(セキュリティーを回避)することによって知識を得ます。時には違法な方法で、どんな犠牲を払ってでも行います。
  • 自分のパソコンをハッキングすることから実践してみましょう。
広告

注意事項

  • 他人のシステムをハッキングすることは法に触れる可能性があるので、ハッキングをしようとするシステムに許可をもらうか、捕まってでも行う価値があると確信している場合を除き、行なってはいけません。
  • 自分の技術に自信がないのなら、企業や政府、軍などのネットワークに侵入してはいけません。システムが脆弱だったとしても、彼らは大金を費やしてあなたを追跡し、破滅させることもできるでしょう。ネットワークに欠陥を見つけた時は、より経験が豊富で信頼できるハッカーに任せて、そのシステムを上手く活用するのがよいでしょう。
  • 興味本位でハッキングを行ってはいけません。ネットワークにハッキングすることはゲームではなく、世界を変える力を持つものだということを覚えておきましょう。せっかくの技術を子供じみた行動で無駄にしてはいけません。
  • この記事の情報を誤って用いると、地域レベルや国家レベルの犯罪になる可能性があります。この記事はあくまで情報を提供するものであって、倫理的で合法的な目的で用いられるべきものです。
  • 真逆のことを聞いたことがあるかもしれませんが、他人がプログラムやシステムにパッチを当てるのを手伝ってはいけません。これは大変まずいことで、多くの場合、ハッカーのコミュニティから追放されることになります。そして、誰かが見つけた攻撃プログラムを開放すると、その人物はあなたの敵になるかもしれません。おそらく、この人物はあなたよりも優秀なハッカーでしょう。
  • セキュリティ管理において明らかな欠陥や雑な間違いを見つけたと思ったら、十分に注意しましょう。システム防御のプロフェッショナルがあなたを騙そうとしているか、 ハニーポット(罠)を仕掛けているのかもしれません。
  • ログファイルをすべて削除しないようにしましょう。その代わり、ファイルから悪意のあるエントリーだけを取り除きましょう。もう一つの問題は、バックアップのログファイルがあるかということです。相手が違いを見比べて、あなたが消去したものを見つけ出すかもしれません。常に注意深く行動しましょう。最善の方法は、自分の分も含めた、ログのランダムな行を消去することです。
広告

必要なもの

  • インターネットに接続した(動作の速い)パソコン
  • プロキシ(任意的)
  • IPスキャナ

このwikiHow記事について

wikiHowは「ウィキ」サイトの一つであり、記事の多くは複数の著者によって共著されています。 この記事は、匿名の筆者を含む474人が執筆・推敲を行い、時間をかけて編集されました。
他言語版

この記事は役に立ちましたか?

はい
いいえ
広告