Malware

Malware

36 ratings
マルウェア トゥルーエンド解説
By shima
トゥルーエンドおよび実績「Salute」獲得のための日本語ガイドです。
3
2
   
Award
Favorite
Favorited
Unfavorite
はじめに
このガイドの作成にあたり、Shu氏作成の韓国語ガイドを参考にさせて頂きました。また、ここでの紹介も快く許可してくださいました。ありがとうございます!
https://cs2bus.com/sharedfiles/filedetails/?id=3302690565
もしこの日本語ガイドが役に立ったなら、上のガイドへのSteamアワード授与などを検討して頂ければ嬉しいです!
!これより下は重大なネタバレを含みます!






































長くて読みたくない人向け
クリア後にゲームを再起動すると新しいメールが来ます。そのメールの最下部でパスワード"95173"を入力するとトゥルーエンドを見ることができます。
解説
クリア後にゲームを再起動すると、実績「Last door」の解除とともに作者から新たなメールが送られてきます。
一見1通目と変わらないように思えますが、メールの一番下を確認すると何やら異なる点が見つかります。どうやら5桁のパスワードが要求されているようです。このままでは総当たり以外ではどうしようもないので、もう一度メールをよく見てみます。
すると、メールの中央の方に画像のようなメッセージを見つけることができます。




文字をクリックしても何も起こらないので、マルウェアのローカルファイルを確認してみます。
(Steam上で、「ライブラリ」→左のゲーム一覧で「マルウェア」を右クリック→「管理」→「ローカルファイルを閲覧」)
するとclue.jpgが見つかりました。これを開いてみます。




どうやら画像ファイルではなさそうです。fileコマンドを使ってファイルの種類を確認してみましょう。




.7zの圧縮ファイルであることがわかったので、拡張子を変えて展開してみます。展開時に要求されるパスワードは"password"です。
(このパスワードになる理由は不明です、ご存じの方がいましたら教えて頂けると嬉しいです。)

展開すると大量のフォルダが出てくるので、1つ1つ確認します。(Windows PowerShellで ls clue -R コマンドを使うとちょっと楽です。)

するとclue/7/3にhello.htmlというファイルが見つかります。ブラウザで開いてもめぼしい情報はなさそうなので、テキストエディタで開いてみましょう。




上部に怪しい文字列がありますね。最後に「==」が付いていることからbase64でエンコードされた文字列だと推測できます。「base64 変換ツール」で検索して適当なサイトで変換すると、"folder:299d12d88e0e99c1"という文字列を得ることができます。

この名前でPC内のフォルダを検索してみると、C:\ProgramData\.bc7e3b6e381b7026 内に同名のフォルダが見つかります。

中には「readme.exe」と「runme.txt」が入っています。readme.exeを起動するとパスワードが求められ先に進めないため、逆コンパイルによりreadme.exeを解析してみます。すると"iamnottom"という文字列が見つかります。これがパスワードのようです。




再度readme.exeを起動してパスワードを入力すると、文字列が出力されます。
PRIVATE KEYと書いてあることから、RSA暗号の秘密鍵と推測できます。(ちなみに、逆コンパイルを行わずともテキストエディタでreadme.exeを開くことでこの文字列を入手できます)




runme.txtの中身を適当なRSA暗号解読ツールを使ってデコードして、文字列"b4e9ab2f61cbfda4"を得ます。




https://www.cmd5.org を使ってmd5からアンハッシュします。




95173という5桁の数字を得ました。ゲームに戻ってこの数字を入力すると実績「Salute」を獲得しトゥルーエンドを見ることができます!
3 Comments
beni9 25 Jan @ 5:09am 
とても丁寧な記事で分かりやすかったです。ありがとうございます!
にたじーじいさん 3 Jan @ 1:29am 
全く詳しくない分野なので助かりました。
こういったハッキング的な分野に精通している人たちはどうやって学んでいるのでしょうか?:jorji:
yama 12 Aug, 2024 @ 8:48pm 
こりゃあ、良記事や……


> .7zの圧縮ファイルであることがわかったので、拡張子を変えて展開してみます。展開時に要求されるパスワードは"password"です。

おそらく、あえてのノーヒントなのかなと思います。
想定解法はパスワード解析ツールによるディクショナリアタックを仕掛けることかなと……
脆弱なパスワードのリストを使用すれば「password」はすぐ割り出せそうです。
私はWSL2上に構築したKaliLinuxにて、hashcatを使用して解析しました。


> 展開すると大量のフォルダが出てくるので、1つ1つ確認します。

ちなみに7-Zipを使用すると、展開前の状態でもサイズが見えるのでピンポイントで探して展開できたりします。