TryHackMe Psycho Break CTF Writeup

PwnLab.Me

Admin
Katılım
21 Ocak 2024
Mesajlar
202
Tepkime puanı
9
Puanları
18
Okan Köse tarafından yazılmıştır.

[TR] TryHackMe – Psycho Break CTF Writeup​


Merhaba arkadaşlar, TryHackMe de bulunan Psycho Break CTF yapalım.

CTF’e buradan ulaşabilirsiniz.

https://tryhackme.com/room/psychobreak

Desktop da CTF için bir dizin ve onun içine de Nmap dizini oluşturalım.

nmap
nmap

Hadi Başlayalım !

Task 1 –> Recon

Recon
Recon

Nmap Taraması:

nmap –sC –sV –p- -O –oN nmap/psychobreak 10.10.172.97


nmap taraması
nmap taraması

Açık 3 bağlantı noktamız bulunmakta.

21/ ftp- ProFTPD 1.3.5a

22/ ssh- OpenSSH 7.2p2

80/ http- Apache httpd 2.4.18

İşletim Sistemi – Ubuntu Linux



1.1.Soru: Deploy the machine


Cevap: Gerek Yok

1.2.Soru: How many ports are open?


Cevap: 3

1.3.Soru: What is the operating system that runs on the target machine?

Cevap: ubuntu


Task 2 –> Web

web
web

http://10.10.172.97 adresine gidelim.

All Begins From Here
All Begins From Here

Sayfanın kaynak kodunu görüntüleyelim.

Kaynak Kod
Kaynak Kod

Kaynak kodunda belirtilmiş bir dizin var.


Room
Room

Anahtarı almak için butona tıklayalım.

Key
Key

2.1.Soru: Key to the looker room


Cevap: XXXXXXXXXXXXXX

Key
’i aldığıma göre /lockerRoom’a gitmek için keyi girelim.

Locker Room
Locker Room

http://10.10.172.97/lockerRoom/ adresine geliyoruz.

lockerRomm
lockerRoom

Burada bir hash görüyoruz. Onu kırdıktan sonra belirtildiği gibi bir sonraki gideceğimiz adres için anahtar verecek.

Bu arada sayfanın kaynak koduna da bir bakalım.

lockerRoom Kaynak Kod
lockerRoom Kaynak Kod

Buraya gidip hash’i analiz edelim.

https://www.boxentriq.com/code-breaking/cipher-identifier

cipher-identifier
cipher-identifier
cipher-identifier
cipher-identifier

Hash tipini öğrendik şimdi onu kırmak için CyberChef e gidelim.

https://gchq.github.io/CyberChef/

CyberChef
CyberChef

Ve ikinci sorunun cevabı karşımızda.

2.2.Soru: Key to access the map


Cevap: XXXXXXXXXXXXX

Yeni adresi gitmek için bağlantıyı tıklayalım.

map.php

map.php


Az önce aldığımız keyi girip devam edelim. Bu sayfada ki ilk iki bağlantıyı kontrol etmiştik şimdi kalan ikisine bakalım.

map.php

map.php



http://10.10.172.97/SafeHeaven/
adresine gidelim.

Safe Heaven

Safe Heaven

Sayfanın kaynak kodunu kontrol edelim.

Safe Heaven

Safe Heaven

Yeni anahtarı bulmaya yönlendirecek bir şey aramamız söylenircesine bir ipucumuz bulunmakta. Gobuster’ı çalıştıralım ve altdizinlere bakalım.

GO Buster:

gobuster dir –u http://10.10.172.97/SafeHeaven -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt


gobuster

gobuster

Güzel /keper adında bir dizin bulduk. Bu dizine gidelim.


keeper

keeper

Sayfanın kaynak kodunu inceleyelim.

keeper

keeper

Escape keper tıklayarak devam edelim.

Escape keper

Escape keper

Ve yine kaynak kodunu kontrol edelim.

Escape keper

Escape keper

Biraz tuhaf. Buradaki yoruma bakılırsa resmi kaydedip Google’a yüklememiz gerekiyor.

inghp

inghp

Google’ye gelip kamera düğmesine tıklayın, görsel yükleyin’e gelip az önce indirdiğimiz görseli seçelim.

inghp

inghp

Google resmi terine çevirdi ve ihtiyacımız olan bilgiyi verdi.

inghp

inghp

Şimdi içeri girelim.

Keeper Key

Keeper Key

Niceee!

2.3.Soru: The Keeper Key


Cevap: XXXXXXXXXX

Son adresi de kontrol etmek için Map.php sayfasına geri dönelim ve son dizine gidelim.

http://10.10.172.97/abandoneRoom/ adresine yönlendirdi.

abandoneRoom/

abandoneRoom/
  1. sorunun cevabı olan anahtarı girelim ve devam edelim.
