LoginSignup
0
0

HackTheBox Writeup:Debugging Interface

Posted at

はじめに

本記事はHackTheBoxのWriteupです。

ChallengesのDebugging Interface、DifficultiesはVery Easyです。

このChallengeでは、Hardwareのプロトコルを解析するための方法について学ぶことができます。

Debugging Interface

はじめにファイルをダウンロードします。

表層解析

ダウンロードしたDebugging Interface.zipファイルを調査するにあたって、zipファイルを展開します。

unzipコマンドでファイルを展開すると、見慣れない拡張子を持つdebugging_interface_signal.salファイルが確認できます。

Archive:  Debugging Interface.zip
[Debugging Interface.zip] debugging_interface_signal.sal password: 
  inflating: debugging_interface_signal.sal 

debugging_interface_signal.salファイルに対して、fileコマンドを実行した結果は以下の通りです。

debugging_interface_signal.sal: Zip archive data, at least v2.0 to extract, compression method=deflate

fileコマンドの実行結果を踏まえて、binwalkコマンドを実行して中身を確認します。

$ binwalk -e debugging_interface_signal.sal

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             Zip archive data, at least v2.0 to extract, name: digital-0.bin
5390          0x150E          Zip archive data, at least v2.0 to extract, name: meta.json
9675          0x25CB          End of Zip archive, footer length: 22

展開された_debugging_interface_signal.sal.extracted/ディレクトリ配下を確認すると以下のファイルが抽出できました。それぞれ確認します。

合計 64
-rw-r--r-- 1 kali kali  9697  4月  9 20:11 0.zip
-rw-r--r-- 1 kali kali 22090  3月 23  2021 digital-0.bin
-rw-r--r-- 1 kali kali 27810  3月 23  2021 meta.json

digital-0.binファイルは、バイナリファイルになるため、stringsコマンドで中身を確認すると以下の様な文字列が複数確認できます。

<SALEAE>
ffffff
~L@Y
L@LALALAL@LALAY
LAL@LAL@Y
LALALAL@LALAeDeDLAL@LALALAL@eEL@LALALA@
	LAY
LAL@LA~HLAL@LALAY
L@LAeDLALAeDL@LBL@LAY
LALAY

meta.jsonファイルは、jsonファイルになるため、jqコマンドを組み合わせて実行すると以下の様なデータが確認できました。

{
  "version": 12,
  "data": {
    "renderViewState": {
      "leftEdgeTimeSec": 2.220446049250313E-16,
      "timeSecPerPixel": 0.001978117224489796,
      "analogChannelViewStates": [
        {
          "index": 0,
          "type": "Analog",
          "stripchart": {
            "viewportCenterValue": 2.5,
            "scalePerPixel": 0.0625
          }
        },
        {
          "index": 1,
          "type": "Analog",
          "stripchart": {
            "viewportCenterValue": 2.5,
            "scalePerPixel": 0.0625
          }
        },
        {
          "index": 2,
          "type": "Analog",
          "stripchart": {
            "viewportCenterValue": 2.5,
            "scalePerPixel": 0.0625
          }
        },

SALEAE

Googleでdigital-0.binファイルから確認できた<SALEAE>の単語を検索します。

スクリーンショット 2024-04-09 20.20.05.png

検索結果を踏まえて、一番上に表示されているSaleae Logic Analyzersのサイトにアクセスします。

スクリーンショット 2024-04-09 20.20.13.png

このサイトに載っているLogic 2というアプリケーションは、SPI、I2C、シリアルなどのプロトコルをデコードするためのソフトウェアであることが分かりました。ダウンロードページからダウンロードして、インストールします。

スクリーンショット 2024-04-09 20.53.32.png

Logic 2のアプリケーションを起動後、debugging_interface_signal.salファイルを選択して開きます。

スクリーンショット 2024-04-09 21.12.37.png

以下の様な画面が表示されます。

スクリーンショット 2024-04-09 21.13.02.png

画面上部のグラフを拡大して表示すると、ビットレートが確認できます。また、グラフの上にマウスを乗せると、マイクロ秒の単位として32.02µsの数字が表示されます。

スクリーンショット 2024-04-09 21.21.44.png

Challengeの説明から非同期シリアルであることが分かるため、AnalyzersはAsync Serialを選択して、以下の様にinput ChannelとBit Rate(1000000/32.02 = 31230)をそれぞれ設定します。

スクリーンショット 2024-04-09 21.14.48.png

画面右下にDataが表示されます。

スクリーンショット 2024-04-09 21.24.31.png

平文で読むためには、Terminalボタンを押します。最後のデータを確認すると、フラグが見つかりました。

スクリーンショット 2024-04-09 21.25.18.png

おわりに

新しい発見があった面白いChallengeでした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0