
ELFバイナリのエクスプロイト入門。
Rainfallは、Snow Crashよりも少し複雑なISOチャレンジです。リバースエンジニアリングを深く掘り下げ、コードを再構築する方法を学び、障害を検出するためにコードを理解する必要があります。最後のレベルに到達できるでしょうか?
Rainfallは42のサイバーセキュリティ部門のプロジェクトで、Snow Crashに続くものです。その目的は、ELF形式のファイルをC実行可能ファイルとして悪用することです。
各レベルのパスワードを取得するために、さまざまなテクニックを使用する必要があります。
アセンブリ言語(x86およびx86-64)とGDBに関する十分な知識が必要です。逆アセンブルされたC実行可能ファイルを理解するためです。
このプロジェクトは2025年3月に125/100のスコアで検証されました。
このプロジェクトを開始するには、まず42が提供するISOをダウンロードしてインストールする必要があります。
次に、そのISOを使用して仮想マシンをセットアップします。VirtualBoxを使用する場合は、ネットワークタブの接続方法設定をホストオンリーアダプターに設定する必要があります。
最初のレベルにはsshで接続できます。IPアドレスはVMのホーム画面に表示されており、ポートは4242です。最初のレベルの認証情報は、ユーザー名とパスワードの両方がlevel0です。
ssh [email protected] -p 4242
ログインしたら、次のレベルのユーザーアカウントの.passファイルを読む方法を見つける必要があります。これは各ユーザーのホームディレクトリにあります。
level0@RainFall:~$ ./level0 $(exploit)
$ cat /home/user/level1/.pass
?????????????????????
$ exit
level0@RainFall:~$ su level1
Password:
level1@RainFall:~$ _