ホワイトハッカーになるにはRuby言語は絶対にマスターしたい言語です。(私見)
※これは私の個人的な見解です。
貴方がホワイトハッカーになり、脆弱性を見つけるためには必ずコンピュータを使います。
イメージですが、パソコンにKali Linuxをインストールして、登録されている600以上のセキュリティツール(プログラム)を試行錯誤して脆弱性を見つけると私は考えます。
そこで思ったのですが、
ハッキングとは「プログラムのバグ」を見つけて「悪用(エクスプロイト)」することなのですね。
セキュリティツールの使い方を理解するのは、とても大切な事ですが、
プログラム(オペレーティングシステム)の気持ちにならないと脆弱性を見つけるのは難しいのではないでしょうか。
ちょっと話が大きくなりましたね。
結論から言うと「プログラム言語」の理解が必要だということです。
プログラム言語は多数ありますが、私は「Ruby言語」を推奨します。
Ruby言語とは
Ruby言語は、使いやすさと読みやすさに重点を置いて設計されており、初心者にも優しいのが特徴です。
Ruby言語は「オブジェクト指向プログラミング」です。
すこし難しいのでここでは説明を省きますが、重要なワードなので頭のすみに入れておいてくださいね。
Ruby言語の特徴は、プログラムが簡潔に書けるということです。
複雑な処理もシンプルなコードで書けるように設計されており、プログラマーが効率的に開発できるようになっています。
さらに、Ruby言語には「gem」と呼ばれるライブラリが多数存在し、これを利用することで簡単に新しい機能(セキュリティプログラム)を追加できます。(ここが一番のポイントです。)
gemを使えば、他のプログラマーが作成した便利な機能を自分のプログラムに取り入れることもできます。
要するに、Ruby言語はそのシンプルさと柔軟性、そして豊富なライブラリにより、ホワイトハッカーにもお薦めする言語になります。
ホワイトハッカーが、Ruby言語を学ぶメリット
ホワイトハッカーがRuby言語を学ぶことは、セキュリティテストや脆弱性評価において大いに役立ちます。
セキュリティ関連ライブラリのgem
Ruby言語には、セキュリティ関連のライブラリのgem があります。
特に、ペネトレーションテスト用のツールなどが多くあり、これらを活用してセキュリティテストを効率的に行えます。
スクリプト言語としての柔軟性
Ruby言語はスクリプト言語としても優れており、迅速なスクリプト作成や自動化に適しています。ホワイトハッカーは、ペネトレーションテストやセキュリティスキャンの自動化にRuby言語を活用することができます。
※スクリプト言語はプログラムの実行が容易であり、簡潔で書きやすく、開発のスピードを上げるのに適しています。ウェブ開発、システム管理、データ処理など多様な用途に利用されます。
拡張性とカスタマイズ性
Ruby言語はオブジェクト指向プログラミングを基盤にしており、コードの再利用や拡張が容易です。ホワイトハッカーは、自分自身のツールやスクリプトをカスタマイズして、特定のセキュリティテストシナリオに対応させることができます。
ホワイトハッカーはどのようにして、ruby言語を利用しますか
ホワイトハッカーは、Ruby言語のシンプルさと、広範なライブラリサポートにより、セキュリティツールの開発から、さまざまな自動化スクリプトやセキュリティテストに至るまで、効率的に行うことができます。
Metasploitの新しいモジュールを作成する
Metasploitは、セキュリティテストおよびエクスプロイト開発のための強力なオープンソースツールであり、Ruby言語で開発されています。
自分でRuby言語でプログラムを作成してMetasploitで実行すると、以下のような機能を実現できます。
・脆弱性のスキャン
既知の脆弱性をスキャンして特定します。
・エクスプロイトの実行
特定の脆弱性に対するエクスプロイトコードを実行します。
・ポストエクスプロイト
標的システムに対してさらなる調査や操作を行います。
自動化とスクリプト作成
Ruby言語のシンプルで読みやすい構文を利用して、さまざまな自動化スクリプトやツールを作成することができます。
これには、ウェブスクレイピング、ネットワークスキャン、自動エクスプロイトスクリプトなどが含まれます。
windows環境でのruby言語のインストール方法について
WindowsでRuby言語をインストールします。
1.RubyInstaller公式のダウンロードサイトにアクセスします。
2.RubyInstallerをダウンロードします。
“rubyinstaller-devkit-3.2.4-1-x64.exe“をダウンロードしました。
※注意
現状、最新は"rubyinstaller-devkit-3.3.4-1-x64.exe"なんですが、最新をインストールすると
エラーが表示されました。無理やりインストールは可能ですが、とりあえず気持ちが悪いので前のバージョンをインストールすることにします。
3.インストールします。
“rubyinstaller-devkit-3.2.4-1-x64.exe“をダブルクリックします。
4.「Select install mode」画面が表示されるので、"→ Install for me only(recommended)"を選択します。
※この画面が表示されない場合は、無視してください。
5.「Ruby 3-2-4-1-x64 License Agreement」画面で「I accept the License」にチェックを入れて、「Next」ボタンを押下します。
6.「Installation Destination and Optional Tasks」画面で、「Install」ボタンを押下してください。
7.「Select Components」画面で、
☑Ruby RI and HTML documentation
☑MSYS2 development toolchain 2024-04-25
上部のチェックを確認して、
「Next」ボタンを押下します。
8.インストール中です。
9.Rubyのインストールが完了しました。「Finsh」ボタンで終了してください。
10.Windowsのコマンドプロンプト画面が表示されます。
「Ruby Installer2 for windows」とあります。
「どのコンポーネントをインストールしますか? 不明な場合はENTERを押してください [1,3]」
“1,3"と入力して、「Enter」ボタンを押下します。
11.処理が完了したら、「Enter」ボタンを押下して終了します。
12.正しく、Rubyがインストールされたか確認してみましょう。
画面左下の検索窓に"command"を入力します。
そして、「コマンドプロンプト」をクリックします。
13.コマンドプロンプト画面で、"ruby -v"を入力して「Enter」ボタンを押下します。Rubyのバージョンが表示されれば、インストール完了です。
VSCodeでRubyの開発環境を作成する
Visual Studio Codeダウンロードしてインストールします。
Visual Studio Codeとは、 Rudyのブログラムを書くためのエディターです。
Rudyのプログラムを作成するときに手助けや、プログラム作成時のデバックなどを行ってくれます。
1.Visual Studio Codeインストーラーのを公式ページからダウンロードします。
より、「Visual Studio Codeをダウンロードする」ボタンを押下します。
2.Windowsのボタンを押下してインストーラーをダウンロードします。
※VSCodeUserSetup-x64-1.91.1.exeをダウンロードしました。
Visual Studio Codeのインストール
1.ダウンロードフォルダーにダウンロードされたインストーラー
VSCodeUserSetup-x64-1.91.1.exe
をダブルクリックします。
2.「使用許諾契約書の同意」画面より「同意する」にチェックを入れて「次へ」ボタンを押下します。
3.「インストール先の指定」画面で、「次へ」ボタンを押下します。
4.「スタートメニューフォルダーの指定」画面で「次へ」ボタンを押下します。
5.追加タスクの選択で、デフォルトで選択している状態で「次へ」ボタンを押下します。
6.「インストール準備完了」画面で「インストール」ボタンを押下します。
7.Visual Studio Codeインストール完了です。「完了」ボタンを押下して終了します。
8.「Visual Studio Code」画面が立ち上がりました。
9.「Visual Studio Code」の画面より「拡張機能」のボタンを押下します。
10.左上部の検索窓に"japan"と入力してください。
すると「Japanese Language Pack for Visual Studio Code」が検索結果に表示されるので、「Install」ボタンを押下して、日本語化してください。
※インストールが完了後、「Visual Studio Code」を再起動してください。
11.再起動して「Visual Studio Code」が立ち上がりました。
Visual Studio Codeを利用してRubyの動作確認
1.プログラムを格納するフォルダーを事前に作成しておきます。
今回は、Cドライブ直下に「ruby001」のフォルダーを作成しました。
2.「フォルダーを開く」ボタンを押下します。
3.先ほど作成した「ruby001」を指定して、「追加」ボタンを押下します。
4.「このフォルダー内のファイルの作成者を信頼しますか?」と聞いてくるので「はい」ボタンを押下します。
5.「ruby001」が表示されました。
6.メニューより、「ターミナル」から「新しいターミナル」を選択します。
7.画面右下のターミナルでRubyが実行できるか確認します。
ターミナルに"ruby -v"を入力して「Enter」キーを押します。
Rubyのバージョンが表示されれば、デバックが出来る環境になりました。
8.簡単なRubyのプログラムを作成します。
「新しいファイル…」をクリックします。
9.ファイル名の入力画面が表示されるので、"test.rb"と入力して「新しいファイル(test.rb)の作成 ビルトイン」をクリックします。(Rubyのファイルなので、拡張子に"rb"を付けます)
10.ファイルの作成画面が表示されるので、「ファイルの作成」ボタンを押下します。
11.「test.rb」ファイルのエディター画面が開きました。
12.お決まりのプログラムを書いて実行しましょう。
puts “Hello Ruby World!" です。
13.作成したファイルを保存します。
メニューから「ファイル」から「保存」を選択します。
または、「Ctrl」+「S」でも保存できます。
これで、ファイルの保存が完了しました。
14.作成したプログラムを実行します。
ターミナルで"ruby test.rb"と入力して「Enter」キーを押下します。
15.ターミナルに実行結果が表示されました。
ruby言語を理解するには
書籍をご紹介します。参考にしてくださいね。
・3ステップでしっかり学ぶ Ruby入門
初めてRubyのプログラミングを学習する方に、文法の基本からプログラミングのポイントが分かりやすく解説されています。
・プロを目指す人のためのRuby入門[改訂2版] 言語仕様からテスト駆動開発・デバッグ技法まで
豊富なサンプルコードで文法を学び、例題でプログラミングの流れを体験できます。
ホワイトハッカーになるにはRuby言語は絶対にマスターしたい言語です。(私見)のまとめ
いかがでしたか?
ホワイトハッカーを目指している方が、プログラム言語を選択するときの参考になれば幸いです。
私は、「Metasploitの新しいモジュールを作成する」に心をひかれました。
自分でRuby言語で脆弱性のスキャンプログラムを作成してMetasploitで実行することにより、脆弱性をみつけられたら最高!!と考えます。