abandoneRoom/

abandoneRoom/

http://10.10.172.97/AbonneedRoom adresine yönlendirdi.

AbonneedRoom

AbonneedRoom

Butona tıklayıp devam edelim.

Go Futher

Go Futher

Amaç Laura’dan kaçmak !!!!

Laura

Laura

Sayfanın kaynak koduna bakalım.

Laura

Laura

Burada Shell adı verilen bir şey var ve buradan çıkmamıza yardımcı olacak. Aslında Shell bizim için bir parametre. Sayfamız da command injection zafiyeti olduğunu anlıyoruz. Parametreyi kullanarak URL’de bazı komutları çalıştıralım.

?shell=ls yazıp dizindeki dosyaları listeleyelim.

shell

shell

Şimdi de ?shell=ls+.. yapalım.

shell

shell

2 hash ve index.php dosyası görüyoruz.

İlk hash’i URL’e girelim ve devam edelim.

http://10.10.172.97/AboneedRomm/1.Hash

AboneedRomm

AboneedRomm

Helpme.zip ve txt dosyası var.

  1. sorunun cevabını da böylelikle bulmuş oluyoruz. Cevap txt dosyasının ismi.

2.4.Soru: What is the filename of the text file (without the file extension)


Cevap: XXXXXXXXXXXX

Task 3 –> Help Mee

Help Mee

Help Mee

İndirdiğimiz zip dosyasını açalım.

unzip

unzip

2 dosya çıktı onları inceleyelim.

unzip

unzip

Burada ilk sorumuzun cevabını buluyoruz.

3.1.Soru: Who is locked up in the cell?


Cevap: Joseph

Table.jpg dosyası aslında zip iken jpg olarak yeniden adlandırılmış. Onu .zip olarak yeniden adlandıralım.

file

file

Yine 2 dosya ile karşılaştık. Bunları file komutu ile inceleyelim.

file

file

1 — Joseph_Oda.jpg

Joseph_Oda.jpg

Joseph_Oda.jpg

2 — key.wav

Dosyadaki anahtarı almak için aşağıdaki bağlantıya gidelim.

https://morsecode.world/international/decoder/audio-decoder-adaptive.html

.wav dosyasını yükleyelim ve play tuşuna basalım.

morsecode.world/international/decoder/audio-decoder-adaptive.html

morsecode.world/international/decoder/audio-decoder-adaptive.html

3.2.Soru: There is something weird with the .wav file. What does it say?


Cevap: SHOWME

Jpg
dosyasını steghide kullanarak içindeki bilgileri çıkartalım.

steghide

steghide

Thankyou.txt’nin içine bakalım.

User: joseph

Password: intotheterror445

3.3.Soru: What is the FTP Username


Cevap: Joseph

3.4.Soru: What is the FTP User Password


Cevap: intotheterror445

Task 4 –> Crack it open

Crack it open

Crack it open

Ftp kimlik bilgilerini kullanalım.

Ftp

Ftp

Dosyaları get komutu kollanarak ana makineye aktaralım.

get

get
./program

./program

Program dosyasını çalıştırdığımızda izne ihtiyacımız var o yüzden chmod +x program komutunu kullanalım.

./program

./program

Aşağıdaki komutu kullanalım.

./program

./program

Ve bir hash aldık.

./program

./program

Hash kodunu çözmek için bağlantıya tıklayalım.

https://keypad-translator.glitch.me/

keypad-translator.glitch.me/

keypad-translator.glitch.me/

İşte cevaplarımızı da bulduk.

4.1.Soru: The key used by the program


Cevap: kidmen

4.2.Soru: What do the crazy long numbers mean when there decrypted.


Cevap: XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Task 5 –> Go Capture The Flag

Go Capture The Flag

Go Capture The Flag

Önceki hash dan elde ettiğimiz bilgilerle ssh’a giriş yapalım.

ssh

ssh

İlk flag’ı bulalım.

flag

flag

5.1.Soru: user.txt


Cevap: XXXXXXXXXXXXXXXXXX

Sıradaki ve sonuncusu root flag. Süper kullanıcı izinlerine sahip tüm ikili dosyaları inceleyelim.

user.txt

user.txt

Çalışması planlanan betikleri bulmak için crontab’a bakalım.

crontab

crontab

Her iki dakikada bir root olarak çalışması planlanan bir betik bulduk.

root

root

Betiği değiştirelim.

root

root
nano

nano
root

root

Ve son flag’ı alalım.

root flag

root flag

5.2.Soru: root.txt


Cevap : XXXXXXXXXXXXXXXXXX

5.3.Soru: [Bonus] Defeat Ruvik


Cevap: Gerek Yok
 
Moderatör tarafında düzenlendi:
Geri
Üst