TryHackMe Writeup：UltraTech

# 最初に

TryHackMeのUltraTechのWriteupになります！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/c702eb6d-d8bd-6885-11f8-3983ef1beea1.png)


# Task1

マシーンを起動するだけです！


# Task2 It's enumeration time!

偵察していきます～

## Which software is using the port 8081?

まずはnmap！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/f2b47a66-690f-7b75-3684-6280b3a18218.png)

8081番ポートでNode.jsが起動しているのが確認できます！
このポートでHTTPのサービスを提供しているので、さっそくアクセスしてみます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/8f3eac6f-91c7-46ac-0978-9e825783618b.png)



## Which other non-standard port is used?

nmapに`-p 1-65535`のオプションをつけて、全ポートをスキャンします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/562efe90-32d6-319e-5b4c-240005ee4ff7.png)

（処理に時間がかかるので、`-T4`で高速スキャンにしています）

## Which software using this port?

`-T4`の高速スキャンでは情報がほとんどとれないので、31331ポートだけに絞ってnampでスキャンしていきます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/52a190bc-0947-0fa0-3e9e-d7bb9840dcb1.png)

このポートもHTTPを提供していたのですね～
Task3で詳細に見ていきます！



## Which GNU/Linux distribution seems to be used?

31331ポートのnmapスキャンの結果に記載されていました！



## The software using the port 8081 is a REST api, how many of its routes are used by the web application?



8081番ポートにdirbで隠しディレクトリを探していきます
2つあるみたいです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/56125d60-ce86-4042-87d9-fb19486ad8ae.png)

`/auth`ではログイン名とパスワードを特定するように記載されています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/1fa4dedf-c27a-daee-b6ab-f7b692506858.png)

`/ping`に関してはErrorと思われる画面が、、、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/c581c603-bd82-6586-ce7f-1c270b31333c.png)


WebアプリケーションやWebAPIのルートは、提供されている機能への入り口・アクセス先を表すので、今回は上記2つがルートに対応します




# Task3




## There is a database lying around, what is its filename?

どこかにdatabaseファイルがあるとのことですね

まだちゃんと見れていなかった31331番ポートにdirbしてみます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/e7aea35c-b3f6-6551-f602-aedc2f477ddf.png)


いろいろコードをみていたのですが、Hintから`/ping`のAPIが関連していそうだったので、`/js/api.js`を見てみます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/29692bc1-aa5b-c2ec-5634-57e0d2291ad2.png)


そうすると`/ping`にはipのパラメータを指定する必要がある、かつ、パラメータに渡すIPアドレスはコマンドを実行して取得していることがわかりました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/0b388dfe-3b3f-6db0-633b-4d709be60cea.png)


`/ping?ip='ls'`を実行すると、きれいにデータベースファイルが笑
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/9f59d0ad-aade-0660-5a28-a84748d44069.png)


## What is the first user's password hash?



![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/e1e659cf-af2f-28b1-9e47-95c0b444242f.png)

```
ping: ) ���(Mr00tf357a0c52799563c7c7b76c1e7543a32)Madmin0d0ea5111e3c1def594c1684e3b9be84: Parameter string not correctly encoded 
```


## What is the password associated with this hash?




Clack Stationでクラックしてみると、パスワードが見つかりました！
（ユーザー名とパスワードが連結されているので、わかりにくいですね。。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/ba06eb3a-3717-3e09-ebca-9600ce6710c5.png)

# Task4

最後は権限昇格です！


## What are the first 9 characters of the root user's private SSH key?


Task3の最後に分かったパスワードをつかってSSH接続します
（ユーザー名はr00tです。Mは文字化けがでてきているだけみたいです。。。）

権限昇格しないとさすがに秘密鍵は見れないですね、、、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/920f9a4f-82d8-e435-6fd0-7cf7d3cbe330.png)


ここで、いきづまってしまったので、Writeupをみました、、、

https://sckull.github.io/posts/ultratech/


このユーザーは`docker`グループに所属しているみたい
確かにdockerコマンドが使えます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/e66388c0-da51-337f-9bed-1865360821b2.png)



GTFOBinsを参照に特権をとっていきます

https://gtfobins.github.io/gtfobins/docker/

ただ、そのまま使うとalphinがないといわれてエラーがでます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/304a2be1-7deb-50b9-61ec-e311ff0b96b3.png)

現在動いているプロセスで使われているイメージを確認したところ、`bash`になっていました
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/844ef994-d7b3-9933-22da-b88be88f04f1.png)


`alphin`のところを`bash`に変更して再度チャレンジするとRootで入れました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/24bd8242-cf94-77cd-a07f-939058b22e7a.png)

あとは秘密鍵を出力するだけです！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/dbc14bf4-be6d-48b5-2fef-cbb107e4b7ae.png)


# 最後に

今回学んだことは以下2つです！
- SSH接続したときは、以下を確認する
    - `whoami`
    - `pwd`
    - `groups`
- `$`があればコマンド実行のチャンス！


# メモ

## FTP接続してみた


FTPは`anonymous`ではアクセスできないみたい。。。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/a3fc123a-cacf-325f-2cda-3fc222a2c442.png)




## `dirb`の実行結果


```bash
┌──(root㉿kali)-[~]
└─# dirb http://10.10.84.89:31331

-----------------
DIRB v2.22    
By The Dark Raver
-----------------

START_TIME: Fri Oct 18 08:39:00 2024
URL_BASE: http://10.10.84.89:31331/
WORDLIST_FILES: /usr/share/dirb/wordlists/common.txt

-----------------

GENERATED WORDS: 4612                                                          

---- Scanning URL: http://10.10.84.89:31331/ ----
==> DIRECTORY: http://10.10.84.89:31331/css/                                                                       
+ http://10.10.84.89:31331/favicon.ico (CODE:200|SIZE:15086)                                                       
==> DIRECTORY: http://10.10.84.89:31331/images/                                                                    
+ http://10.10.84.89:31331/index.html (CODE:200|SIZE:6092)                                                         
==> DIRECTORY: http://10.10.84.89:31331/javascript/                                                                
==> DIRECTORY: http://10.10.84.89:31331/js/                                                                        
+ http://10.10.84.89:31331/robots.txt (CODE:200|SIZE:53)                                                           
+ http://10.10.84.89:31331/server-status (CODE:403|SIZE:302)                                                       
                                                                                                                   
---- Entering directory: http://10.10.84.89:31331/css/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                                                                   
---- Entering directory: http://10.10.84.89:31331/images/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                                                                   
---- Entering directory: http://10.10.84.89:31331/javascript/ ----
==> DIRECTORY: http://10.10.84.89:31331/javascript/jquery/                                                         
                                                                                                                   
---- Entering directory: http://10.10.84.89:31331/js/ ----
(!) WARNING: Directory IS LISTABLE. No need to scan it.                        
    (Use mode '-w' if you want to scan it anyway)
                                                                                                                   
---- Entering directory: http://10.10.84.89:31331/javascript/jquery/ ----
+ http://10.10.84.89:31331/javascript/jquery/jquery (CODE:200|SIZE:268026)                                         
                                                                                                                   
-----------------
END_TIME: Fri Oct 18 09:52:20 2024
DOWNLOADED: 13836 - FOUND: 5
```

## 31331ポートのディレクトリの確認


`/css`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/6d948767-3ca2-5193-99ad-b13f83b8eb65.png)

`/images`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/6c73a20c-684a-3e87-47c2-242879a822a7.png)


`/javascript/jquery/jquery`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2152468/b0d3a958-614f-ecf6-047f-8fe40a2c7cbd.png)