MNCTF2021 writeup

# MNCTF 2021　writeup
MNCTF2021のwriteupです．
http://mnctf.info/

注意
ctf4bしか参加したことが無い学生が書いているので，間違ったことを書いてしまうことがあります．
指摘してください．また，MNCTFの運営の方より，出題されたファイル等は公開してよいと言われております．

それでは書いていきます．

Wifiユーザ情報
------------------------
Webインターフェースで送信された接続情報を読み取ります．

与えられた情報はpcapファイルです．
とりあえず，wiresharkで開いて，HTTP通信を探して，パスワードを送っていそうな通信を探します．
パスワードを送るのは多分POSTメソッドだろうなって思って探して，見つけました．
![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554581/3c2e3400-0dc7-e858-0ed3-20ff47d2fbbe.png)
そのあと，HTTPリクエストボディを見てみるとパスワードが書いてありました．
![2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554581/70f342c2-225e-50f0-aba2-76a471e0e2a2.png)


チケット番号
--------------
チケット番号の部分にぼかしが入った画像からチケット番号を読み取る課題
![ticket.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554581/24c12903-c8b5-f93b-d721-7e46bbdc39d0.png)

まじで目が痛くなりそうでした．SmartDeblurを使って，パラメータを調整（smartDeblurが安全かどうかは不明，AVでスキャンしたら警告出ないからいいやってことで使いました）

![7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554581/59f0c66e-7e69-9ead-e393-90eb932795d0.png)
パラメータを上みたいな状態にしたところ，以下の画像が得られました．
![8.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554581/402d77a6-2033-0b7c-59c4-4c0854117f86.png)

読み取りにくいところは0～9まで試してフラグゲット！

(解説によるとPDF417のバーコードをデコードする問題だったらしいです．あと，うまくやればスマホのバーコードリーダーで読めるらしいです）

ラウンジクーポン
---------------------
Androidアプリが配布されてきて，このアプリの中からクーポンコードを探す問題

まずはAndroid Studioに同梱されたAndroid Emulatorにインストールして起動
![Screenshot_1625207386.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554581/98426479-5134-e82d-f494-23337746ccb2.png)
![Screenshot_1625207391.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554581/61e5f108-095d-0d55-5923-d5bdfdcb34c2.png)

アプリをapktool でデコードしました

https://ibotpeaches.github.io/Apktool/

「USE COUPON」って書かれてる部分を見つける
grepで拾う

以下のファイルがヒットした
`res/layout/fragment_second.xml`

```xml
<?xml version="1.0" encoding="UTF-8"?>

-<androidx.constraintlayout.widget.ConstraintLayout xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent">


-<LinearLayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="vertical">

<TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@id/textview_second"/>

<TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@id/textView2" android:text="Coupon Code"/>

<EditText android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@id/editTextTextPersonName" android:inputType="textPersonName" android:ems="10"/>

<Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@id/buttonCoupon" android:text="Use Coupon"/>

<Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@id/button_second" android:text="@string/previous"/>

<TextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@id/txtMessage"/>

</LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>
```
先ほどのスクリーンショットと比較すると，"@id/editTextTextPersonName"という名前でアクセスできるようです．この文字列で探すことを考える．
どうせsmaliだろうって思って探す．
`smali/com/shinosec/loungecheckin/SecondFragment$2.smali`を野生の勘で見つけ出した．

```
.line 46
    .local v1, "password":Ljava/lang/String;
    const-string v2, "ILOVENAFIRSTCLASS9432"
```
意味深な文字列見つけた！
フラグゲット！
（最初のxmlは最終的に使ってないけど，がんばったから書きました）
（解説によるとjavadecompilers.comにapk投稿するといけるらしい
）

謎の男
------
解けませんでした...


IPアドレス特定
------
FWのログを見て，87.113.49.99と通信しているIPアドレスを見つける問題

87.113.49.99を検索したら，横に192.168.108.21って書いてあったのでこれを入力したらフラグゲット

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554581/8b25a490-1eee-e303-2928-219e523df94d.png)


MACアドレス
----------------
DHCPサーバのログから，MACアドレスを特定する問題

2件見つかったので通信のあった7月1日8:15の直前にIPアドレスを取っている 54:0b:20:1b:ce:a2が答え
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/554581/2d56883e-c3ed-5df8-5d93-ecbdc54de7f1.png)

不正なプロセス&発動条件
------------
時間切れ...

# まとめ
たのしかったです。MNCTFの皆様，学生を受け入れてくださり，ありがとうございました．ほんとうに勉強になりました！
問題サーバは公開されるらしいです．