Ccmmutty logo
Commutty IT
7 min read

hack the box ~魔法使いへの道~ (その8) 【Walkthrough】Find The Easy Pass

https://cdn.magicode.io/media/notebox/74b57fbd-8d27-459c-9fd3-da74febea6ee.jpeg

はじめに

セキュリティに興味を持っているエンジニアの方々は多いと思いますが,実際にセキュリティを学ぶためにはどうしたらいいのでしょうか? 本記事では,Hack the Boxというプラットフォームの「Find The Easy Pass」を使って,セキュリティを学ぶための方法をご紹介します.
file

Hack the Boxとは?

Hack the Boxは,CTF(Capture The Flag)スタイルのオンラインプラットフォームです.ここでは,実際のセキュリティの脆弱性を見つけ,解決することができます.ユーザーは,ボックス(仮想マシン)を選択し,解決するために必要な情報を収集することで,ボックス内のシステムに侵入することができます.
Hack the Boxは,ハッキング技術を学ぶために非常に役立つプラットフォームです.セキュリティの専門家やホワイトハッカーになるための第一歩として,ぜひ利用してみてください.

セキュリティを学ぶためのツール

ホワイトハッカーになるためには,様々なツールを学ぶ必要があります.以下では,代表的なツールについて紹介します.

Wine Linux

Wine Linuxは,WindowsアプリケーションをLinux上で動かすことができるツールです.セキュリティの分野では,Windowsアプリケーションの解析が必要な場合があります.その場合,Wine Linuxを使うことで,WindowsアプリケーションをLinux上で動かすことができます.

Ghidra

Ghidraは,NSA(National Security Agency)が開発したリバースエンジニアリングのためのオープンソースツールです.Ghidraを使用することで,バイナリの解析が容易になります.ホワイトハッカーにとって,バイナリの解析は非常に重要なスキルです.Ghidraを使ってバイナリを解析することで,脆弱性の発見やセキュリティの改善につながります.

OllyDbg

OllyDbgは,Windows上で動作するデバッガーです.デバッガーとは,実行中のプログラムを解析することができるツールのことです.OllyDbgを使うことで,実行中のプログラムの解析が容易になります.ホワイトハッカーにとって,デバッガーの使用は非常に重要なスキルです.OllyDbgを使ってプログラムを解析することで,脆弱性の発見やセキュリティの改善につながります.

Wineのダウンロード

今回はKali lixnu上でexeファイルを使用していくためwineを使っていきます.

パッケージの追加

┌──(maki㉿kali)-[~/Downloads]
└─$ sudo dpkg --add-architecture i386
[sudo] maki のパスワード:
                                                                                                                                                                                                                                       
┌──(maki㉿kali)-[~/Downloads]
└─$ sudo apt update -y
取得:1 http://ftp.riken.jp/Linux/kali kali-rolling InRelease [30.6 kB]
取得:2 http://ftp.riken.jp/Linux/kali kali-rolling/main amd64 Packages [18.4 MB]
取得:3 http://ftp.riken.jp/Linux/kali kali-rolling/main i386 Packages [18.2 MB]                                                                                                                                                       
取得:4 http://ftp.riken.jp/Linux/kali kali-rolling/main amd64 Contents (deb) [42.8 MB]       
・・・・

┌──(maki㉿kali)-[~/Downloads]
└─$ sudo apt install -y wine32
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  libdrm-intel1
これを削除するには 'sudo apt autoremove' を利用してください。

wineのインストール

┌──(maki㉿kali)-[~/Downloads]
└─$ wine   
Usage: wine PROGRAM [ARGUMENTS...]   Run the specified program
       wine --help                   Display this help and exit
       wine --version                Output version information and exit

exeファイルを実行してみる

対象のexeファイルをとりあえず実行してみます.そうするとパスワードを入力する画面がでてきます.
file
とりあえず適当なパスワードを入力するとこのような画面がでてきます.
file

ghidra

exeファイルを解析するにあたり「ghidra」を使っていきます.下記コマンドからダウンロードします.
┌──(maki㉿kali)-[~/Downloads/FindTheEasyPass]
└─$ ghidra
Command 'ghidra' not found, but can be installed with:
sudo apt install ghidra
Do you want to install it? (N/y)y
sudo apt install ghidra
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
・・・・
そうしたら下記の手順とおりに解析していきます.

新規プロジェクトの作成

file
file

exeファイルの解析

file file file

文字列の検索

ここで,ポップアップで出てきた「Wrong password」を検索します.
file file
検索結果によると,ここにあるようです.
file

文字列の位置特定

ここから,検索結果の文字列がプログラムのどの辺りにあるのかを探していきます.
file file file file
ここの分岐でFalseの方に進むとさきほどの文字列がでてくることが分かりました.
file

ollydbg

プログラムの解析

先ほどの分岐のアドレスを控えておきます.
file
「ollydbg」で解析していきます.
┌──(maki㉿kali)-[~]
└─$ sudo ollydbg
file
file
分岐のアドレスにブレークポイントを設置します.
file

パスワードの特定

そうしたら,実行ボタンを押して,適当な文字列を入力すると
file
正解の文字列と比較していることが分かりましたので,これがパスワードになります.
file

Discussion

コメントにはログインが必要です。